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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe8
mov esi, dword [esp + 0x100]
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x78]
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.004409e0
xor ecx, ecx
cmp eax, 0
jl 0x4234fd
mov dword [esp], esi
call fcn.00418910
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 + 0xc8], ax
movzx eax, ax
add eax, 2
mov word [esp + 0xca], ax
mov dword [esp + 0xcc], esi
mov dword [esp], 0x848
call fcn.0043ba10
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x78]
mov al, byte [esp + 0x88]
mov byte [esp + 0xb4], al
mov byte [esp + 0x8c], 0x97
mov byte [esp + 0x8d], 0x96
mov byte [esp + 0x8e], 0x95
mov byte [esp + 0x8f], 0x94
mov eax, 4
mov byte [esp + eax + 0x8c], 0
add eax, 1
cmp eax, 8
jne 0x422c74
xor eax, eax
cmp eax, 8
jae 0x422cf3
movzx edx, byte [esp + eax + 0x8c]
mov ecx, eax
add ecx, 0xa4
and ecx, edx
mov edi, ecx
and edi, 2
xor edi, 2
mov ebx, ecx
and ebx, 0xfd
imul ebx, edi
mov edi, ecx
and edi, 2
or ecx, 2
imul ecx, edi
add ecx, ebx
mov ebx, eax
add ebx, 0x2ca25a4
add ebx, edx
sub ebx, ecx
add ebx, 0xf20d43cb
mov ecx, ebx
shl ecx, 1
and ecx, 2
mov edx, ebx
shl edx, 1
and edx, 2
add edx, 0xff
sub ebx, edx
add ebx, ecx
mov byte [esp + eax + 0x8c], bl
add eax, 1
jmp 0x422c86
mov edi, dword [esp + 0x8c]
xor ebx, ebx
mov ecx, 2
cmp ebx, dword [0x44cd1c]
jb 0x422d0e
jmp 0x422dc8
mov ecx, dword [0x44cd20]
cmp dword [ecx + ebx*8], 0x7fd4133f
sete dl
mov byte [esp + 0x3f], dl
test dl, 1
jne 0x422d2c
jmp 0x422db5
mov edx, dword [ecx + ebx*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x422db7
mov eax, dword [0x44cd24]
xor ecx, ecx
lea ecx, [esp + 0xe0]
lea ebp, [esp + 0xc8]
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 + 0x4c]
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.0043e470
mov ecx, 1
jmp 0x422db7
xor ecx, ecx
test byte [esp + 0x3f], 1
je 0x422dc0
jmp 0x422dc8
add ebx, 1
jmp 0x422cfc
cmp ecx, 2
je 0x422dcf
mov edi, eax
xor ebx, ebx
cmp edi, 0
jl 0x4233c8
mov dword [esp + 0x44], 0
xor ebx, ebx
xor esi, esi
mov edi, dword [esp + 0x4c]
jmp 0x422dec
mov dword [esp + 0x40], esi
mov esi, dword [edi + 0x3c]
shr esi, 1
mov eax, edi
add eax, 0x38
mov dword [esp + 0xdc], eax
mov eax, dword [edi + 0x38]
and eax, 0x400
cmp eax, 0
mov dword [esp + 0x48], edi
jne 0x422fee
mov al, byte [esp + 0x6c]
mov byte [esp + 0x94], al
mov byte [esp + 0x70], 0x22
mov byte [esp + 0x71], 0xcf
mov byte [esp + 0x72], 0xce
mov byte [esp + 0x73], 0xd1
mov eax, 4
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 7
jne 0x422e3a
xor eax, eax
jmp 0x422e4b
cmp eax, 7
jae 0x422e67
mov cl, byte [esp + eax + 0x70]
mov dl, al
add dl, 0xad
xor dl, cl
add dl, 0x9f
mov byte [esp + eax + 0x70], dl
add eax, 1
jmp 0x422e4b
mov ebp, edi
add ebp, 0x44
lea eax, [esp + 0x70]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00423510
cmp eax, 0
je 0x422fee
mov al, byte [esp + 0x68]
mov byte [esp + 0x98], al
mov byte [esp + 0xbc], 0x82
mov byte [esp + 0xbd], 0xff
mov byte [esp + 0xbe], 0x80
mov byte [esp + 0xbf], 0xf1
mov byte [esp + 0xc0], 0xf0
mov byte [esp + 0xc1], 0xf3
mov eax, 6
mov byte [esp + eax + 0xbc], 0
add eax, 1
cmp eax, 0xc
jne 0x422ec9
mov dword [esp + 0x38], ebx
xor eax, eax
cmp eax, 0xc
jae 0x422f1d
movzx ebx, byte [esp + eax + 0xbc]
mov edx, eax
add edx, 0x55
mov ecx, 0xaa
sub ecx, eax
mov edi, 0xaa
sub edi, eax
and ecx, edi
mov edi, dword [esp + 0x48]
or edx, ebx
xor ebx, 0xffffffff
or ecx, ebx
and ecx, edx
add cl, 0x57
mov byte [esp + eax + 0xbc], cl
add eax, 1
jmp 0x422edf
lea eax, [esp + 0xbc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00423510
cmp eax, 0
mov ebx, dword [esp + 0x38]
jne 0x422f46
mov esi, dword [esp + 0x40]
jmp 0x422ff2
mov eax, esi
sub eax, 0x37e8ebdc
add eax, 1
add eax, 0x37e8ebdc
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x422f6b
mov ecx, eax
mov dword [esp], ecx
call fcn.004086e0
mov ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00418580
mov word [eax], 0
mov ecx, dword [edi + 0x28]
mov eax, dword [esp + 0xdc]
mov edx, dword [eax]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0x108]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], ebx
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0x104]
and al, 1
movzx eax, al
mov ecx, dword [esp + 0x38]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne al
and al, 1
mov edi, eax
mov esi, dword [esp + 0x40]
mov dword [esp], ebx
call fcn.004086f0
mov ebx, edi
jmp 0x422fec
jmp 0x422ff2
mov esi, dword [esp + 0x40]
cmp esi, 0
je 0x422ffd
mov edi, dword [esp + 0x44]
jmp 0x42302b
mov dword [esp], 0x10900
call fcn.0043ba10
mov edi, eax
cmp edi, 0
sete al
test al, 1
jne 0x423017
jmp 0x423027
xor esi, esi
mov eax, 2
mov edi, dword [esp + 0x48]
jmp 0x4233bc
mov esi, edi
jmp 0x42302b
cmp edi, esi
jne 0x42339b
mov al, byte [esp + 0x5c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x60], 0x44
mov byte [esp + 0x61], 0x4c
mov byte [esp + 0x62], 0x45
mov byte [esp + 0x63], 0x41
mov eax, 4
mov byte [esp + eax + 0x60], 0
add eax, 1
cmp eax, 6
jne 0x423057
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], ebx
xor eax, eax
cmp eax, 6
jae 0x4230ca
movzx edx, byte [esp + eax + 0x60]
mov esi, eax
shl esi, 1
and esi, 0x75182ae2
mov ecx, eax
xor ecx, 0xba8c1571
add ecx, esi
xor ecx, edx
mov edx, ecx
and edx, 0xc8
mov esi, ecx
and esi, 0xc8
mov ebx, ecx
and ebx, 2
xor ebx, 2
imul ebx, esi
mov esi, ecx
and esi, 2
or edx, 2
imul edx, esi
add edx, ebx
xor ecx, 0xca
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x60], cl
add eax, 1
jmp 0x42306e
mov eax, dword [esp + 0x60]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd4], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0xb8], al
mov byte [esp + 0x80], 0x97
mov byte [esp + 0x81], 0x96
mov byte [esp + 0x82], 0x95
mov byte [esp + 0x83], 0x94
mov eax, 4
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 8
jne 0x423110
xor eax, eax
mov ebx, dword [esp + 0x38]
cmp eax, 8
jae 0x423197
movzx edx, byte [esp + eax + 0x80]
mov ecx, eax
add ecx, 0xa4
and ecx, edx
mov esi, ecx
and esi, 2
xor esi, 2
mov ebx, ecx
and ebx, 0xfd
imul ebx, esi
mov esi, ecx
and esi, 2
or ecx, 2
imul ecx, esi
add ecx, ebx
mov ebx, eax
add ebx, 0x2ca25a4
add ebx, edx
sub ebx, ecx
add ebx, 0xf20d43cb
mov ecx, ebx
shl ecx, 1
and ecx, 2
mov edx, ebx
shl edx, 1
and edx, 2
add edx, 0xff
sub ebx, edx
add ebx, ecx
mov byte [esp + eax + 0x80], bl
mov ebx, dword [esp + 0x38]
add eax, 1
jmp 0x423126
mov esi, dword [esp + 0x80]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44cd1c]
jb 0x4231b2
jmp 0x42327a
mov ecx, dword [0x44cd20]
cmp dword [ecx + ebp*8], 0x7fd4133f
sete dl
mov byte [esp + 0x3e], dl
test dl, 1
jne 0x4231d0
jmp 0x423267
mov edx, dword [ecx + ebp*8 + 4]
mov ecx, 2
cmp edx, esi
je 0x423269
mov eax, dword [0x44cd24]
xor ecx, ecx
lea ecx, [esp + 0xe0]
lea ebx, [esp + 0xc8]
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 + 0x38]
mov dword [esp + 0x34], 0
call fcn.0043e470
mov ecx, 1
jmp 0x423269
xor ecx, ecx
test byte [esp + 0x3e], 1
je 0x423272
jmp 0x42327a
add ebp, 1
jmp 0x4231a0
cmp ecx, 2
je 0x423281
mov esi, eax
mov al, byte [esp + 0x50]
mov byte [esp + 0xa0], al
mov byte [esp + 0x54], 0x77
mov byte [esp + 0x55], 0x4b
mov byte [esp + 0x56], 0x4a
mov byte [esp + 0x57], 0xc9
mov eax, 4
mov byte [esp + eax + 0x54], 0
add eax, 1
cmp eax, 8
jne 0x4232a5
xor eax, eax
cmp eax, 8
jae 0x42332d
movzx edx, byte [esp + eax + 0x54]
mov ebp, eax
add ebp, 0x200dc793
mov ecx, 0x6c
sub ecx, eax
mov ebx, 0x6c
sub ebx, eax
and ecx, ebx
mov ebx, 0xdff2386c
sub ebx, eax
and ebx, 0x9c434f46
and ebp, 0x63bcb0b9
or ebx, ebp
xor ebx, edx
xor ebx, 0x46
mov ebp, eax
add ebp, 0x93
and ebp, edx
or ebx, ebp
xor edx, 0xffffffff
or ecx, edx
and ecx, ebx
mov ebx, dword [esp + 0x38]
add cl, 0x21
mov byte [esp + eax + 0x54], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
shl edx, 1
and edx, 2
add edx, 0xffffffff
sub eax, edx
mov edx, eax
and edx, ecx
shl edx, 1
xor eax, ecx
add eax, edx
jmp 0x4232b4
mov eax, dword [esp + 0x54]
cmp esi, eax
jne 0x423369
xor eax, eax
mov edx, edi
jmp 0x42333b
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x423352
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x42333b
cmp eax, 0
setne cl
test cl, 1
jne 0x42335f
jmp 0x423365
mov dword [eax], 0
xor esi, esi
jmp 0x423369
cmp esi, 0
setge al
test al, 1
mov esi, dword [esp + 0x40]
jne 0x423388
jmp 0x423379
mov dword [esp], esi
call fcn.0043bab0
mov eax, 2
jmp 0x42338c
xor eax, eax
jmp 0x42338c
cmp eax, 0
je 0x42339b
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x48]
jmp 0x4233bc
mov eax, dword [edi]
cmp eax, 0
setne cl
test cl, 1
jne 0x4233aa
jmp 0x4233b4
mov ecx, edi
add ecx, eax
mov dword [esp + 0x44], ecx
jmp 0x4233ba
mov dword [esp + 0x44], esi
jmp 0x4233ba
xor eax, eax
test eax, eax
je 0x422dec
jmp 0x4233c6
jmp 0x4233c8
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0043bab0
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd0], eax
mov al, byte [esp + 0xa4]
mov byte [esp + 0xb0], al
mov byte [esp + 0xa8], 0x97
mov byte [esp + 0xa9], 0x96
mov byte [esp + 0xaa], 0x95
mov byte [esp + 0xab], 0x94
mov eax, 4
mov byte [esp + eax + 0xa8], 0
add eax, 1
cmp eax, 8
jne 0x423412
mov esi, ebx
xor eax, eax
cmp eax, 8
jae 0x423493
movzx edx, byte [esp + eax + 0xa8]
mov ecx, eax
add ecx, 0xa4
and ecx, edx
mov edi, ecx
and edi, 2
xor edi, 2
mov ebx, ecx
and ebx, 0xfd
imul ebx, edi
mov edi, ecx
and edi, 2
or ecx, 2
imul ecx, edi
add ecx, ebx
mov ebx, eax
add ebx, 0x2ca25a4
add ebx, edx
sub ebx, ecx
add ebx, 0xf20d43cb
mov ecx, ebx
shl ecx, 1
and ecx, 2
mov edx, ebx
shl edx, 1
and edx, 2
add edx, 0xff
sub ebx, edx
add ebx, ecx
mov byte [esp + eax + 0xa8], bl
add eax, 1
jmp 0x423426
mov edi, dword [esp + 0xa8]
xor ebp, ebp
mov ecx, esi
cmp ebp, dword [0x44cd1c]
jb 0x4234a8
jmp 0x4234fb
mov eax, dword [0x44cd20]
cmp dword [eax + ebp*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x4234be
jmp 0x4234eb
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x4234eb
mov ecx, dword [0x44cd24]
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.0043e470
test bl, 1
je 0x4234f4
mov ecx, esi
jmp 0x4234fb
add ebp, 1
mov ecx, esi
jmp 0x42349e
jmp 0x4234fd
and cl, 1
movzx eax, cl
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret