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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xcc
mov esi, dword [esp + 0xe4]
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100001
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 0x4021
call fcn.0043aee0
xor ecx, ecx
cmp eax, 0
jl 0x420922
mov dword [esp], esi
call fcn.00414010
shl eax, 1
mov word [esp + 0xac], ax
movzx eax, ax
add eax, 2
mov word [esp + 0xae], ax
mov dword [esp + 0xb0], esi
mov dword [esp], 0x848
call fcn.004375a0
mov dword [esp + 0x6c], eax
mov esi, dword [esp + 0x80]
mov al, byte [esp + 0x88]
mov byte [esp + 0xa4], al
mov byte [esp + 0x50], 0x2e
mov byte [esp + 0x51], 0x2d
mov byte [esp + 0x52], 0x2c
mov byte [esp + 0x53], 0x2b
xor eax, eax
cmp eax, 4
jae 0x4201fd
movzx ecx, byte [esp + eax + 0x50]
mov edx, eax
add edx, 0x6648b569
mov ebx, edx
xor ebx, ecx
xor ebx, 0xffffffff
mov ebp, eax
add ebp, 0x6648b56a
mov edi, 0x99b74a96
sub edi, eax
or edi, ebx
add edi, ebp
mov ebx, edi
and ebx, 0xfffffffd
mov ebp, edi
and ebp, 2
xor ebp, 2
imul ebp, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
add edi, ebp
sub edi, edx
mov edx, edi
xor edx, ecx
xor edi, 0xffffffff
and ecx, edi
shl ecx, 1
sub ecx, edx
add cl, 0xb8
mov byte [esp + eax + 0x50], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x420190
mov edi, dword [esp + 0x50]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x447604]
jb 0x420215
jmp 0x4202cd
mov edx, dword [0x447608]
cmp dword [edx + ebp*8], 0x7be1e2d2
sete bl
xor ecx, ecx
mov byte [esp + 0x3f], bl
test bl, 1
jne 0x420235
jmp 0x4202bc
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x4202bc
mov eax, dword [0x44760c]
xor ecx, ecx
lea ecx, [esp + 0xc4]
lea ebx, [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0
call fcn.00439030
mov ecx, 1
test byte [esp + 0x3f], 1
je 0x4202c5
jmp 0x4202cd
add ebp, 1
jmp 0x420203
cmp ecx, 2
jne 0x4202d4
mov eax, edi
xor esi, esi
cmp eax, 0
jl 0x420814
xor ebx, ebx
xor esi, esi
xor ebp, ebp
mov eax, dword [esp + 0x6c]
jmp 0x4202eb
mov dword [esp + 0x58], ebp
mov dword [esp + 0x38], esi
mov edi, dword [eax + 0x3c]
shr edi, 1
mov esi, eax
add esi, 0x38
mov dword [esp + 0x64], eax
mov eax, dword [eax + 0x38]
mov ecx, eax
xor ecx, 0xfffffbff
and ecx, eax
cmp ecx, 0
jne 0x4204f0
mov al, byte [esp + 0x7c]
mov byte [esp + 0x8c], al
mov byte [esp + 0x48], 0xc
mov byte [esp + 0x49], 0x23
mov byte [esp + 0x4a], 0x24
mov byte [esp + 0x4b], 0x25
xor eax, eax
mov dword [esp + 0x68], ebx
cmp eax, 4
jae 0x42037b
movzx edx, byte [esp + eax + 0x48]
mov ecx, eax
add ecx, 0xc9285ab2
xor ecx, edx
add ecx, 0xb6bd2a6f
mov edx, ecx
and edx, 1
mov ebx, ecx
and ebx, 0xfe
mov ebp, ecx
xor ebp, 1
add ecx, ebp
sub ecx, ebx
mov ebx, dword [esp + 0x68]
add ecx, edx
mov byte [esp + eax + 0x48], cl
add eax, 1
jmp 0x42033c
mov ebp, dword [esp + 0x64]
add ebp, 0x44
lea eax, [esp + 0x48]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00420940
cmp eax, 0
je 0x4204f0
mov dword [esp + 0xc0], esi
mov al, byte [esp + 0x78]
mov byte [esp + 0x90], al
mov byte [esp + 0x5e], 0xb1
mov byte [esp + 0x5f], 0xe0
mov byte [esp + 0x60], 0xbf
mov byte [esp + 0x61], 0xe2
mov byte [esp + 0x62], 0xe3
mov byte [esp + 0x63], 0xe4
xor esi, esi
cmp esi, 6
jae 0x42040f
movzx ebx, byte [esp + esi + 0x5e]
mov ecx, 0xa8
sub ecx, esi
or ecx, ebx
mov edx, esi
add edx, 0x57
mov eax, esi
add eax, 0x57
and edx, eax
xor ebx, 0xffffffff
or edx, ebx
mov eax, edx
shl eax, 1
xor eax, 0xffffffff
add edx, eax
xor ecx, 0xffffffff
or edx, ecx
add dl, 0x48
mov byte [esp + esi + 0x5e], dl
add esi, 1
jmp 0x4203d1
lea eax, [esp + 0x5e]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00420940
cmp eax, 0
jne 0x420435
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x68]
jmp 0x4204f6
mov eax, edi
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
mov ebx, dword [esp + 0x68]
jne 0x420454
mov ecx, eax
mov dword [esp], ecx
call fcn.00408000
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.00413c50
mov word [eax], 0
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xc0]
mov edx, dword [ecx]
or edx, edx
xor edx, 0xffffffff
or edx, 0xffffffef
xor edx, 0xffffffff
xor ecx, ecx
cmp edx, 0
setne cl
mov edx, dword [esp + 0xec]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], esi
and ecx, 1
mov dword [esp + 4], ecx
call dword [esp + 0xe8]
and al, 1
movzx eax, al
mov ecx, dword [esp + 0x38]
and cl, 1
movzx ecx, cl
mov edx, eax
and edx, ecx
xor edx, 0xffffffff
add ecx, eax
add ecx, 1
add edx, ecx
cmp edx, 0
setne al
and al, 1
mov dword [esp + 0x38], eax
mov dword [esp], esi
call fcn.00408010
mov ebp, dword [esp + 0x58]
jmp 0x4204f6
mov ebp, dword [esp + 0x58]
jmp 0x4204f6
cmp ebp, 0
sete al
test al, 1
jne 0x420508
mov edi, ebx
mov esi, dword [esp + 0x38]
jmp 0x420537
mov dword [esp], 0x10900
call fcn.004375a0
mov edi, eax
cmp edi, 0
jne 0x42052f
xor ebp, ebp
mov eax, 2
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x38]
jmp 0x420806
mov ebp, edi
mov esi, dword [esp + 0x38]
jmp 0x420537
cmp edi, ebp
jne 0x4207f3
mov al, byte [esp + 0x74]
mov byte [esp + 0x94], al
mov byte [esp + 0x44], 0xee
mov byte [esp + 0x45], 0xe6
mov byte [esp + 0x46], 0xd1
mov byte [esp + 0x47], 0xd1
xor eax, eax
cmp eax, 4
jae 0x4205b3
movzx ecx, byte [esp + eax + 0x44]
mov edx, eax
add edx, 0x5287991e
xor edx, ecx
mov ecx, edx
and ecx, 0xd
mov esi, edx
and esi, 2
xor esi, 2
mov ebx, edx
and ebx, 0xd
imul esi, ebx
mov ebx, edx
and ebx, 2
or ecx, 2
imul ecx, ebx
add ecx, esi
mov esi, edx
shl esi, 1
and esi, 0x1e
add esi, 0xf1
sub edx, esi
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x44], cl
add eax, 1
jmp 0x420560
mov eax, dword [esp + 0x44]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x58], ebp
mov al, byte [esp + 0x84]
mov byte [esp + 0xa8], al
mov byte [esp + 0x4c], 0x2e
mov byte [esp + 0x4d], 0x2d
mov byte [esp + 0x4e], 0x2c
mov byte [esp + 0x4f], 0x2b
xor eax, eax
cmp eax, 4
jae 0x420661
movzx ecx, byte [esp + eax + 0x4c]
mov edx, eax
add edx, 0x6648b569
mov ebx, edx
xor ebx, ecx
xor ebx, 0xffffffff
mov ebp, eax
add ebp, 0x6648b56a
mov esi, 0x99b74a96
sub esi, eax
or esi, ebx
add esi, ebp
mov ebx, esi
and ebx, 0xfffffffd
mov ebp, esi
and ebp, 2
xor ebp, 2
imul ebp, ebx
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
add esi, ebp
sub esi, edx
mov edx, esi
xor edx, ecx
xor esi, 0xffffffff
and ecx, esi
shl ecx, 1
sub ecx, edx
add cl, 0xb8
mov byte [esp + eax + 0x4c], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x4205f4
mov ebp, dword [esp + 0x4c]
xor esi, esi
mov ecx, 2
cmp esi, dword [0x447604]
jb 0x420679
jmp 0x420735
mov edx, dword [0x447608]
cmp dword [edx + esi*8], 0x7be1e2d2
sete bl
xor ecx, ecx
test bl, 1
jne 0x420695
jmp 0x420726
mov edx, dword [edx + esi*8 + 4]
mov ecx, 2
cmp edx, ebp
je 0x420726
mov eax, dword [0x44760c]
xor ecx, ecx
lea ecx, [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
lea eax, [esp + 0xac]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
call fcn.00439030
mov ecx, 1
test bl, 1
je 0x42072d
jmp 0x420735
add esi, 1
jmp 0x420667
cmp ecx, 2
jne 0x42073c
mov eax, ebp
mov cl, byte [esp + 0x70]
mov byte [esp + 0x98], cl
mov byte [esp + 0x40], 0x44
mov byte [esp + 0x41], 0x42
mov byte [esp + 0x42], 0x43
mov byte [esp + 0x43], 0xc4
xor ecx, ecx
mov ebp, dword [esp + 0x58]
cmp ecx, 4
jae 0x420792
movzx esi, byte [esp + ecx + 0x40]
mov edx, 0xf6
sub edx, ecx
or edx, esi
mov ebx, esi
shl ebx, 1
xor ebx, 0xffffffff
add ebx, esi
mov esi, ecx
add esi, 9
or ebx, esi
xor ebx, edx
add bl, 0xb8
mov byte [esp + ecx + 0x40], bl
add ecx, 1
jmp 0x420761
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jne 0x4207c6
xor eax, eax
mov edx, edi
jmp 0x4207a0
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x4207b7
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x4207a0
cmp eax, 0
je 0x4207c2
mov dword [eax], 0
xor eax, eax
jmp 0x4207c6
cmp eax, 0
jge 0x4207de
mov dword [esp], ebp
call fcn.004375e0
mov eax, 2
mov esi, dword [esp + 0x38]
jmp 0x4207e6
xor eax, eax
mov esi, dword [esp + 0x38]
jmp 0x4207e6
cmp eax, 0
je 0x4207f3
mov ebx, edi
mov edi, dword [esp + 0x64]
jmp 0x420806
mov eax, dword [edi]
cmp eax, 0
je 0x420800
mov ebx, edi
add ebx, eax
jmp 0x420804
mov ebx, ebp
jmp 0x420804
xor eax, eax
test eax, eax
mov eax, edi
je 0x4202eb
jmp 0x420812
jmp 0x420814
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004375e0
mov eax, dword [esp + 0x80]
mov dword [esp + 0xb4], eax
mov al, byte [esp + 0x9c]
mov byte [esp + 0xa0], al
mov byte [esp + 0x54], 0x2e
mov byte [esp + 0x55], 0x2d
mov byte [esp + 0x56], 0x2c
mov byte [esp + 0x57], 0x2b
xor eax, eax
cmp eax, 4
jae 0x4208bf
movzx ecx, byte [esp + eax + 0x54]
mov edx, eax
add edx, 0x6648b569
mov ebx, edx
xor ebx, ecx
xor ebx, 0xffffffff
mov ebp, eax
add ebp, 0x6648b56a
mov edi, 0x99b74a96
sub edi, eax
or edi, ebx
add edi, ebp
mov ebx, edi
and ebx, 0xfffffffd
mov ebp, edi
and ebp, 2
xor ebp, 2
imul ebp, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
add edi, ebp
sub edi, edx
mov edx, edi
xor edx, ecx
xor edi, 0xffffffff
and ecx, edi
shl ecx, 1
sub ecx, edx
add cl, 0xb8
mov byte [esp + eax + 0x54], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x420852
mov edi, dword [esp + 0x54]
xor ebp, ebp
mov ecx, esi
cmp ebp, dword [0x447604]
jb 0x4208d1
jmp 0x420922
mov eax, dword [0x447608]
cmp dword [eax + ebp*8], 0xb430e561
sete bl
test bl, 1
jne 0x4208e7
jmp 0x420916
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x420916
mov ecx, dword [0x44760c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
call fcn.00439030
mov ecx, esi
test bl, 1
je 0x42091d
jmp 0x420922
add ebp, 1
jmp 0x4208c7
and cl, 1
movzx eax, cl
add esp, 0xcc
pop esi
pop edi
pop ebx
pop ebp
ret