Function at 0x4704d4
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, eax
mov esi, 0x4db908
push 0x4decd4
call sub.kernel32.dll_EnterCriticalSection_1
xor eax, eax
push ebp
push 0x470ed6
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x4db90c], 0
jne 0x470ecc
push 0x470f04
call sub.kernel32.dll_LoadLibraryA
mov dword [esi], eax
cmp dword [esi], 0
je 0x470ec2
mov dword [0x4db90c], 2
push 0x470f0c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db838], eax
cmp dword [0x4db838], 0
jne 0x47054a
mov dword [0x4db90c], 1
push 0x470f20
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db83c], eax
cmp dword [0x4db83c], 0
jne 0x47056f
mov dword [0x4db90c], 1
push 0x470f30
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db840], eax
cmp dword [0x4db840], 0
jne 0x470594
mov dword [0x4db90c], 1
push 0x470f40
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db844], eax
cmp dword [0x4db844], 0
jne 0x4705b9
mov dword [0x4db90c], 1
push 0x470f50
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db848], eax
cmp dword [0x4db848], 0
jne 0x4705de
mov dword [0x4db90c], 1
push 0x470f64
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db84c], eax
cmp dword [0x4db84c], 0
jne 0x470603
mov dword [0x4db90c], 1
push 0x470f78
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db850], eax
cmp dword [0x4db850], 0
jne 0x470628
mov dword [0x4db90c], 1
push 0x470f88
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db854], eax
cmp dword [0x4db854], 0
jne 0x47064d
mov dword [0x4db90c], 1
push 0x470fa4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db858], eax
cmp dword [0x4db858], 0
jne 0x470672
mov dword [0x4db90c], 1
push 0x470fbc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db85c], eax
cmp dword [0x4db85c], 0
jne 0x470697
mov dword [0x4db90c], 1
push 0x470fdc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db860], eax
cmp dword [0x4db860], 0
jne 0x4706bc
mov dword [0x4db90c], 1
push 0x470ff8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db864], eax
cmp dword [0x4db864], 0
jne 0x4706e1
mov dword [0x4db90c], 1
push 0x47100c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db868], eax
cmp dword [0x4db868], 0
jne 0x470706
mov dword [0x4db90c], 1
push 0x471020
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db86c], eax
cmp dword [0x4db86c], 0
jne 0x47072b
mov dword [0x4db90c], 1
push 0x47103c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db870], eax
cmp dword [0x4db870], 0
jne 0x470750
mov dword [0x4db90c], 1
push 0x471050
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db874], eax
cmp dword [0x4db874], 0
jne 0x470775
mov dword [0x4db90c], 1
push 0x471064
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db878], eax
cmp dword [0x4db878], 0
jne 0x47079a
mov dword [0x4db90c], 1
push 0x471078
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db87c], eax
cmp dword [0x4db87c], 0
jne 0x4707bf
mov dword [0x4db90c], 1
push 0x47108c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db880], eax
cmp dword [0x4db880], 0
jne 0x4707e4
mov dword [0x4db90c], 1
push 0x47109c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db884], eax
cmp dword [0x4db884], 0
jne 0x470809
mov dword [0x4db90c], 1
push 0x4710ac
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db888], eax
cmp dword [0x4db888], 0
jne 0x47082e
mov dword [0x4db90c], 1
push 0x4710c0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db88c], eax
cmp dword [0x4db88c], 0
jne 0x470853
mov dword [0x4db90c], 1
push 0x4710d4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db890], eax
cmp dword [0x4db890], 0
jne 0x470878
mov dword [0x4db90c], 1
push 0x4710e8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db894], eax
cmp dword [0x4db894], 0
jne 0x47089d
mov dword [0x4db90c], 1
push 0x4710fc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db898], eax
cmp dword [0x4db898], 0
jne 0x4708c2
mov dword [0x4db90c], 1
push 0x471114
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db89c], eax
cmp dword [0x4db89c], 0
jne 0x4708e7
mov dword [0x4db90c], 1
push 0x47112c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8a0], eax
cmp dword [0x4db8a0], 0
jne 0x47090c
mov dword [0x4db90c], 1
push 0x471144
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8a4], eax
cmp dword [0x4db8a4], 0
jne 0x470931
mov dword [0x4db90c], 1
push 0x47115c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8a8], eax
cmp dword [0x4db8a8], 0
jne 0x470956
mov dword [0x4db90c], 1
push 0x471170
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8ac], eax
cmp dword [0x4db8ac], 0
jne 0x47097b
mov dword [0x4db90c], 1
push 0x471184
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8b0], eax
cmp dword [0x4db8b0], 0
jne 0x4709a0
mov dword [0x4db90c], 1
push 0x4711a0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8b4], eax
cmp dword [0x4db8b4], 0
jne 0x4709c5
mov dword [0x4db90c], 1
push 0x4711bc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8b8], eax
cmp dword [0x4db8b8], 0
jne 0x4709ea
mov dword [0x4db90c], 1
push 0x4711d8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8bc], eax
cmp dword [0x4db8bc], 0
jne 0x470a0f
mov dword [0x4db90c], 1
push 0x4711f4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8c0], eax
cmp dword [0x4db8c0], 0
jne 0x470a34
mov dword [0x4db90c], 1
push 0x471208
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8c4], eax
cmp dword [0x4db8c4], 0
jne 0x470a59
mov dword [0x4db90c], 1
push 0x47121c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8c8], eax
cmp dword [0x4db8c8], 0
jne 0x470a7e
mov dword [0x4db90c], 1
push 0x471234
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8cc], eax
cmp dword [0x4db8cc], 0
jne 0x470aa3
mov dword [0x4db90c], 1
test bl, bl
je 0x470cba
push 0x470f30
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8d0], eax
cmp dword [0x4db8d0], 0
jne 0x470ad0
mov dword [0x4db90c], 1
push 0x470ff8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8d4], eax
cmp dword [0x4db8d4], 0
jne 0x470af5
mov dword [0x4db90c], 1
push 0x47103c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8d8], eax
cmp dword [0x4db8d8], 0
jne 0x470b1a
mov dword [0x4db90c], 1
push 0x471064
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8dc], eax
cmp dword [0x4db8dc], 0
jne 0x470b3f
mov dword [0x4db90c], 1
push 0x47108c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8e0], eax
cmp dword [0x4db8e0], 0
jne 0x470b64
mov dword [0x4db90c], 1
push 0x4710ac
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8e4], eax
cmp dword [0x4db8e4], 0
jne 0x470b89
mov dword [0x4db90c], 1
push 0x4710d4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8e8], eax
cmp dword [0x4db8e8], 0
jne 0x470bae
mov dword [0x4db90c], 1
push 0x4710fc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8ec], eax
cmp dword [0x4db8ec], 0
jne 0x470bd3
mov dword [0x4db90c], 1
push 0x47112c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8f0], eax
cmp dword [0x4db8f0], 0
jne 0x470bf8
mov dword [0x4db90c], 1
push 0x47115c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8f4], eax
cmp dword [0x4db8f4], 0
jne 0x470c1d
mov dword [0x4db90c], 1
push 0x471184
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8f8], eax
cmp dword [0x4db8f8], 0
jne 0x470c42
mov dword [0x4db90c], 1
push 0x4711bc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8fc], eax
cmp dword [0x4db8fc], 0
jne 0x470c67
mov dword [0x4db90c], 1
push 0x4711f4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db900], eax
cmp dword [0x4db900], 0
jne 0x470c8c
mov dword [0x4db90c], 1
push 0x47121c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db904], eax
cmp dword [0x4db904], 0
jne 0x470ecc
mov dword [0x4db90c], 1
jmp 0x470ecc
push 0x470f40
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8d0], eax
cmp dword [0x4db8d0], 0
jne 0x470cdf
mov dword [0x4db90c], 1
push 0x47100c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8d4], eax
cmp dword [0x4db8d4], 0
jne 0x470d04
mov dword [0x4db90c], 1
push 0x471050
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8d8], eax
cmp dword [0x4db8d8], 0
jne 0x470d29
mov dword [0x4db90c], 1
push 0x471078
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8dc], eax
cmp dword [0x4db8dc], 0
jne 0x470d4e
mov dword [0x4db90c], 1
push 0x47109c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8e0], eax
cmp dword [0x4db8e0], 0
jne 0x470d73
mov dword [0x4db90c], 1
push 0x4710c0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8e4], eax
cmp dword [0x4db8e4], 0
jne 0x470d98
mov dword [0x4db90c], 1
push 0x4710e8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8e8], eax
cmp dword [0x4db8e8], 0
jne 0x470dbd
mov dword [0x4db90c], 1
push 0x471114
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8ec], eax
cmp dword [0x4db8ec], 0
jne 0x470de2
mov dword [0x4db90c], 1
push 0x471144
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8f0], eax
cmp dword [0x4db8f0], 0
jne 0x470e07
mov dword [0x4db90c], 1
push 0x471170
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8f4], eax
cmp dword [0x4db8f4], 0
jne 0x470e2c
mov dword [0x4db90c], 1
push 0x4711a0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8f8], eax
cmp dword [0x4db8f8], 0
jne 0x470e51
mov dword [0x4db90c], 1
push 0x4711d8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db8fc], eax
cmp dword [0x4db8fc], 0
jne 0x470e76
mov dword [0x4db90c], 1
push 0x471208
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db900], eax
cmp dword [0x4db900], 0
jne 0x470e9b
mov dword [0x4db90c], 1
push 0x471234
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4db904], eax
cmp dword [0x4db904], 0
jne 0x470ecc
mov dword [0x4db90c], 1
jmp 0x470ecc
mov dword [0x4db90c], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x470eea
push 0x4decd4
call sub.kernel32.dll_LeaveCriticalSection_1
cmp dword [0x4db90c], 2
sete al
pop edi
pop esi
pop ebx
pop ebp
ret