Function at 0x421de1
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5dc
push ebx
push esi
push edi
lea eax, [esp + 0x118]
mov byte [esp + 0xe], 0
mov byte [esp + 0xf], 1
call fcn.0040d321
mov ebx, dword [esp + 0x350]
lea eax, [esp + 0x44f]
mov dword [esp + 0x34], eax
shr ebx, 0x11
lea eax, [esp + 0x3e0]
and ebx, 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0x525]
xor edi, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], edi
jmp 0x421e42
xor edi, edi
cmp byte [esp + 0xe], 0
jne 0x42219d
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x34]
cmp byte [eax], 0
jne 0x421e63
cmp dword [ebp + 8], edi
je 0x421f84
mov esi, dword [ebp + 8]
cmp esi, edi
cmove esi, eax
push esi
call fcn.004317cc
mov dword [esp + 0x1c], eax
call fcn.0043194b
mov dword [esp + 0x14], eax
cmp ebx, edi
je 0x421e9d
call fcn.0040d267
test eax, eax
je 0x421e9d
push dword [esp + 0x14]
call fcn.0042b085
call fcn.0043113e
mov dword [esp + 0x14], eax
cmp dword [esp + 0x1c], edi
jne 0x421eb4
push 0x409f8c
or eax, 0xffffffff
call fcn.0042b4e3
mov dword [esp + 0x1c], eax
lea esi, [esp + 0x40]
call fcn.0040ce63
mov eax, dword [0x435f54]
push dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], edi
lea esi, [esp + 0x14]
lea edi, [esp + 0x24]
mov dword [esp + 0x54], eax
mov dword [esp + 0x74], 0x12d000
mov dword [esp + 0x68], 3
call fcn.0040aadc
cmp al, 1
jne 0x421f6c
mov esi, dword [esp + 0x20]
test esi, esi
je 0x421f6c
mov eax, dword [esp + 0x10]
test eax, eax
je 0x421f6c
and dword [esp + 0x10], 0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x2c]
push eax
lea edi, [esp + 0x48]
mov dword [esp + 0x64], esi
call fcn.0042e4b8
test al, al
je 0x421f57
xor eax, eax
cmp dword [ebp + 8], eax
lea ebx, [esp + 0x28]
setne al
push eax
call fcn.00421d08
test al, al
je 0x421f4a
mov byte [esp + 0xe], 1
push dword [esp + 0x28]
call fcn.0042b085
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x10], 0x194
je 0x421f66
mov byte [esp + 0xf], 0
push esi
call fcn.0042b085
push dword [esp + 0x14]
call fcn.0042b085
push dword [esp + 0x1c]
call fcn.0042b085
cmp dword [ebp + 8], 0
jne 0x421f93
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jb 0x421e40
cmp byte [esp + 0xe], 0
jne 0x42219d
cmp dword [ebp + 8], 0
jne 0x42219d
call fcn.00421b29
mov esi, eax
test esi, esi
je 0x42219d
push 0x10000000
push 0x4e24
push esi
lea ebx, [esp + 0x1c]
call fcn.00432c8d
mov edi, eax
push esi
mov dword [esp + 0x34], edi
call fcn.0042b085
mov ecx, dword [esp + 0x10]
mov eax, edi
call fcn.0042c05d
test al, al
je 0x422194
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x14]
push 1
call fcn.0042c09b
test eax, eax
jne 0x422047
call fcn.0042b187
mov esi, eax
lea eax, [esp + 0x78]
push eax
xor bl, bl
call fcn.004257d2
cmp al, 1
jne 0x422047
mov eax, esi
sub eax, dword [esp + 0xf8]
cmp eax, 0x15180
jbe 0x42202d
mov dword [esp + 0xf8], esi
jmp 0x422035
cmp eax, 0x1c20
setb bl
lea eax, [esp + 0x78]
push eax
call fcn.0042582a
test bl, bl
jne 0x422194
push 0x2710
push dword [0x435f54]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x422194
push dword [esp + 0x14]
call fcn.004317cc
mov esi, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.0043194b
xor ebx, ebx
mov dword [esp + 0x18], eax
cmp dword [esp + 0x24], ebx
je 0x4220a0
call fcn.0040d267
test eax, eax
je 0x4220a0
push dword [esp + 0x18]
call fcn.0042b085
call fcn.0043113e
mov dword [esp + 0x18], eax
cmp dword [esp + 0x1c], ebx
jne 0x4220b7
push 0x409f8c
or eax, 0xffffffff
call fcn.0042b4e3
mov dword [esp + 0x1c], eax
lea esi, [esp + 0x40]
call fcn.0040ce63
mov eax, dword [0x435f54]
push dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x24]
lea edi, [esp + 0x14]
mov dword [esp + 0x54], eax
mov dword [esp + 0x74], 0x12d000
mov dword [esp + 0x68], 3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], ebx
call fcn.0040aadc
cmp al, 1
jne 0x422164
mov esi, dword [esp + 0x10]
cmp esi, ebx
je 0x422164
mov eax, dword [esp + 0x20]
cmp eax, ebx
jbe 0x422164
mov dword [esp + 0x60], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x2c]
push eax
lea edi, [esp + 0x48]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x64], esi
call fcn.0042e4b8
test al, al
je 0x42214f
push ebx
lea ebx, [esp + 0x2c]
call fcn.00421d08
test al, al
je 0x422144
mov byte [esp + 0xe], 1
push dword [esp + 0x28]
call fcn.0042b085
xor ebx, ebx
cmp dword [esp + 0x10], 0x194
je 0x42215e
mov byte [esp + 0xf], 0
push esi
call fcn.0042b085
push dword [esp + 0x18]
call fcn.0042b085
push dword [esp + 0x1c]
call fcn.0042b085
cmp byte [esp + 0xe], 0
jne 0x422194
mov eax, dword [esp + 0x14]
push 1
call fcn.0042c09b
mov dword [esp + 0x14], eax
cmp eax, ebx
jne 0x421fee
push dword [esp + 0x30]
call fcn.0042b085
cmp byte [esp + 0xf], 0
je 0x4221b1
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4221b1
mov dword [eax], 0x194
mov al, byte [esp + 0xe]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8