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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov eax, dword [ebp + 8]
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0x179c
mov byte [esp + 0xea], 0x74
mov dword [esp + 0xe4], 0x6fca
mov cl, byte [esp + 0xea]
mov dl, cl
add dl, 0x38
mov byte [esp + 0xb7], dl
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xf4]
mov ebx, esi
add ebx, 0x1bdc
mov edx, edi
adc edx, 0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edx
mov ch, byte [esp + 0xea]
mov dl, 0x24
sub dl, ch
mov byte [esp + 0xcb], dl
mov ebx, esi
and ebx, 0x4b55
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], 0
mov ebx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, 0x3b81
sub eax, ebx
mov ebx, dword [esp + 0x64]
sbb ebx, edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xec], 0x70c3
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
xor eax, 0x3a36
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
not eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x60]
sub eax, edx
mov edx, dword [esp + 0x50]
sbb edx, ebx
movzx ebx, word [esp + 0xfe]
mov dword [esp + 0x44], eax
mov byte [esp + 0x43], cl
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], edx
mov word [esp + 0x32], bx
jb 0x401a5f
jmp 0x401b02
mov eax, dword [esp + 0xe4]
add eax, 0xffff9037
add eax, dword [esp + 0xac]
mov dword [esp + 0xd4], eax
jmp 0x401a5f
mov al, byte [esp + 0x43]
xor al, 6
mov cl, byte [esp + 0xb7]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0xd4]
mov byte [esp + 0xeb], al
mov al, byte [esp + 0xea]
imul esi, esi, 0x4c
add edx, esi
mov edx, dword [edx + 0x11]
add al, 0x50
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x58]
and edx, 0x138
mov esi, dword [esp + 0xd4]
mov dword [esp + 0xec], edx
mov dword [esp + 0xb0], esi
cmp cl, al
ja 0x401ad7
jmp 0x401d55
mov eax, 0x23c4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov eax, ecx
mov edx, dword [esp + 0x2c]
mul edx
mov esi, dword [esp + 0x38]
imul edi, esi, 0x23c4
add edx, edi
mov edi, dword [esp + 0xd4]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], edx
cmp edi, 0x12c
jb 0x401a00
jmp 0x401c5f
mov eax, 0x6fcb
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xb8]
mov bl, byte [esp + 0x43]
xor bl, 0xff
sub eax, ecx
mov byte [esp + 0xeb], bl
add edx, eax
mov dword [esp + 0xb8], edx
jmp 0x401dae
mov al, pe_nt_image_headers32
mov cl, byte [esp + 0xea]
mov edx, dword [esp + 0xd4]
sub al, cl
mov dword [esp + 0xac], edx
cmp al, byte [esp + 0xcb]
je 0x401a00
jmp 0x4019e4
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
xor edx, edx
mov esi, 0x3cfa
sub esi, eax
sbb edx, ecx
mov eax, dword [esp + 0x48]
sub eax, esi
mov ecx, dword [esp + 0x5c]
sbb ecx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
jb 0x401aa6
jmp 0x401cfe
mov dword [esp + 0x104], 0xffffffff
mov dword [esp + 0x100], 0xffffc3ca
mov eax, dword [esp + 0xb8]
mov cl, byte [esp + 0x43]
or cl, cl
mov byte [esp + 0xeb], cl
mov edx, dword [esp + 0x6c]
imul eax, eax, 0x4c
mov eax, dword [edx + eax + 0x11]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x6c]
imul eax, eax, 0x4c
mov eax, dword [edx + eax + 0x48]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x6c]
imul eax, eax, 0x4c
mov eax, dword [edx + eax + 0x25]
mov dword [esp + 0xe0], eax
mov edx, dword [esp + 0xd8]
mov esi, 0x411a
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, edi
mov dword [esp + 0x1c], edx
mul esi
mov esi, dword [esp + 0x38]
imul ebx, esi, 0x411a
add edx, ebx
mov dword [esp + 0x104], edx
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
xor eax, edx
mov dword [esp + 0xd8], eax
mov ebx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xc4]
add edx, ecx
mov ecx, esp
mov dword [ecx + 8], eax
mov dword [ecx + 4], ebx
mov dword [ecx], edx
call fcn.004038c0
sub esp, 0xc
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x88]
mov bl, byte [esp + 0x43]
mov byte [esp + 0xeb], bl
add edx, ecx
mov dword [esp + 0x88], edx
mov ecx, dword [esp + 0x3c]
xor ecx, 0x51ed
mov edx, dword [esp + 0x38]
mov dword [esp + 0x104], edx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x18], eax
jmp 0x401aa6
mov eax, 0x6fd8
lea ecx, [esp + 0x8c]
sub eax, dword [esp + 0xe4]
mov edx, dword [esp + 0xe4]
add edx, 0xffff903a
mov esi, esp
mov dword [esi + 8], eax
mov dword [esi], ecx
mov dword [esi + 4], 0x4010c3
mov dword [esp + 0x14], edx
call fcn.00401e70
sub esp, 0xc
lea eax, [esp + 0x8c]
mov ecx, esp
mov dword [ecx], eax
call fcn.00402590
sub esp, 4
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov edx, esp
mov esi, dword [esp + 0x14]
mov dword [edx + 0xc], esi
mov dword [edx + 4], eax
mov dword [edx + 8], 0x1000
mov dword [edx], 0
call ecx
sub esp, 0x10
mov ecx, 0x6fca
sub ecx, dword [esp + 0xe4]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xb8], ecx
jmp 0x401dae
lea eax, section.dgbwqbp
mov ecx, 0x6fca
mov dx, word [esp + 0x32]
sub dx, 0x59f9
mov esi, dword [esp + 0xe4]
mov word [esp + 0xfe], dx
sub ecx, esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x84], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
jmp 0x401a5f
mov eax, dword [esp + 0x6c]
imul ecx, dword [esp + 0xb0], 0x4c
add eax, ecx
mov dx, word [esp + 0x32]
add dx, 0x3dfd
mov word [esp + 0xfe], dx
mov eax, dword [eax + 0x25]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xbc]
xor eax, dword [esp + 0xc0]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add eax, dword [esp + 0xd0]
mov dword [esp + 0xd0], eax
jmp 0x401ad7
mov eax, dword [esp + 0xe4]
add eax, 0xffff9162
cmp dword [esp + 0xb8], eax
jb 0x401b3a
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xc4]
mov edx, 0x341ca
sub edx, eax
mov eax, dword [esp + 0xd0]
mov esi, esp
mov dword [esi + 8], eax
mov dword [esi + 4], ecx
mov dword [esi], ecx
mov dword [esp + 0x10], edx
call fcn.00401fe0
sub esp, 0xc
mov eax, dword [esp + 0xc4]
add eax, 0x15b57
mov ecx, dword [esp + 0x84]
mov dword [ecx], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x84]
add eax, 0xffffb176
mov edx, dword [esp + 0x10]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xc4]
add edx, 0x372b
mov esi, dword [esp + 0x58]
add esi, 0x4034
mov dword [esp + 0xec], esi
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0xc], eax
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4