Function at 0x421844
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004044d8
mov ebx, 0x45c640
xor eax, eax
push ebp
push 0x421c76
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x45e8fc], 0
cmp dword [ebp - 4], 0
jne 0x421887
lea eax, [ebp - 4]
mov edx, 0x421c90
call fcn.004040c0
mov eax, dword [0x45e8f8]
call fcn.0042179c
xor eax, eax
push ebp
push 0x421c59
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x45c63c], 0
jne 0x421c31
mov byte [0x45e8fc], 0
mov byte [0x45e8fd], 0
mov eax, dword [ebp - 4]
call fcn.004044e8
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x421c35
push 0x421c9c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c638], eax
push 0x421ca8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c634], eax
push 0x421cb8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c614], eax
push 0x421cc4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5f4], eax
push 0x421cd0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5ac], eax
push 0x421ce0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5a4], eax
push 0x421cec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5a8], eax
push 0x421cf8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c61c], eax
push 0x421d00
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c618], eax
push 0x421d08
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c610], eax
push 0x421d10
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c60c], eax
push 0x421d1c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c608], eax
push 0x421d28
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5d4], eax
push 0x421d34
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c604], eax
push 0x421d3c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c600], eax
push 0x421d44
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5fc], eax
push 0x421d50
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5f8], eax
push 0x421d5c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5f0], eax
push 0x421d64
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5ec], eax
push 0x421d6c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5e8], eax
push 0x421d74
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5e0], eax
push 0x421d7c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5e4], eax
push 0x421d88
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c624], eax
push 0x421d90
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5dc], eax
push 0x421d98
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5d8], eax
push 0x421da0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5d0], eax
push 0x421dac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5cc], eax
push 0x421db8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c620], eax
push 0x421dc0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5c4], eax
push 0x421dd0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5c0], eax
push 0x421de0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5b8], eax
push 0x421df0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5bc], eax
push 0x421e04
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5b0], eax
push 0x421e14
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5b4], eax
push 0x421e24
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c5c8], eax
push 0x421e30
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c628], eax
push 0x421e3c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c62c], eax
push 0x421e4c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c630], eax
cmp dword [0x45c628], 0
je 0x421b9a
cmp dword [0x45c62c], 0
je 0x421b9a
cmp dword [0x45c630], 0
jne 0x421b9e
xor eax, eax
jmp 0x421ba0
mov al, 1
mov byte [0x45e8fc], al
cmp byte [0x45e8fc], 0
jne 0x421c2b
push 0x421e58
call sub.kernel32.dll_LoadLibraryA
mov dword [0x45c644], eax
cmp dword [0x45c644], 0
je 0x421c2b
push 0x421e30
mov eax, dword [0x45c644]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c628], eax
push 0x421e3c
mov eax, dword [0x45c644]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c62c], eax
push 0x421e4c
mov eax, dword [0x45c644]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x45c630], eax
cmp dword [0x45c628], 0
je 0x421c20
cmp dword [0x45c62c], 0
je 0x421c20
cmp dword [0x45c630], 0
jne 0x421c24
xor eax, eax
jmp 0x421c26
mov al, 1
mov byte [0x45e8fd], al
mov byte [ebp - 5], 1
jmp 0x421c35
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x421c41
inc dword [0x45c63c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421c60
mov eax, dword [0x45e8f8]
call fcn.004217a4
ret