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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc8
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe0]
mov dword [esp], 0xf2edf500
mov eax, dword [esp]
cmp eax, 0x162c56b3
jg 0x4223f2
cmp eax, 0xce223f2e
jg 0x4224b9
cmp eax, 0xae0fa27f
jle 0x422587
cmp eax, 0xc087aba2
jle 0x4226d7
cmp eax, 0xc61c86e4
jle 0x42297d
cmp eax, 0xc61c86e5
je 0x422e4c
cmp eax, 0xc91372e4
je 0x422e58
cmp eax, 0xcc3b494c
jne 0x422385
cmp byte [esp + 0x1d], 0
mov eax, 0x8f5fa7d4
jne 0x4231c9
mov eax, 0x49e6a6ed
jmp 0x4231c9
cmp eax, 0x49e6a6ec
jg 0x422507
cmp eax, 0x30f5957f
jg 0x4225d8
cmp eax, 0x20c12e65
jle 0x42270d
cmp eax, 0x26b46e44
jle 0x4229b5
cmp eax, 0x26b46e45
je 0x422e71
cmp eax, 0x2801fa79
je 0x422e8a
cmp eax, 0x2d908177
jne 0x422385
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x70]
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
xor eax, 0xffffffff
sete ah
setne al
mov ecx, dword [esp + 0x6c]
cmp ecx, 0xa
setl cl
setge ch
mov dh, al
or dh, ch
mov dl, al
xor dl, ch
not dl
and dl, ch
mov ch, dh
xor ch, dl
xor dl, 1
xor ch, 1
or dl, dh
xor dl, 1
or dl, ch
xor cl, ah
xor cl, 1
xor al, cl
mov ebp, 0x4c0302d5
test al, cl
jne 0x42249c
mov ebp, 0xa7ebefb3
mov esi, ebp
test dl, dl
jne 0x4224ac
mov ebp, 0x4c0302d5
mov esi, 0xa7ebefb3
test al, cl
cmovne ebp, esi
mov dword [esp], ebp
jmp 0x422385
cmp eax, 0xec711b51
jg 0x42261b
cmp eax, 0xdcac4dc0
jle 0x422767
cmp eax, 0xe2fb6802
jle 0x422a12
cmp eax, 0xe2fb6803
je 0x422ec7
cmp eax, 0xe473321f
je 0x422ee0
cmp eax, 0xe6a78720
jne 0x422385
mov dword [esp], 0xafcc6bb8
jmp 0x422385
cmp eax, 0x6a1cde60
jg 0x42268b
cmp eax, 0x4d6784f0
jle 0x4227c1
cmp eax, 0x5cf79be2
jle 0x422a49
cmp eax, 0x5cf79be3
je 0x422f1c
cmp eax, 0x60ae8ef8
je 0x422f99
cmp eax, 0x63363e7b
jne 0x422385
cmp dword [esp + 0x94], 0
sete al
mov ecx, dword [esp + 0x8c]
cmp ecx, 0xa
setl cl
xor cl, al
mov edx, ecx
xor dl, 1
and al, dl
xor dl, al
mov esi, 0xc61c86e5
mov edx, 0xe6a78720
jne 0x42257d
mov esi, 0xe6a78720
test cl, cl
cmove edx, esi
jmp 0x422b10
cmp eax, 0x9bab897f
jle 0x42280d
cmp eax, 0x9f540ea1
jle 0x422aa0
cmp eax, 0x9f540ea2
je 0x422fca
cmp eax, 0xa7ebefb3
je 0x422fd6
cmp eax, 0xadda843c
jne 0x422385
cmp byte [esp + 0x14], 0
mov eax, 0xda837e74
jne 0x4231c9
mov eax, 0x9f540ea2
jmp 0x4231c9
cmp eax, 0x3d2d4e31
jle 0x422880
cmp eax, 0x40be09e3
jle 0x422b17
cmp eax, 0x40be09e4
je 0x422ff8
cmp eax, 0x471f6cfa
je 0x423018
cmp eax, 0x4876ddb7
jne 0x422385
mov dword [esp], 0x6d7c952d
jmp 0x422385
cmp eax, 0xf2edf4ff
jle 0x4228bf
cmp eax, 0x53207e3
jle 0x422b48
cmp eax, 0x53207e4
je 0x423036
cmp eax, 0xf9cef0f
je 0x423083
cmp eax, 0x1085eb72
jne 0x422385
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0x84], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xfffffffe
xor ecx, 1
or ecx, eax
not ecx
mov dword [esp + 0x88], ecx
mov dword [esp], 0x26b46e45
jmp 0x422385
cmp eax, 0x6e14a036
jle 0x4228f3
cmp eax, 0x78223aa3
jle 0x422b6a
cmp eax, 0x78223aa4
je 0x4230aa
cmp eax, 0x7a82ae2c
je 0x4230f0
cmp eax, 0x7d113c37
jne 0x422385
mov eax, dword [esp + 0x44]
dec eax
mov dword [esp + 0x78], eax
mov dword [esp], 0x38ad1f22
jmp 0x422385
cmp eax, 0xb6494d9b
jle 0x422ba1
cmp eax, 0xb6494d9c
je 0x42311c
cmp eax, 0xbe613e7a
jne 0x423542
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x70], eax
mov dword [esp], 0x2d908177
jmp 0x422385
cmp eax, 0x1b4f6378
jg 0x422bfe
cmp eax, 0x162c56b4
je 0x423136
cmp eax, 0x1a185054
jne 0x422385
mov ecx, dword [0x45cae4]
mov eax, dword [0x45cae8]
mov dword [esp + 0x64], eax
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
not eax
or eax, ecx
not eax
mov dword [esp + 0x68], eax
mov dword [esp], 0xe473321f
jmp 0x422385
cmp eax, 0xd763f918
jg 0x422c5c
cmp eax, 0xce223f2f
je 0x423153
cmp eax, 0xce6c364b
jne 0x422385
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0xa8], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xfffffffe
xor ecx, 1
or ecx, eax
not ecx
mov dword [esp + 0xac], ecx
mov dword [esp], 0xc91372e4
jmp 0x422385
cmp eax, 0x4a445171
jg 0x422c7e
cmp eax, 0x49e6a6ed
je 0x423180
cmp eax, 0x49f06d7f
jne 0x422385
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0x8c], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0x90], ecx
mov dword [esp], 0xec711b52
jmp 0x422385
cmp eax, 0x903c54ae
jg 0x422cb5
cmp eax, 0x8618261b
je 0x42318c
cmp eax, 0x8f5fa7d4
jne 0x422385
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0xb0], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0x72739702
mov edx, eax
and edx, 0x8d8c68fd
or edx, ecx
xor edx, 0x8d8c68fc
and eax, 0xfffffffe
or eax, edx
xor eax, 0x16bcd421
cmp eax, 0xe9432bde
sete byte [esp + 0x1e]
mov dword [esp], 0x3e8c332d
jmp 0x422385
cmp eax, 0x385f325e
jg 0x422d2b
cmp eax, 0x30f59580
je 0x4231d1
cmp eax, 0x32cf99d5
jne 0x422385
mov eax, dword [0x45cae4]
mov dword [esp + 0x40], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x6c], eax
mov dword [esp], 0xbe613e7a
jmp 0x422385
cmp eax, 0xeeaded1e
jg 0x422dab
cmp eax, 0xec711b52
je 0x4231ef
cmp eax, 0xed0c4371
jne 0x422385
mov eax, dword [esp + 0xc4]
mov dword [esp], 0xc5f23ca5
jmp 0x422385
cmp eax, 0x6bcd7193
jg 0x422e05
cmp eax, 0x6a1cde61
je 0x42321d
cmp eax, 0x6b66c4e8
jne 0x422385
mov eax, dword [esp + 0x3c]
inc eax
imul eax, dword [esp + 0x3c]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xa6a3c926
and eax, 0x595c36d9
or eax, edx
xor eax, 0xa6a3c927
or eax, ecx
xor eax, 0xffffffff
setne dl
sete al
cmp dword [0x45cae8], 0xa
setl ah
setge ch
mov cl, al
xor cl, ch
and cl, al
and ah, dl
and al, ch
or al, ah
mov edx, 0x32cf99d5
mov ebp, 0x32cf99d5
jne 0x42296b
mov ebp, 0x903c54af
xor al, cl
test cl, cl
jne 0x422976
mov ebp, 0x903c54af
test al, al
jmp 0x423537
cmp eax, 0xc087aba3
je 0x423248
cmp eax, 0xc5f23ca5
jne 0x422385
mov eax, dword [esp + 4]
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 8]
setb byte [esp + 0x19]
mov dword [esp], 0x6a1cde61
jmp 0x422385
cmp eax, 0x20c12e66
je 0x42328e
cmp eax, 0x243187ca
jne 0x422385
mov al, byte [esp + 0x15]
mov dl, byte [esp + 0x16]
mov ah, al
xor ah, 1
mov ch, dl
mov cl, al
or al, dl
xor dl, 1
and ch, ah
and cl, dl
or cl, ch
xor dl, ah
xor al, 1
or al, dl
mov ah, al
xor ah, cl
mov esi, 0x40be09e4
mov edx, 0xeeaded1f
test ah, 1
jne 0x422a05
mov esi, 0xeeaded1f
test al, 1
cmovne edx, esi
test cl, 1
jmp 0x423327
cmp eax, 0xdcac4dc1
je 0x4232d3
cmp eax, 0xde7f00c8
jne 0x422385
mov eax, dword [0x45cae4]
mov dword [esp + 0x58], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0xb4], eax
mov dword [esp], 0x162c56b4
jmp 0x422385
cmp eax, 0x4d6784f1
je 0x4232ef
cmp eax, 0x4e752e94
jne 0x422385
mov dword [esp + 8], 0
lea eax, [esp + 8]
push eax
push dword [esp + 0x3c]
push 0x458394
push dword [esp + 0x2c]
call fcn.0040da7c
add esp, 0x10
cmp dword [esp + 8], 0
sete byte [esp + 0x11]
mov eax, dword [0x45cae4]
mov dword [esp + 0x3c], eax
mov dword [esp], 0x6b66c4e8
jmp 0x422385
cmp eax, 0x9bab8980
je 0x423332
cmp eax, 0x9ee4a715
jne 0x422385
mov eax, dword [esp + 0x84]
cmp eax, 0xa
setl dl
setge ah
mov cl, byte [esp + 0x17]
mov al, cl
xor al, 1
and al, cl
xor al, 1
mov ch, cl
xor ch, al
or al, cl
xor al, 1
or al, ch
mov ch, al
xor ch, 1
and ch, ah
and al, dl
or al, ch
mov ah, cl
xor ah, dl
or cl, dl
xor cl, 1
or cl, ah
mov ah, cl
xor ah, al
mov esi, 0xc61c86e5
mov edx, 0x49f06d7f
test ah, 1
jne 0x422b0a
mov esi, 0x49f06d7f
test cl, 1
cmovne edx, esi
test al, al
jmp 0x423327
cmp eax, 0x3d2d4e32
je 0x423351
cmp eax, 0x3e8c332d
jne 0x422385
mov eax, dword [esp + 0xb0]
cmp eax, 0xa
setl byte [esp + 0x1f]
mov dword [esp], 0x6bcd7194
jmp 0x422385
cmp eax, 0xf2edf500
je 0x423373
cmp eax, 0xf3aec187
jne 0x422385
mov dword [esp], 0x60ae8ef8
jmp 0x422385
cmp eax, 0x6e14a037
je 0x423392
cmp eax, 0x73728775
jne 0x422385
cmp byte [esp + 0x19], 0
mov eax, 0x8618261b
jne 0x422b91
mov eax, 0x30f59580
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], eax
jmp 0x422385
cmp eax, 0xae0fa280
je 0x423402
cmp eax, 0xafcc6bb8
jne 0x422385
mov ecx, dword [0x45cae4]
mov eax, dword [0x45cae8]
mov dword [esp + 0x98], eax
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x7948dea3
and eax, 0x86b7215c
or eax, edx
xor eax, 0x86b7215d
xor ecx, eax
and ecx, eax
mov dword [esp + 0x9c], ecx
mov dword [esp], 0xe2fb6803
jmp 0x422385
cmp eax, 0x1b4f6379
je 0x42344a
cmp eax, 0x201d1ba4
jne 0x422385
mov edx, dword [0x45cae4]
mov eax, dword [0x45cae8]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
not edx
mov esi, edx
and esi, 0x7386f18d
and ecx, 0x8c790e72
or ecx, esi
xor ecx, 0x8c790e73
xor edx, ecx
test edx, ecx
sete byte [esp + 0x1b]
cmp eax, 0xa
setl byte [esp + 0x1c]
mov dword [esp], 0x53207e4
jmp 0x422385
cmp eax, 0xd763f919
je 0x423456
cmp eax, 0xda837e74
jne 0x422385
mov dword [esp], 0xce6c364b
jmp 0x422385
cmp eax, 0x4a445172
je 0x423476
cmp eax, 0x4c0302d5
jne 0x422385
cmp byte [esp + 0x11], 0
mov eax, 0x30f59580
jne 0x422ca5
mov eax, 0x8618261b
mov dword [esp], eax
mov dword [esp + 0x30], 0
jmp 0x422385
cmp eax, 0x903c54af
je 0x423482
cmp eax, 0x97ef5679
jne 0x422385
mov ecx, dword [esp + 0x50]
inc ecx
imul ecx, dword [esp + 0x50]
mov eax, ecx
not eax
and ecx, 0x216186dc
mov edx, eax
and edx, 0xde9e7923
or edx, ecx
xor edx, 0xde9e7922
and eax, 0xfffffffe
or eax, edx
xor eax, 0xffffffff
setne dl
sete al
mov ecx, dword [esp + 0x80]
cmp ecx, 0xa
setge cl
xor al, cl
mov ah, cl
and ah, dl
xor cl, dl
or cl, ah
mov edx, eax
xor dl, cl
mov edx, 0x1085eb72
mov esi, 0x1085eb72
jne 0x422d99
mov esi, 0x40be09e4
jmp 0x422d99
cmp eax, 0x385f325f
je 0x4234a4
cmp eax, 0x38ad1f22
jne 0x422385
mov eax, dword [esp + 0x44]
imul eax, dword [esp + 0x78]
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
xor eax, 0xffffffff
setne dl
sete ah
mov ecx, dword [esp + 0x74]
cmp ecx, 0xa
setge al
setl cl
and cl, ah
mov ah, al
and ah, dl
or cl, ah
xor al, dl
or al, ah
mov edx, eax
xor dl, 1
or al, cl
xor cl, 1
or cl, dl
mov edx, ecx
xor dl, al
mov edx, 0x9f540ea2
mov esi, 0x9f540ea2
jne 0x422d99
mov esi, 0xae0fa280
test cl, cl
cmovne edx, esi
test al, al
cmovne edx, esi
mov dword [esp], edx
jmp 0x422385
cmp eax, 0xeeaded1f
je 0x4234c9
cmp eax, 0xefa946df
jne 0x422385
mov eax, dword [esp + 0x4c]
inc eax
imul eax, dword [esp + 0x4c]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x5273cd8b
and eax, 0xad8c3274
or eax, edx
xor eax, 0x5273cd8a
or eax, ecx
cmp eax, 0xffffffff
sete byte [esp + 0x15]
mov eax, dword [esp + 0x7c]
cmp eax, 0xa
setl byte [esp + 0x16]
mov dword [esp], 0x243187ca
jmp 0x422385
cmp eax, 0x6bcd7194
je 0x4234f4
cmp eax, 0x6d7c952d
jne 0x422385
mov dword [esp + 8], 0
lea eax, [esp + 8]
push eax
push dword [esp + 0xc0]
push 0x458394
push dword [esp + 0x2c]
call fcn.0040da7c
add esp, 0x10
mov dword [esp], 0x1a185054
jmp 0x422385
mov dword [esp], 0x49f06d7f
jmp 0x422385
cmp dword [esp + 0xac], 0
sete byte [esp + 0x1a]
mov dword [esp], 0x4d6784f1
jmp 0x422385
cmp dword [esp + 0x88], 0
sete byte [esp + 0x17]
mov dword [esp], 0x9ee4a715
jmp 0x422385
mov eax, dword [esp + 0x98]
cmp eax, 0xa
setl dl
mov al, byte [esp + 0x18]
xor al, dl
mov ecx, eax
not cl
and cl, dl
mov ah, cl
xor ah, al
mov edx, 0xc5f23ca5
mov esi, 0xc5f23ca5
test ah, 1
jne 0x422ebb
mov esi, 0xdcac4dc1
test al, 1
cmove edx, esi
test cl, cl
jmp 0x423327
cmp dword [esp + 0x9c], 0
sete byte [esp + 0x18]
mov dword [esp], 0x2801fa79
jmp 0x422385
cmp dword [esp + 0x68], 0
sete cl
setne dl
mov eax, dword [esp + 0x64]
cmp eax, 0xa
setl al
setge ah
or ah, dl
xor al, cl
mov cl, ah
xor cl, al
not al
not cl
or al, ah
not al
or al, cl
and al, 1
mov byte [esp + 0x10], al
mov dword [esp], 0xb6494d9c
jmp 0x422385
mov ebx, edi
mov eax, dword [esp + 0xa4]
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
xor eax, 0xefe06488
xor eax, 0x101f9b77
sete cl
setne dl
mov eax, dword [esp + 0xa0]
cmp eax, 0xa
setge al
setl ah
and dl, ah
and al, cl
or al, dl
mov edx, ecx
xor dl, ah
or cl, ah
xor cl, 1
or cl, dl
mov edx, ecx
xor dl, al
mov ebp, 0xdcac4dc1
mov esi, 0x73728775
mov edi, 0xdcac4dc1
test cl, cl
jne 0x422f7e
mov edi, 0x73728775
test al, al
cmovne ebp, edi
test dl, dl
cmovne esi, ebp
mov dword [esp], esi
mov edi, ebx
mov ebx, dword [esp + 0xe0]
jmp 0x422385
mov dword [esp + 8], 0
lea eax, [esp + 8]
push eax
push dword [esp + 0xc4]
push 0x458394
push dword [esp + 0x2c]
call fcn.0040da7c
add esp, 0x10
mov dword [esp], 0x9bab8980
jmp 0x422385
mov dword [esp], 0xae0fa280
jmp 0x422385
push 1
push 0x320
call fcn.0043f591
add esp, 8
mov dword [esp + 0xbc], eax
mov dword [esp], 0x4876ddb7
jmp 0x422385
push 0xc
call fcn.0043fb04
add esp, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [eax], ebx
mov dword [esp], 0x3d2d4e32
jmp 0x422385
mov eax, dword [0x45cae4]
mov dword [esp + 0x4c], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x7c], eax
mov dword [esp], 0xefa946df
jmp 0x422385
mov cl, byte [esp + 0x1b]
mov ah, byte [esp + 0x1c]
mov ch, ah
xor ch, 1
mov edx, ecx
xor dl, ch
mov al, ah
and al, ch
xor al, 1
mov dh, al
xor dh, ch
or al, ch
xor al, 1
or al, dh
xor al, cl
xor dl, 1
or cl, ah
xor cl, 1
or cl, dl
mov edx, ecx
xor dl, al
not al
not dl
or al, cl
not al
or al, dl
and al, 1
mov byte [esp + 0x1d], al
mov dword [esp], 0xcc3b494c
jmp 0x422385
mov eax, dword [0x45cae4]
mov dword [esp + 0x34], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x60], eax
mov dword [esp], 0x7a82ae2c
jmp 0x422385
mov eax, dword [esp + 0x5c]
cmp eax, 0xa
setl ch
setge al
mov dl, byte [esp + 0xf]
xor ch, dl
xor dl, 1
or dl, al
mov cl, ch
xor cl, dl
mov eax, 0x1a185054
mov ebp, 0xa7ebefb3
mov esi, 0x1a185054
test ch, 1
jne 0x4230df
mov esi, 0xa7ebefb3
test dl, 1
cmovne esi, ebp
test cl, 1
cmovne eax, esi
jmp 0x4231c9
mov eax, dword [esp + 0x34]
imul eax, dword [esp + 0x60]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
xor ecx, eax
test ecx, eax
sete byte [esp + 0xf]
mov dword [esp], 0x78223aa4
jmp 0x422385
cmp byte [esp + 0x10], 0
mov eax, 0x9bab8980
jne 0x4231c9
mov eax, 0x903c54af
jmp 0x4231c9
mov eax, dword [esp + 0x58]
dec eax
imul eax, dword [esp + 0x58]
mov dword [esp + 0xb8], eax
mov dword [esp], 0x6e14a037
jmp 0x422385
mov al, byte [esp + 0x12]
mov cl, byte [esp + 0x13]
xor cl, al
xor cl, 1
and al, cl
xor al, 1
mov edx, eax
xor dl, cl
or al, cl
not al
or al, dl
and al, 1
mov byte [esp + 0x14], al
mov dword [esp], 0xadda843c
jmp 0x422385
mov dword [esp], 0x1b4f6379
jmp 0x422385
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 4]
shl ecx, 4
mov edx, dword [eax + ecx]
mov dword [esp + 0x48], edx
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x2c], eax
push dword [esp + 0x2c]
call fcn.004210dc
add esp, 4
test eax, eax
mov eax, 0x471f6cfa
mov ecx, 0xafcc6bb8
cmove eax, ecx
mov dword [esp], eax
jmp 0x422385
mov eax, dword [0x45cae4]
mov dword [esp + 0x44], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x74], eax
mov dword [esp], 0x7d113c37
jmp 0x422385
mov eax, dword [esp + 0x90]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
not eax
or eax, ecx
not eax
mov dword [esp + 0x94], eax
mov dword [esp], 0x63363e7b
jmp 0x422385
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0xa0], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0xa4], ecx
mov dword [esp], 0x5cf79be3
jmp 0x422385
push 0x456e38
push 0x7328f505
call fcn.004318a8
add esp, 8
push 0x104
push dword [esp + 0x24]
push dword [esp + 0xe4]
call eax
push dword [esp + 0x20]
call fcn.004121f9
add esp, 4
mov ecx, 0xce6c364b
test eax, eax
je 0x423286
mov ecx, 0xf9cef0f
mov dword [esp], ecx
jmp 0x422385
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
push edi
push dword [esp + 0x28]
call fcn.00421ed6
add esp, 8
push dword [esp + 0x24]
call fcn.0043fa5a
add esp, 4
mov eax, dword [0x45cae4]
mov dword [esp + 0x50], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x80], eax
mov dword [esp], 0x97ef5679
jmp 0x422385
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov dword [esp], 0xd763f919
jmp 0x422385
mov eax, dword [esp + 0xa8]
cmp eax, 0xa
setl cl
mov al, byte [esp + 0x1a]
xor cl, al
mov ah, cl
xor ah, 1
and al, ah
xor ah, al
mov esi, 0x49e6a6ed
mov edx, 0x201d1ba4
test ah, 1
jne 0x42331f
mov esi, 0x201d1ba4
test cl, 1
cmove edx, esi
test al, 1
cmove edx, esi
mov dword [esp], edx
jmp 0x422385
push 1
push 0x320
call fcn.0043f591
add esp, 8
mov dword [esp + 0x38], eax
mov dword [esp], 0x4e752e94
jmp 0x422385
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov dword [esp], 0x385f325f
jmp 0x422385
push 2
push 0x104
call fcn.0043f591
add esp, 8
mov dword [esp + 0x20], eax
mov dword [esp], 0xc087aba3
jmp 0x422385
mov ecx, dword [esp + 0xb8]
mov eax, ecx
not eax
and ecx, 0xf1df8e57
mov edx, eax
and edx, 0xe2071a8
or edx, ecx
xor edx, 0xe2071a9
and eax, 0xfffffffe
or eax, edx
xor eax, 0xb5a10708
cmp eax, 0x4a5ef8f7
setne cl
mov eax, dword [esp + 0xb4]
cmp eax, 0xa
setge ah
mov al, cl
xor al, ah
and ah, cl
or ah, al
mov cl, ah
xor cl, al
mov edx, 0x4a445172
mov ebp, 0xc06d3f54
mov esi, 0x4a445172
test ah, ah
jne 0x4233f6
mov esi, 0xc06d3f54
test al, al
cmovne edx, esi
test cl, cl
jmp 0x423537
mov edx, dword [0x45cae4]
mov eax, dword [0x45cae8]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
not edx
mov esi, edx
and esi, 0xf9dca1ac
and ecx, 0x6235e53
or ecx, esi
xor ecx, 0x6235e52
xor edx, ecx
test edx, ecx
sete byte [esp + 0x12]
cmp eax, 0xa
setl byte [esp + 0x13]
mov dword [esp], 0xce223f2f
jmp 0x422385
mov dword [esp], 0x201d1ba4
jmp 0x422385
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
inc eax
mov dword [esp + 0xc4], eax
mov dword [esp], 0xed0c4371
jmp 0x422385
mov dword [esp], 0xde7f00c8
jmp 0x422385
push 1
push 0x320
call fcn.0043f591
add esp, 8
mov dword [esp + 0xc0], eax
mov dword [esp], 0xf3aec187
jmp 0x422385
push edi
push dword [esp + 0x2c]
call fcn.00421ed6
add esp, 8
push dword [esp + 0x28]
call fcn.0043fa5a
add esp, 4
mov dword [esp], 0xeeaded1f
jmp 0x422385
push 0xc
call fcn.0043fb04
add esp, 4
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [eax], ebx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov dword [esp], 0x20c12e66
jmp 0x422385
mov cl, byte [esp + 0x1e]
mov al, byte [esp + 0x1f]
mov edx, ecx
xor dl, 1
and dl, al
mov ah, al
xor ah, 1
mov al, cl
xor al, ah
and al, cl
and ah, cl
or ah, dl
mov ecx, eax
xor cl, ah
mov edx, 0xde7f00c8
mov ebp, 0x4a445172
mov esi, 0xde7f00c8
test ah, 1
jne 0x42352f
mov esi, 0x4a445172
test al, 1
cmovne ebp, esi
test cl, 1
cmovne ebp, edx
mov dword [esp], ebp
jmp 0x422385
cmp eax, 0xc06d3f54
jne 0x422385
add esp, 0xc8
pop esi
pop edi
pop ebx
pop ebp
ret