Function at 0x439598
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push esi
mov ebx, 0x48890c
xor esi, esi
cmp byte [0x48662c], 0
je 0x4395b5
inc dword [0x486634]
jmp 0x439804
xor eax, eax
mov dword [0x486630], eax
xor eax, eax
mov dword [ebx], eax
push 0x43980c
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
jne 0x4395e6
push 0x43981c
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x439756
push 0x43982c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488758], eax
push 0x439844
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x48875c], eax
push 0x439860
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488760], eax
push 0x439884
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488774], eax
push 0x43989c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488764], eax
push 0x4398b8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488768], eax
push 0x4398d4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x48876c], eax
push 0x4398f0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488770], eax
push 0x439910
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488778], eax
push 0x439934
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x48877c], eax
push 0x439954
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488780], eax
push 0x439974
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488784], eax
push 0x439990
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488788], eax
push 0x4399ac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x48878c], eax
cmp dword [0x488758], 0
je 0x4396f4
cmp dword [0x48875c], 0
jne 0x43970a
mov esi, 1
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
mov dword [ebx], eax
jmp 0x439804
push 1
push 0x43956c
call dword [0x488758]
add esp, 8
test eax, eax
je 0x439734
mov esi, 1
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
mov dword [ebx], eax
jmp 0x439804
xor esi, esi
mov byte [0x48662c], 1
mov dword [0x486630], 1
mov dword [0x486634], 1
jmp 0x439804
push 0x4399d4
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
jne 0x439771
mov esi, 1
jmp 0x439804
push 0x4399e0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x488790], eax
mov esi, 1
cmp dword [0x488790], 0
je 0x4397f3
push 0x150e828
call dword [0x488790]
pop ecx
mov ebx, eax
test ebx, ebx
je 0x439804
call ebx
test eax, eax
jl 0x439804
mov ebx, 0x48654c
jmp 0x4397cf
mov eax, dword [ebx + 4]
mov dword [eax], 0x439590
mov eax, dword [ebx]
push eax
call dword [0x488790]
pop ecx
test eax, eax
je 0x4397cc
mov edx, dword [ebx + 4]
mov dword [edx], eax
add ebx, 8
cmp dword [ebx], 0
jne 0x4397b0
xor esi, esi
mov byte [0x48662c], 1
mov dword [0x486630], 2
mov dword [0x486634], 1
jmp 0x439804
mov esi, 1
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
mov dword [ebx], eax
mov eax, esi
pop esi
pop ebx
ret