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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf0
mov esi, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
lea ecx, [esp + 0x74]
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.00440ca0
xor ebx, ebx
cmp eax, 0
jl 0x4213dc
mov dword [esp], esi
call fcn.00417a50
shl eax, 1
mov word [esp + 0xc8], ax
movzx eax, ax
mov ecx, eax
and ecx, 2
shl ecx, 1
xor eax, 2
add eax, ecx
mov word [esp + 0xca], ax
mov dword [esp + 0xcc], esi
mov dword [esp], 0x848
call fcn.0043a050
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x74]
mov al, byte [esp + 0x84]
mov byte [esp + 0xb0], al
mov byte [esp + 0x88], 0x1b
mov byte [esp + 0x89], 0x1a
mov byte [esp + 0x8a], 0x15
mov byte [esp + 0x8b], 0x14
mov eax, 4
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 8
jne 0x420bb2
xor eax, eax
cmp eax, 8
jae 0x420bf7
mov dl, byte [esp + eax + 0x88]
xor ecx, ecx
sub ecx, eax
mov edi, ecx
shl edi, 1
and edi, 0xf4
xor ecx, 5
add ecx, 1
sub ecx, edi
xor cl, dl
add cl, 0xe2
mov byte [esp + eax + 0x88], cl
add eax, 1
jmp 0x420bc4
mov edi, dword [esp + 0x88]
xor ebx, ebx
mov ecx, 2
cmp ebx, dword [0x44cf90]
jb 0x420c12
jmp 0x420ccc
mov ecx, dword [0x44cf94]
cmp dword [ecx + ebx*8], 0x557d0c65
sete dl
mov byte [esp + 0x3b], dl
test dl, 1
jne 0x420c30
jmp 0x420cb9
mov edx, dword [ecx + ebx*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x420cbb
mov eax, dword [0x44cf98]
xor ecx, ecx
lea ecx, [esp + 0xe8]
lea ebp, [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xb
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 + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], 0
call fcn.0043d020
mov ecx, 1
jmp 0x420cbb
xor ecx, ecx
test byte [esp + 0x3b], 1
je 0x420cc4
jmp 0x420ccc
add ebx, 1
jmp 0x420c00
cmp ecx, 2
je 0x420cd3
mov edi, eax
xor ebx, ebx
cmp edi, 0
jl 0x4212e5
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
jmp 0x420cf4
mov eax, dword [esp + 0x44]
mov ebp, dword [eax + 0x3c]
shr ebp, 1
mov ecx, eax
add ecx, 0x38
mov dword [esp + 0xe4], ecx
mov eax, dword [eax + 0x38]
and eax, 0x400
cmp eax, 0
sete al
test al, 1
jne 0x420d20
jmp 0x420f52
mov al, byte [esp + 0x68]
mov byte [esp + 0x90], al
mov byte [esp + 0x6c], 0x1e
mov byte [esp + 0x6d], 0x4b
mov byte [esp + 0x6e], 0x4a
mov byte [esp + 0x6f], 0x49
mov eax, 4
mov byte [esp + eax + 0x6c], 0
add eax, 1
cmp eax, 7
jne 0x420d44
mov dword [esp + 0xc4], esi
mov dword [esp + 0x40], ebx
xor eax, eax
cmp eax, 7
jae 0x420dbf
movzx edi, byte [esp + eax + 0x6c]
mov ecx, eax
add ecx, 0xbad01573
mov edx, eax
add edx, 0x73
and edx, edi
mov ebx, edx
and ebx, 0xfd
mov esi, edx
and esi, 2
xor esi, 2
imul esi, ebx
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
add edx, esi
add ecx, edi
add ecx, 0xc161ff00
sub ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x80
xor ecx, 0xc0
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x6c], cl
add eax, 1
jmp 0x420d5e
mov edi, dword [esp + 0x44]
add edi, 0x44
lea eax, [esp + 0x6c]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004213f0
cmp eax, 0
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0xc4]
je 0x420f52
mov al, byte [esp + 0x64]
mov byte [esp + 0x94], al
mov byte [esp + 0xb8], 0x1a
mov byte [esp + 0xb9], 0x49
mov byte [esp + 0xba], 0x1c
mov byte [esp + 0xbb], 0x4f
mov byte [esp + 0xbc], 0x4c
mov byte [esp + 0xbd], 0x4d
mov eax, 6
mov byte [esp + eax + 0xb8], 0
add eax, 1
cmp eax, 0xb
jne 0x420e2e
xor eax, eax
cmp eax, 0xb
jae 0x420e7c
movzx ebx, byte [esp + eax + 0xb8]
mov ecx, 0xd
sub ecx, eax
or ecx, ebx
mov edx, 0xd
sub edx, eax
mov esi, 0xd
sub esi, eax
or edx, esi
and edx, ebx
xor ecx, 0xffffffff
or edx, ecx
add dl, 0x46
mov byte [esp + eax + 0xb8], dl
add eax, 1
jmp 0x420e40
lea eax, [esp + 0xb8]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004213f0
cmp eax, 0
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0xc4]
jne 0x420ea8
jmp 0x420f52
mov ecx, ebp
and ecx, 1
shl ecx, 1
mov eax, ebp
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x420ecc
mov ecx, eax
mov dword [esp], ecx
call fcn.0040ced0
mov dword [esp + 0xd0], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.004176b0
mov word [eax], 0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x28]
mov eax, dword [esp + 0xe4]
mov edx, dword [eax]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0x110]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov edi, dword [esp + 0xd0]
mov dword [esp], edi
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0x10c]
and al, 1
movzx eax, al
and bl, 1
movzx ecx, bl
or ecx, eax
cmp ecx, 0
setne bl
and bl, 1
mov dword [esp], edi
call fcn.0040cee0
jmp 0x420f52
cmp dword [esp + 0x3c], 0
je 0x420f5d
mov edi, esi
jmp 0x420f88
mov dword [esp], 0x10900
call fcn.0043a050
mov edi, eax
cmp edi, 0
jne 0x420f82
mov dword [esp + 0x3c], 0
mov eax, 2
jmp 0x4212d9
mov dword [esp + 0x3c], edi
jmp 0x420f88
cmp edi, dword [esp + 0x3c]
jne 0x4212be
mov al, byte [esp + 0x58]
mov byte [esp + 0x98], al
mov byte [esp + 0x5c], 0x9c
mov byte [esp + 0x5d], 0xe4
mov byte [esp + 0x5e], 0x9d
mov byte [esp + 0x5f], 0x91
mov eax, 4
mov byte [esp + eax + 0x5c], 0
add eax, 1
cmp eax, 7
jne 0x420fb6
xor eax, eax
mov dword [esp + 0x40], ebx
cmp eax, 7
jae 0x42103b
mov cl, byte [esp + eax + 0x5c]
movzx esi, cl
mov ebx, eax
and ebx, 0x47c33fa5
mov ebp, eax
and ebp, 0x47c33fa5
xor ebp, 0xffffffff
mov edx, eax
add edx, 0x47c33fa6
add edx, ebp
add edx, ebx
mov ebx, edx
and ebx, esi
shl ebx, 1
mov ebp, edx
add ebp, esi
xor ebp, 0xffffffff
add ebx, ebp
mov esi, edx
and esi, ebx
mov ebx, esi
and ebx, 0xfd
mov ebp, esi
and ebp, 2
xor ebp, 2
imul ebp, ebx
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
mov ebx, dword [esp + 0x40]
add esi, ebp
sub edx, esi
add dl, cl
add dl, 0xc7
mov byte [esp + eax + 0x5c], dl
add eax, 1
jmp 0x420fc9
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0x78]
mov byte [esp + 0xb4], al
mov byte [esp + 0x7c], 0x1b
mov byte [esp + 0x7d], 0x1a
mov byte [esp + 0x7e], 0x15
mov byte [esp + 0x7f], 0x14
mov eax, 4
mov byte [esp + eax + 0x7c], 0
add eax, 1
cmp eax, 8
jne 0x421075
xor eax, eax
cmp eax, 8
jae 0x4210b1
mov dl, byte [esp + eax + 0x7c]
xor ecx, ecx
sub ecx, eax
mov esi, ecx
shl esi, 1
and esi, 0xf4
xor ecx, 5
add ecx, 1
sub ecx, esi
xor cl, dl
add cl, 0xe2
mov byte [esp + eax + 0x7c], cl
add eax, 1
jmp 0x421084
mov esi, dword [esp + 0x7c]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44cf90]
jb 0x4210c9
jmp 0x421191
mov ecx, dword [0x44cf94]
cmp dword [ecx + ebp*8], 0x557d0c65
sete dl
mov byte [esp + 0x3a], dl
test dl, 1
jne 0x4210e7
jmp 0x42117e
mov edx, dword [ecx + ebp*8 + 4]
mov ecx, 2
cmp edx, esi
je 0x421180
mov eax, dword [0x44cf98]
xor ecx, ecx
lea ecx, [esp + 0xe8]
lea ebx, [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xb
mov eax, dword [esp + 0xd8]
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 + 0xdc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x34], 0
call fcn.0043d020
mov ecx, 1
jmp 0x421180
xor ecx, ecx
test byte [esp + 0x3a], 1
je 0x421189
jmp 0x421191
add ebp, 1
jmp 0x4210b7
cmp ecx, 2
je 0x421198
mov esi, eax
mov al, byte [esp + 0x4c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x50], 0xdf
mov byte [esp + 0x51], 0xdb
mov byte [esp + 0x52], 0xda
mov byte [esp + 0x53], 0x59
mov eax, 4
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 7
jne 0x4211bc
mov dword [esp + 0xe0], edi
xor eax, eax
cmp eax, 7
jae 0x421256
mov dl, byte [esp + eax + 0x50]
movzx ebx, dl
mov ecx, eax
add ecx, 0x3bba44cf
mov ebp, ebx
xor ebp, 0xffffffff
mov edi, esi
mov esi, ecx
and esi, ebp
mov ebp, 0x30
sub ebp, eax
and ebp, ebx
or ebp, esi
mov esi, 0xc445bb30
sub esi, eax
mov ebx, 0xc445bb30
sub ebx, eax
and esi, ebx
or ebp, esi
mov ebx, ebp
xor ebx, 0xffffffff
mov esi, ebp
and esi, 2
and ebp, 0xfd
xor ebp, 0xfd
imul ebp, esi
mov esi, ebx
and esi, 2
or ebx, 2
imul ebx, esi
mov esi, edi
add ebx, ebp
sub ecx, ebx
mov ebx, dword [esp + 0x40]
add cl, dl
add cl, 0xf5
mov byte [esp + eax + 0x50], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x4211d2
mov eax, dword [esp + 0x50]
cmp esi, eax
mov edi, dword [esp + 0xe0]
jne 0x421299
xor eax, eax
mov edx, edi
jmp 0x42126b
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x421282
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x42126b
cmp eax, 0
setne cl
test cl, 1
jne 0x42128f
jmp 0x421295
mov dword [eax], 0
xor esi, esi
jmp 0x421299
cmp esi, 0
jge 0x4212b1
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.0043a0e0
mov eax, 2
jmp 0x4212b5
xor eax, eax
jmp 0x4212b5
cmp eax, 0
je 0x4212be
mov esi, edi
jmp 0x4212d9
mov eax, dword [edi]
cmp eax, 0
je 0x4212cb
mov esi, edi
add esi, eax
jmp 0x4212d1
mov esi, dword [esp + 0x3c]
jmp 0x4212d1
xor eax, eax
mov dword [esp + 0x44], edi
jmp 0x4212d9
test eax, eax
je 0x420cf4
jmp 0x4212e3
jmp 0x4212e5
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0043a0e0
mov eax, dword [esp + 0x74]
mov dword [esp + 0xd4], eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0xac], al
mov byte [esp + 0xa4], 0x1b
mov byte [esp + 0xa5], 0x1a
mov byte [esp + 0xa6], 0x15
mov byte [esp + 0xa7], 0x14
mov eax, 4
mov byte [esp + eax + 0xa4], 0
add eax, 1
cmp eax, 8
jne 0x42132f
xor eax, eax
cmp eax, 8
jae 0x421374
mov dl, byte [esp + eax + 0xa4]
xor ecx, ecx
sub ecx, eax
mov edi, ecx
shl edi, 1
and edi, 0xf4
xor ecx, 5
add ecx, 1
sub ecx, edi
xor cl, dl
add cl, 0xe2
mov byte [esp + eax + 0xa4], cl
add eax, 1
jmp 0x421341
mov edi, dword [esp + 0xa4]
xor ebp, ebp
cmp ebp, dword [0x44cf90]
jb 0x421387
jmp 0x4213dc
mov esi, ebx
mov eax, dword [0x44cf94]
cmp dword [eax + ebp*8], 0xb62b8d10
sete bl
test bl, 1
jne 0x42139f
jmp 0x4213cc
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x4213cc
mov ecx, dword [0x44cf98]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
call fcn.0043d020
test bl, 1
je 0x4213d5
mov ebx, esi
jmp 0x4213dc
add ebp, 1
mov ebx, esi
jmp 0x42137d
and bl, 1
movzx eax, bl
add esp, 0xf0
pop esi
pop edi
pop ebx
pop ebp
ret