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

Disassembly:
add esp, 4
pop ebx
cmp dword [ebp - 0x1528], 0
jne 0x4020e0
mov dword [ebp - 0x71c], 0
jmp 0x402387
mov eax, dword [ebp - 0x1528]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc3c], edx
push ecx
push eax
add esp, 4
and ecx, 0x1b79
or ecx, 0x17461
pop ecx
push ebx
push esi
add esp, 4
and ebx, 0xe867
xor ebx, 0x14b45
pop ebx
push ebx
and ebx, 0x8c04
or ebx, 0x1773a
pop ebx
cmp dword [ebp - 0xc3c], 0
jne 0x40213c
mov dword [ebp - 0x71c], 0
jmp 0x402387
mov eax, dword [ebp - 0xc3c]
mov dword [ebp - 0x4c4], eax
push ecx
jmp 0x402151
pop ecx
push edi
or edi, 0xfc54
xor edi, 0x16f00
pop edi
push esi
push edx
add esp, 4
and esi, 0x1007a
and esi, 0xc8e8
pop esi
push esi
xor esi, 0xfe0f
pop esi
lea ecx, [ebp - 0x1654]
mov dword [ebp - 0xc38], ecx
mov edx, dword [ebp - 0x4c4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc34], eax
xor ecx, ecx
mov word [ebp - 0x1b0], cx
xor edx, edx
mov word [ebp - 0x24], dx
push edi
or edi, 0x16426
pop edi
push esi
push edx
add esp, 4
jmp 0x4021b9
sub esi, 0x13335
call 0x4021cc
add byte [ebx], dh
dec ebp
inc edx
cmp cl, byte [edi + 0x4c]
add esp, 4
or esi, 0x348c
pop esi
mov eax, dword [ebp - 0xc34]
mov cx, word [eax]
mov word [ebp - 0xfd2], cx
mov edx, dword [ebp - 0xc34]
add edx, 2
mov dword [ebp - 0xc34], edx
mov ax, word [ebp - 0xfd2]
mov word [ebp - 0x1b0], ax
mov ecx, dword [ebp - 0xc38]
mov dx, word [ecx]
mov word [ebp - 0xfd4], dx
mov eax, dword [ebp - 0xc38]
add eax, 2
mov dword [ebp - 0xc38], eax
mov cx, word [ebp - 0xfd4]
mov word [ebp - 0x24], cx
push edx
push eax
add esp, 4
jmp 0x402239
jmp 0x40223e
add edx, 0x12dcc
pop edx
push ebx
push esi
add esp, 4
sub ebx, 0x10b20
or ebx, 0x12d00
jmp 0x40225e
pop ebx
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x40227c
movzx eax, word [ebp - 0x1b0]
movzx ecx, word [ebp - 0x24]
dec ebp
fsubr qword [ebx]
ror dword [ecx - 0x152f7b], 0xff
jmp 0x4022d6
movzx edx, word [ebp - 0x1b0]
movzx eax, word [ebp - 0x24]
cmp edx, eax
je 0x4021a4
movzx ecx, word [ebp - 0x1b0]
xor ecx, 0x20
movzx edx, word [ebp - 0x24]
cmp ecx, edx
je 0x4021a4
movzx eax, word [ebp - 0x1b0]
movzx ecx, word [ebp - 0x24]
cmp eax, ecx
jge 0x4022c0
mov dword [ebp - 0x152c], 0xffffffff
jmp 0x4022ca
mov dword [ebp - 0x152c], 1
mov edx, dword [ebp - 0x152c]
mov dword [ebp - 0x1530], edx
cmp dword [ebp - 0x1530], 0
jne 0x40231f
push eax
call 0x4022f0
add byte [0x4b474236], dh
dec esp
dec esi
inc ebp
aas
dec eax
add esp, 4
xor eax, 0xd4f5
jmp 0x4022ff
call 0x40230d
add byte [ebp + 0x3e], al
inc edi
dec edx
cmp al, byte [ebp + 0x44]
dec edx
add esp, 4
pop eax
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x71c], eax
jmp 0x402387
push edi
push edx
add esp, 4
xor edi, 0xcc0f
xor edi, 0xda2b
or edi, 0x208
pop edi
push ebx
sub ebx, 0x8364
jmp 0x402344
and ebx, 0x12d26
and ebx, 0xea99
pop ebx
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c4]
cmp eax, dword [ebp - 0xc3c]
je 0x40237d
mov ecx, dword [ebp - 0x4c4]
cmp dword [ecx + 0x30], 0
jne 0x402148
mov dword [ebp - 0x71c], 0
push eax
sub eax, 0x109d2
or eax, 0xa65d
add eax, 0x11a57
and eax, 0x436d
pop eax
push ebx
push edi
add esp, 4
or ebx, 0xf2e0
or ebx, 0x14f5d
and ebx, 0xa6fc
pop ebx
cmp dword [ebp - 0x71c], 0
jne 0x402403
push eax
push ebx
add esp, 4
sub eax, 0x2664
sub eax, 0x72e4
jmp 0x4023db
pop eax
push eax
add eax, 0x719e
jmp 0x4023ea
jmp 0x4023f3
pop eax
mov dword [ebp - 0x768], 0
jmp 0x402f2b
push eax
add eax, 0xf7c9
add eax, 0x56eb
jmp 0x402418
pop eax
push eax
or eax, 0xe080
xor eax, 0xcc06
pop eax
push esi
or esi, 0xf157
jmp 0x402434
pop esi
mov edx, dword [ebp - 0x71c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x72c], 0
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x1534], ecx
cmp dword [ebp - 0x1534], 0
jne 0x402474
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], edx
jmp 0x402765
mov eax, dword [ebp - 0x1534]
mov ecx, dword [ebp - 0x330]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1538], ecx
jne 0x40249c
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], edx
jmp 0x402765
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1538]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x153c], eax
cmp dword [ebp - 0x153c], 0
jne 0x4024ce
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], ecx
jmp 0x402765
mov edx, dword [ebp - 0x330]
add edx, dword [ebp - 0x153c]
mov dword [ebp - 0x720], edx
jne 0x4024f3
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], eax
jmp 0x402765
mov ecx, dword [ebp - 0x720]
mov edx, dword [ebp - 0x330]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x1bf8], edx
mov eax, dword [ebp - 0x720]
mov ecx, dword [ebp - 0x330]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x1bfc], ecx
mov edx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x330]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x1c00], eax
mov dword [ebp - 0x724], 0
jmp 0x40254d
mov ecx, dword [ebp - 0x724]
add ecx, 1
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x724]
cmp eax, dword [edx + 0x18]
jae 0x402759
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [ebp - 0x330]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x1bfc]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1c00]
mov edx, dword [ebp - 0x330]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x1c04], edx
mov dword [ebp - 0x150], 0
jmp 0x4025bd
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x728]
add ecx, dword [ebp - 0x150]
movsx edx, byte [ecx]
test edx, edx
je 0x40266f
mov eax, dword [ebp - 0x150]
movsx ecx, byte [ebp + eax - 0x840]
test ecx, ecx
je 0x40266f
push edx
push esi
add esp, 4
xor edx, 0x14430
xor edx, 0x7100
pop edx
push edx
or edx, 0x1239b
or edx, 0x79fc
sub edx, 0x1da1
pop edx
push esi
push ebx
add esp, 4
add esi, 0x7098
pop esi
mov edx, dword [ebp - 0x728]
add edx, dword [ebp - 0x150]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x150]
movsx edx, byte [ebp + ecx - 0x840]
cmp eax, edx
je 0x402661
mov eax, dword [ebp - 0x728]
add eax, dword [ebp - 0x150]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x150]
movsx eax, byte [ebp + edx - 0x840]
cmp ecx, eax
jne 0x402668
jmp 0x4025ae
jmp 0x40266f
push esi
xor esi, 0x173fe
call 0x402685
add byte [edi + 0x3b], cl
dec edx
dec ecx
xor esi, dword ss:[0xc483414e]
add al, 0x81
out dx, al
insb byte es:[edi], dx
int1
add byte [eax], al
xor esi, 0xe75
pop esi
push edi
push esi
add esp, 4
and edi, 0xc7c3
pop edi
mov ecx, dword [ebp - 0x728]
add ecx, dword [ebp - 0x150]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x150]
movsx ecx, byte [ebp + eax - 0x840]
cmp edx, ecx
jne 0x4026ce
mov dword [ebp - 0xc40], 0
jmp 0x40273d
push eax
sub eax, 0x1581b
pop eax
push eax
add eax, 0x13a40
jmp 0x4026e6
call 0x4026f4
add byte [esi + 0x4f], al
cmp dword [esp + edi + 0x37], eax
inc ebx
inc ebp
add esp, 4
pop eax
push ecx
sub ecx, 0x11b86
pop ecx
mov edx, dword [ebp - 0x728]
add edx, dword [ebp - 0x150]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x150]
movsx edx, byte [ebp + ecx - 0x840]
or edx, 0x20
cmp eax, edx
jge 0x402733
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x40273d
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x402754
mov eax, dword [ebp - 0x1c04]
mov dword [ebp - 0x3a0], eax
jmp 0x402765
jmp 0x40253e
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], ecx
cmp dword [ebp - 0x3a0], 0
je 0x402840
push edi
push edi
add esp, 4
sub edi, 0x10119
and edi, 0x1ef7
jmp 0x402789
pop edi
push edx
or edx, 0x14d9c
add edx, 0x515c
xor edx, 0xa239
xor edx, 0xed95
pop edx
mov edx, dword [ebp - 0x3a0]
mov dword [ebp - 0x1c08], edx
push eax
add eax, 0x4766
sub eax, 0x17430
pop eax
push ecx
push esi
add esp, 4
and ecx, 0x8295
xor ecx, 0xa01f
pop ecx
push edi
push eax
add esp, 4
xor edi, 0x8e3d
or edi, 0x2974
pop edi
mov eax, dword [ebp - 0x1c08]
mov dword [ebp - 0x1c0c], eax
lea ecx, [ebp - 0x15e8]
push ecx
call dword [ebp - 0x1c0c]
test eax, eax
jne 0x402840
push ecx
and ecx, 0x1723d
and ecx, 0x33e4
sub ecx, 0x179f8
pop ecx
push esi
push edx
add esp, 4
xor esi, 0x1d8c
add esi, 0x154d7
pop esi
push esi
push esi
add esp, 4
or esi, 0x154fa
pop esi
mov dword [ebp - 0x768], 0
jmp 0x402f2b