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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov esi, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
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.0043e510
xor ebx, ebx
cmp eax, 0
jl 0x421839
mov dword [esp], esi
call fcn.00414c50
mov ecx, eax
and ecx, 0xfffffffd
mov edx, eax
or edx, 0xfffffffd
xor edx, 0xffffffff
imul edx, ecx
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
add eax, edx
mov word [esp + 0xc4], ax
movzx eax, ax
xor ecx, ecx
sub ecx, eax
add ecx, 0xfffffffe
xor eax, eax
sub eax, ecx
mov word [esp + 0xc6], ax
mov dword [esp + 0xc8], esi
mov dword [esp], 0x848
call fcn.004394c0
mov dword [esp + 0x54], eax
mov esi, dword [esp + 0x80]
mov al, byte [esp + 0x90]
mov byte [esp + 0xbc], al
mov byte [esp + 0x94], 0xc5
mov byte [esp + 0x95], 0xda
mov byte [esp + 0x96], 0xdb
mov byte [esp + 0x97], 0xd8
mov eax, 4
mov byte [esp + eax + 0x94], 0
add eax, 1
cmp eax, 5
jne 0x421092
xor eax, eax
cmp eax, 5
jae 0x4210d4
mov dl, byte [esp + eax + 0x94]
movzx ecx, dl
mov edi, eax
add edi, 0x4f
and edi, ecx
shl edi, 1
mov ecx, eax
sub ecx, edi
add cl, 0xcf
add cl, dl
add cl, 0xf5
mov byte [esp + eax + 0x94], cl
add eax, 1
jmp 0x4210a4
mov edi, dword [esp + 0x94]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44aef0]
jb 0x4210ef
jmp 0x4211a7
mov edx, dword [0x44aef4]
cmp dword [edx + ebp*8], 0x7fd4133f
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x42110f
jmp 0x421196
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x421196
mov eax, dword [0x44aef8]
xor ecx, ecx
lea ecx, [esp + 0xdc]
lea ebx, [esp + 0xc4]
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 + 0x54]
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.0043be00
mov ecx, 1
test byte [esp + 0x3b], 1
je 0x42119f
jmp 0x4211a7
add ebp, 1
jmp 0x4210dd
cmp ecx, 2
je 0x4211ae
mov edi, eax
cmp edi, 0
setge al
xor ebx, ebx
test al, 1
jne 0x4211bf
jmp 0x421742
mov dword [esp + 0x40], 0
xor ebx, ebx
xor esi, esi
mov eax, dword [esp + 0x54]
jmp 0x4211d1
mov dword [esp + 0x3c], esi
mov edi, dword [eax + 0x3c]
shr edi, 1
mov esi, eax
add esi, 0x38
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x38]
and eax, 0x400
cmp eax, 0
jne 0x4213b6
mov al, byte [esp + 0x74]
mov byte [esp + 0x9c], al
mov byte [esp + 0x78], 0x1e
mov byte [esp + 0x79], 0x4b
mov byte [esp + 0x7a], 0x4a
mov byte [esp + 0x7b], 0x49
mov eax, 4
mov byte [esp + eax + 0x78], 0
add eax, 1
cmp eax, 8
jne 0x421218
xor eax, eax
cmp eax, 8
jae 0x42124d
mov cl, byte [esp + eax + 0x78]
mov dl, al
add dl, 0xf3
xor dl, cl
add dl, 0x41
mov byte [esp + eax + 0x78], dl
add eax, 0xd108bd61
xor eax, 0x2ef742a0
add eax, 0x40
jmp 0x421227
mov ebp, dword [esp + 0x44]
add ebp, 0x44
lea eax, [esp + 0x78]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00421850
cmp eax, 0
je 0x4213b6
mov al, byte [esp + 0x70]
mov byte [esp + 0xa0], al
mov byte [esp + 0x48], 0x82
mov byte [esp + 0x49], 0xff
mov byte [esp + 0x4a], 0x80
mov byte [esp + 0x4b], 0xf1
mov byte [esp + 0x4c], 0xf0
mov byte [esp + 0x4d], 0xf3
mov eax, 6
mov byte [esp + eax + 0x48], 0
add eax, 1
cmp eax, 8
jne 0x42129f
xor eax, eax
cmp eax, 8
jae 0x4212da
movzx edx, byte [esp + eax + 0x48]
mov ecx, eax
add ecx, 0x9ebb955
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, 0x56
add ecx, edx
mov byte [esp + eax + 0x48], cl
add eax, 1
jmp 0x4212ae
lea eax, [esp + 0x48]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00421850
cmp eax, 0
jne 0x4212fc
mov esi, dword [esp + 0x3c]
jmp 0x4213ba
mov eax, edi
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x421317
mov ecx, eax
mov dword [esp], ecx
call fcn.00409730
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edi, eax
call fcn.004148b0
mov word [eax], 0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x28]
mov edx, dword [esi]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], edi
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0x100]
and al, 1
movzx ecx, al
and bl, 1
movzx eax, bl
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, eax
and edx, 0x2650c863
mov esi, ecx
and esi, 0x2650c863
or edx, 0
or esi, 0
xor edx, esi
or eax, ecx
xor eax, 0xffffffff
and eax, 0xffffffff
or edx, eax
cmp edx, 0
setne bl
and bl, 1
mov esi, dword [esp + 0x3c]
jmp 0x4213ac
mov dword [esp], edi
call fcn.00409740
jmp 0x4213ba
mov esi, dword [esp + 0x3c]
cmp esi, 0
je 0x4213c5
mov edi, dword [esp + 0x40]
jmp 0x4213ec
mov dword [esp], 0x10900
call fcn.004394c0
mov edi, eax
cmp edi, 0
jne 0x4213e8
xor esi, esi
mov eax, 2
mov edi, dword [esp + 0x44]
jmp 0x421734
mov esi, edi
jmp 0x4213ec
cmp edi, esi
jne 0x42171b
mov al, byte [esp + 0x64]
mov byte [esp + 0xa4], al
mov byte [esp + 0x68], 0xf8
mov byte [esp + 0x69], 0xe0
mov byte [esp + 0x6a], 0xf7
mov byte [esp + 0x6b], 0xf7
mov eax, 4
mov byte [esp + eax + 0x68], 0
add eax, 1
cmp eax, 5
jne 0x421418
mov dword [esp + 0x3c], esi
mov dword [esp + 0x50], ebx
xor eax, eax
cmp eax, 5
jae 0x42149f
movzx edx, byte [esp + eax + 0x68]
mov esi, eax
add esi, 0x30033856
mov ecx, 0xcffcc7a9
sub ecx, eax
and ecx, 0xca764378
and esi, 0x3589bc87
or ecx, esi
xor ecx, edx
xor ecx, 0xca764378
mov esi, eax
add esi, 0x56
and esi, edx
or ecx, esi
mov esi, 0xa9
sub esi, eax
mov ebx, 0xa9
sub ebx, eax
and esi, ebx
xor esi, 0xffffffff
and esi, edx
sub ecx, esi
add ecx, 0xd2a241da
mov edx, ecx
shl edx, 1
and edx, 0xa2
xor ecx, 0x51
add ecx, edx
add cl, 0x27
mov byte [esp + eax + 0x68], cl
add eax, 1
jmp 0x42142f
mov eax, dword [esp + 0x68]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xd4], eax
mov al, byte [esp + 0x84]
mov byte [esp + 0xc0], al
mov byte [esp + 0x88], 0xc5
mov byte [esp + 0x89], 0xda
mov byte [esp + 0x8a], 0xdb
mov byte [esp + 0x8b], 0xd8
mov eax, 4
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 5
jne 0x4214eb
xor eax, eax
mov ebx, dword [esp + 0x50]
cmp eax, 5
jae 0x421531
mov dl, byte [esp + eax + 0x88]
movzx ecx, dl
mov esi, eax
add esi, 0x4f
and esi, ecx
shl esi, 1
mov ecx, eax
sub ecx, esi
add cl, 0xcf
add cl, dl
add cl, 0xf5
mov byte [esp + eax + 0x88], cl
add eax, 1
jmp 0x421501
mov esi, dword [esp + 0x88]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44aef0]
jb 0x42154c
jmp 0x421625
mov eax, edi
mov edi, esi
mov esi, dword [0x44aef4]
cmp dword [esi + ebp*8], 0x7fd4133f
sete dl
xor ecx, ecx
mov byte [esp + 0x3a], dl
test dl, 1
jne 0x421574
mov esi, edi
mov edi, eax
jmp 0x421614
mov edx, dword [esi + ebp*8 + 4]
mov ecx, 2
mov esi, edi
cmp edx, esi
mov edi, eax
je 0x421614
mov eax, dword [0x44aef8]
xor ecx, ecx
lea ecx, [esp + 0xdc]
lea ebx, [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xd4]
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 + 0xd8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x34], 0
call fcn.0043be00
mov dword [esp + 0xcc], eax
mov ecx, 1
test byte [esp + 0x3a], 1
je 0x42161d
jmp 0x421625
add ebp, 1
jmp 0x42153a
cmp ecx, 2
je 0x421631
mov esi, dword [esp + 0xcc]
mov al, byte [esp + 0x58]
mov byte [esp + 0xa8], al
mov byte [esp + 0x5c], 0xc5
mov byte [esp + 0x5d], 0xc1
mov byte [esp + 0x5e], 0xc2
mov byte [esp + 0x5f], 0x43
mov eax, 4
mov byte [esp + eax + 0x5c], 0
add eax, 1
cmp eax, 7
jne 0x421655
xor eax, eax
cmp eax, 7
jae 0x4216b6
movzx ebx, byte [esp + eax + 0x5c]
mov edx, 0xe1f6a8cf
sub edx, eax
or edx, ebx
mov ecx, 0xcf
sub ecx, eax
mov ebp, 0xcf
sub ebp, eax
or ecx, ebp
and ecx, ebx
xor edx, 0xffffffff
or ecx, edx
mov ebx, ecx
add ebx, 0xf
mov ebp, ecx
add ebp, 0x10
mov edx, 0xf0
sub edx, ecx
or edx, 1
add edx, ebp
or ebx, 1
add edx, ebx
mov ebx, dword [esp + 0x50]
mov byte [esp + eax + 0x5c], dl
add eax, 1
jmp 0x421664
mov eax, dword [esp + 0x5c]
cmp esi, eax
jne 0x4216ec
xor eax, eax
mov edx, edi
jmp 0x4216c4
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x4216db
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x4216c4
cmp eax, 0
je 0x4216e8
mov dword [eax], 0
jmp 0x4216e8
xor esi, esi
jmp 0x4216ec
cmp esi, 0
jge 0x421704
mov esi, dword [esp + 0x3c]
mov dword [esp], esi
call fcn.00439550
mov eax, 2
jmp 0x42170c
xor eax, eax
mov esi, dword [esp + 0x3c]
jmp 0x42170c
cmp eax, 0
je 0x42171b
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x44]
jmp 0x421734
mov eax, dword [edi]
cmp eax, 0
je 0x42172c
mov ecx, edi
add ecx, eax
mov dword [esp + 0x40], ecx
jmp 0x421732
mov dword [esp + 0x40], esi
jmp 0x421732
xor eax, eax
test eax, eax
mov eax, edi
je 0x4211d1
jmp 0x421740
jmp 0x421742
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00439550
mov eax, dword [esp + 0x80]
mov dword [esp + 0xd0], eax
mov al, byte [esp + 0xac]
mov byte [esp + 0xb8], al
mov byte [esp + 0xb0], 0xc5
mov byte [esp + 0xb1], 0xda
mov byte [esp + 0xb2], 0xdb
mov byte [esp + 0xb3], 0xd8
mov eax, 4
mov byte [esp + eax + 0xb0], 0
add eax, 1
cmp eax, 5
jne 0x42178f
xor eax, eax
cmp eax, 5
jae 0x4217d1
mov dl, byte [esp + eax + 0xb0]
movzx ecx, dl
mov edi, eax
add edi, 0x4f
and edi, ecx
shl edi, 1
mov ecx, eax
sub ecx, edi
add cl, 0xcf
add cl, dl
add cl, 0xf5
mov byte [esp + eax + 0xb0], cl
add eax, 1
jmp 0x4217a1
mov edi, dword [esp + 0xb0]
xor ebp, ebp
cmp ebp, dword [0x44aef0]
jb 0x4217e4
jmp 0x421839
mov esi, ebx
mov eax, dword [0x44aef4]
cmp dword [eax + ebp*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x4217fc
jmp 0x421829
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x421829
mov ecx, dword [0x44aef8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc], eax
call fcn.0043be00
test bl, 1
je 0x421832
mov ebx, esi
jmp 0x421839
add ebp, 1
mov ebx, esi
jmp 0x4217da
and bl, 1
movzx eax, bl
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret