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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xdc
mov esi, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
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.00440330
xor ecx, ecx
cmp eax, 0
jl 0x422c6c
mov dword [esp], esi
call fcn.00417850
shl eax, 1
mov word [esp + 0xbc], ax
movzx eax, ax
add eax, 2
mov word [esp + 0xbe], ax
mov dword [esp + 0xc0], esi
mov dword [esp], 0x848
call fcn.0043b300
mov dword [esp + 0x5c], eax
mov esi, dword [esp + 0x80]
mov al, byte [esp + 0x88]
mov byte [esp + 0xa4], al
mov byte [esp + 0x4c], 0xc5
mov byte [esp + 0x4d], 0xc6
mov byte [esp + 0x4e], 0xc7
mov byte [esp + 0x4f], 0xc0
xor eax, eax
cmp eax, 4
jae 0x422543
movzx edx, byte [esp + eax + 0x4c]
mov edi, 0x4e
sub edi, eax
mov ecx, 0x4e
sub ecx, eax
and edi, ecx
xor edi, 0xffffffff
mov ecx, edx
and ecx, edi
mov edi, 0x93fd264e
sub edi, eax
xor edx, 0xffffffff
and edi, edx
or ecx, edi
mov edx, 0xe3f1bf89
sub edx, ecx
mov ebx, edx
xor ebx, 0x7e
mov edi, edx
or edi, 1
and edi, ebx
shl edi, 1
add ecx, 0x76
and ecx, 0x9b
and edx, 0x64
or ecx, edx
xor ecx, 0x9a
add ecx, edi
mov byte [esp + eax + 0x4c], cl
add eax, 1
jmp 0x4224e0
mov edi, dword [esp + 0x4c]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44cf3c]
jb 0x42255b
jmp 0x422613
mov edx, dword [0x44cf40]
cmp dword [edx + ebp*8], 0x7fd4133f
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x42257b
jmp 0x422602
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x422602
mov eax, dword [0x44cf44]
xor ecx, ecx
lea ecx, [esp + 0xd4]
lea ebx, [esp + 0xbc]
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 + 0x5c]
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.0043df80
mov ecx, 1
test byte [esp + 0x3b], 1
je 0x42260b
jmp 0x422613
add ebp, 1
jmp 0x422549
cmp ecx, 2
je 0x42261a
mov edi, eax
xor ebx, ebx
cmp edi, 0
jl 0x422b64
mov dword [esp + 0x54], 0
xor ebx, ebx
xor esi, esi
mov eax, dword [esp + 0x5c]
jmp 0x422637
mov dword [esp + 0x3c], esi
mov edi, dword [eax + 0x3c]
shr edi, 1
mov esi, eax
add esi, 0x38
mov dword [esp + 0x58], eax
mov eax, dword [eax + 0x38]
and eax, 0x400
cmp eax, 0
jne 0x422832
mov al, byte [esp + 0x74]
mov byte [esp + 0x8c], al
mov byte [esp + 0x78], 0xca
mov byte [esp + 0x79], 0x19
mov byte [esp + 0x7a], 0x16
mov byte [esp + 0x7b], 0x17
mov eax, 4
mov byte [esp + eax + 0x78], 0
add eax, 1
cmp eax, 8
jne 0x42267e
mov dword [esp + 0x40], ebx
xor eax, eax
cmp eax, 8
jae 0x4226c2
mov dl, byte [esp + eax + 0x78]
mov ebx, eax
add ebx, 0x46
mov ecx, 0xb9
sub ecx, eax
and ecx, 0xb3
and ebx, 0x4c
or ecx, ebx
xor cl, dl
xor cl, 0xb3
add cl, 0xa2
mov byte [esp + eax + 0x78], cl
add eax, 1
jmp 0x422691
mov ebp, dword [esp + 0x58]
add ebp, 0x44
lea eax, [esp + 0x78]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00422c80
cmp eax, 0
mov ebx, dword [esp + 0x40]
je 0x422832
mov al, byte [esp + 0x70]
mov byte [esp + 0x90], al
mov byte [esp + 0xac], 0xbe
mov byte [esp + 0xad], 0x61
mov byte [esp + 0xae], 0xbc
mov byte [esp + 0xaf], 0x63
mov byte [esp + 0xb0], 0x64
mov byte [esp + 0xb1], 0x65
mov eax, 6
mov byte [esp + eax + 0xac], 0
add eax, 1
cmp eax, 0xc
jne 0x42272a
xor eax, eax
cmp eax, 0xc
jae 0x42276f
mov dl, byte [esp + eax + 0xac]
mov ebx, eax
and ebx, 0x68
xor ebx, 0x68
mov ecx, eax
and ecx, 0x97
sub ecx, ebx
mov ebx, dword [esp + 0x40]
xor cl, dl
add cl, 8
mov byte [esp + eax + 0xac], cl
add eax, 1
jmp 0x42273c
lea eax, [esp + 0xac]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00422c80
cmp eax, 0
jne 0x422794
mov esi, dword [esp + 0x3c]
jmp 0x422836
mov eax, edi
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4227af
mov ecx, eax
mov dword [esp], ecx
call fcn.00408590
mov dword [esp + 0xc4], eax
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.00417490
mov word [eax], 0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x28]
mov edx, dword [esi]
mov esi, dword [esp + 0xc4]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0xfc]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], esi
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0xf8]
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], esi
call fcn.004085a0
mov esi, dword [esp + 0x3c]
jmp 0x422836
mov esi, dword [esp + 0x3c]
cmp esi, 0
je 0x422841
mov edi, dword [esp + 0x54]
jmp 0x422868
mov dword [esp], 0x10900
call fcn.0043b300
mov edi, eax
cmp edi, 0
jne 0x422864
xor esi, esi
mov eax, 2
mov edi, dword [esp + 0x58]
jmp 0x422b56
mov esi, edi
jmp 0x422868
cmp edi, esi
jne 0x422b3d
mov al, byte [esp + 0x64]
mov byte [esp + 0x94], al
mov byte [esp + 0x68], 0x98
mov byte [esp + 0x69], 0xe0
mov byte [esp + 0x6a], 0x97
mov byte [esp + 0x6b], 0x97
mov eax, 4
mov byte [esp + eax + 0x68], 0
add eax, 1
cmp eax, 8
jne 0x422894
mov dword [esp + 0x3c], esi
xor eax, eax
cmp eax, 8
jae 0x4228e6
movzx edx, byte [esp + eax + 0x68]
mov ecx, eax
add ecx, 0x5d76a0a6
mov esi, ecx
xor esi, edx
xor ecx, edx
shl ecx, 1
sub ecx, esi
add ecx, 0x2caedcc1
mov edx, ecx
shl edx, 1
and edx, 2
mov esi, ecx
and esi, edx
shl esi, 1
xor ecx, edx
xor ecx, 1
add ecx, esi
mov byte [esp + eax + 0x68], cl
add eax, 1
jmp 0x4228a7
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0x68]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xcc], eax
mov al, byte [esp + 0x84]
mov byte [esp + 0xa8], al
mov byte [esp + 0x48], 0xc5
mov byte [esp + 0x49], 0xc6
mov byte [esp + 0x4a], 0xc7
mov byte [esp + 0x4b], 0xc0
xor eax, eax
cmp eax, 4
jae 0x42298a
movzx edx, byte [esp + eax + 0x48]
mov esi, 0x4e
sub esi, eax
mov ecx, 0x4e
sub ecx, eax
and esi, ecx
xor esi, 0xffffffff
mov ecx, edx
and ecx, esi
mov esi, 0x93fd264e
sub esi, eax
xor edx, 0xffffffff
and esi, edx
or ecx, esi
mov edx, 0xe3f1bf89
sub edx, ecx
mov ebx, edx
xor ebx, 0x7e
mov esi, edx
or esi, 1
and esi, ebx
shl esi, 1
add ecx, 0x76
and ecx, 0x9b
and edx, 0x64
or ecx, edx
xor ecx, 0x9a
add ecx, esi
mov byte [esp + eax + 0x48], cl
add eax, 1
jmp 0x422927
mov esi, dword [esp + 0x48]
xor ebp, ebp
mov ebx, dword [esp + 0x40]
mov ecx, 2
cmp ebp, dword [0x44cf3c]
jb 0x4229a6
jmp 0x422a85
mov dword [esp + 0xb8], esi
mov esi, ebx
mov edx, dword [0x44cf40]
cmp dword [edx + ebp*8], 0x7fd4133f
sete bl
xor ecx, ecx
mov byte [esp + 0x3a], bl
test bl, 1
jne 0x4229d1
mov ebx, esi
jmp 0x422a6d
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, dword [esp + 0xb8]
mov ebx, esi
je 0x422a6d
mov eax, dword [0x44cf44]
xor ecx, ecx
lea ecx, [esp + 0xd4]
lea ebx, [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xcc]
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 + 0xd0]
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.0043df80
mov ecx, 1
test byte [esp + 0x3a], 1
mov esi, dword [esp + 0xb8]
je 0x422a7d
jmp 0x422a85
add ebp, 1
jmp 0x422994
cmp ecx, 2
je 0x422a8c
mov esi, eax
mov al, byte [esp + 0x60]
mov byte [esp + 0x98], al
mov byte [esp + 0x44], 0x6f
mov byte [esp + 0x45], 0x6b
mov byte [esp + 0x46], 0x6a
mov byte [esp + 0x47], 0xe9
xor eax, eax
cmp eax, 4
jae 0x422ac9
mov cl, byte [esp + eax + 0x44]
mov dl, al
add dl, 0x17
xor dl, cl
add dl, 0x8d
mov byte [esp + eax + 0x44], dl
add eax, 1
jmp 0x422aad
cmp esi, dword [esp + 0x44]
sete al
test al, 1
jne 0x422ad6
jmp 0x422b0e
xor eax, eax
mov esi, edi
jmp 0x422adc
mov ecx, esi
mov edx, dword [ecx]
cmp edx, 0
setne bl
test bl, 1
jne 0x422aed
jmp 0x422afb
shr edx, 2
shl edx, 2
mov esi, ecx
add esi, edx
mov eax, ecx
jmp 0x422adc
cmp eax, 0
mov ebx, dword [esp + 0x40]
je 0x422b0a
mov dword [eax], 0
xor esi, esi
jmp 0x422b0e
cmp esi, 0
jge 0x422b26
mov esi, dword [esp + 0x3c]
mov dword [esp], esi
call fcn.0043b400
mov eax, 2
jmp 0x422b2e
xor eax, eax
mov esi, dword [esp + 0x3c]
jmp 0x422b2e
cmp eax, 0
je 0x422b3d
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x58]
jmp 0x422b56
mov eax, dword [edi]
cmp eax, 0
je 0x422b4e
mov ecx, edi
add ecx, eax
mov dword [esp + 0x54], ecx
jmp 0x422b54
mov dword [esp + 0x54], esi
jmp 0x422b54
xor eax, eax
test eax, eax
mov eax, edi
je 0x422637
jmp 0x422b62
jmp 0x422b64
mov esi, ebx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0043b400
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc8], eax
mov al, byte [esp + 0x9c]
mov byte [esp + 0xa0], al
mov byte [esp + 0x50], 0xc5
mov byte [esp + 0x51], 0xc6
mov byte [esp + 0x52], 0xc7
mov byte [esp + 0x53], 0xc0
xor eax, eax
cmp eax, 4
jae 0x422c07
movzx edx, byte [esp + eax + 0x50]
mov edi, 0x4e
sub edi, eax
mov ecx, 0x4e
sub ecx, eax
and edi, ecx
xor edi, 0xffffffff
mov ecx, edx
and ecx, edi
mov edi, 0x93fd264e
sub edi, eax
xor edx, 0xffffffff
and edi, edx
or ecx, edi
mov edx, 0xe3f1bf89
sub edx, ecx
mov ebx, edx
xor ebx, 0x7e
mov edi, edx
or edi, 1
and edi, ebx
shl edi, 1
add ecx, 0x76
and ecx, 0x9b
and edx, 0x64
or ecx, edx
xor ecx, 0x9a
add ecx, edi
mov byte [esp + eax + 0x50], cl
add eax, 1
jmp 0x422ba4
mov edi, dword [esp + 0x50]
xor ebp, ebp
mov ecx, esi
cmp ebp, dword [0x44cf3c]
jb 0x422c19
jmp 0x422c6c
mov eax, dword [0x44cf40]
cmp dword [eax + ebp*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x422c2f
jmp 0x422c5c
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x422c5c
mov ecx, dword [0x44cf44]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xc], eax
call fcn.0043df80
test bl, 1
je 0x422c65
mov ecx, esi
jmp 0x422c6c
add ebp, 1
mov ecx, esi
jmp 0x422c0f
and cl, 1
movzx eax, cl
add esp, 0xdc
pop esi
pop edi
pop ebx
pop ebp
ret