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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf8
mov eax, dword [ebp + 0xc]
mov ecx, 0x492eeaa4
mov dword [esp + 0x9c], eax
mov eax, dword [0x4aa2c0]
xor eax, ebp
mov dword [esp + 0xf0], eax
mov dword [esp + 0xc], 0
jmp 0x4058e0
mov eax, dword [0x4ac3d0]
mov esi, 0x1e499834
mov edi, 0x4b4bbc64
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x4b4bbc64
sete al
cmove ecx, esi
cmp dword [0x4ac3cc], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, esi
nop
cmp ecx, 0x2e29a6e
jg 0x405950
cmp ecx, 0xc06d6724
jg 0x4059c0
cmp ecx, 0x9c203ffa
jg 0x405a8f
cmp ecx, 0x919bf404
jg 0x405bf0
cmp ecx, 0x8c5cdcf4
jle 0x405ecb
cmp ecx, 0x8fce3ce6
jg 0x40638a
cmp ecx, 0x8c5cdcf5
je 0x4067f4
cmp ecx, 0x8e1e3e76
jne 0x4058e0
mov eax, dword [esp + 0xc]
mov ecx, 0x8fd760c0
mov dword [esp + 0xc8], eax
jmp 0x4058e0
cmp ecx, 0x3b741845
jg 0x405a30
cmp ecx, 0x1e499833
jg 0x405af8
cmp ecx, 0xf537f0b
jg 0x405c32
cmp ecx, 0xb444756
jle 0x405ef9
cmp ecx, 0xc6d9d05
jg 0x4063b9
cmp ecx, 0xb444757
je 0x4067fe
cmp ecx, 0xbaca614
jne 0x4058e0
mov eax, dword [ebp + 8]
mov ecx, 0xbc882995
mov dword [esp + 0x38], eax
jmp 0x4058e0
cmp ecx, 0xdaf0933d
jg 0x405b50
cmp ecx, 0xcab8134e
jg 0x405cb3
cmp ecx, 0xc45c99ed
jle 0x405f27
cmp ecx, 0xc9589813
jg 0x4063db
cmp ecx, 0xc45c99ee
je 0x406810
cmp ecx, 0xc70105b8
jne 0x4058e0
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, 0x120ae612
jmp 0x4058e0
cmp ecx, 0x56666caa
jle 0x405b96
cmp ecx, 0x6b66bdf5
jg 0x405d0a
cmp ecx, 0x603e6f7a
jle 0x405f85
cmp ecx, 0x643a7b34
jg 0x40640d
cmp ecx, 0x603e6f7b
je 0x40681a
cmp ecx, 0x63d527a0
jne 0x4058e0
cmp byte [esp + 0x20], 0
mov ecx, 0x8e1e3e76
mov eax, 0x95131eee
cmovne ecx, eax
jmp 0x4058e0
cmp ecx, 0xb17313fe
jg 0x405d60
cmp ecx, 0xa827ec87
jle 0x405fb3
cmp ecx, 0xad08c840
jg 0x40642f
cmp ecx, 0xa827ec88
je 0x4068db
cmp ecx, 0xa8a09da5
jne 0x4058e0
mov eax, dword [ebp + 8]
mov esi, 0xef283e89
mov edi, 0xed1bfe18
mov dword [esp + 0x6c], eax
mov eax, dword [0x4ac3d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xed1bfe18
jmp 0x4058c7
cmp ecx, 0x2d31c46d
jg 0x405dd2
cmp ecx, 0x1f7fe772
jle 0x405ff5
cmp ecx, 0x297f24a5
jg 0x406451
cmp ecx, 0x1f7fe773
je 0x4068f5
cmp ecx, 0x2387661e
jne 0x4058e0
mov eax, dword [esp + 0xb0]
mov ecx, 0xfa841094
mov edx, 0xce2b2978
cmp eax, 0x40
cmove ecx, edx
jmp 0x4058e0
cmp ecx, 0xef283e88
jg 0x405e3a
cmp ecx, 0xe4f00c88
jle 0x40602b
cmp ecx, 0xebc19b51
jg 0x40649e
cmp ecx, 0xe4f00c89
je 0x40691d
cmp ecx, 0xea95a877
jne 0x4058e0
mov ecx, 0x2e29a6f
jmp 0x4058e0
cmp ecx, 0x4b4bbc63
jle 0x405e91
cmp ecx, 0x4e512e6e
jle 0x4060a0
cmp ecx, 0x52de2fb0
jg 0x4064c0
cmp ecx, 0x4e512e6f
je 0x4069cf
cmp ecx, 0x50789ddf
jne 0x4058e0
mov eax, dword [ebp + 8]
mov ecx, 0x603e6f7b
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov dword [esp + 0xac], eax
jmp 0x4058e0
cmp ecx, 0x95131eed
jle 0x4060eb
cmp ecx, 0x95b936e0
jg 0x4064e6
cmp ecx, 0x95131eee
je 0x4069f5
cmp ecx, 0x95a87b10
jne 0x4058e0
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ecx, 0xc36cf496
jmp 0x4058e0
cmp ecx, 0x11d6c3dc
jle 0x4061d0
cmp ecx, 0x163fbd2f
jg 0x406518
cmp ecx, 0x11d6c3dd
je 0x406a13
cmp ecx, 0x120ae612
jne 0x4058e0
mov eax, dword [esp + 0x10]
mov esi, 0xcab8134f
mov edi, 0xc70105b8
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x1f4181bc
and eax, 4
and ecx, 0xe0be7e43
or edx, ecx
xor edx, 0xe0be7e47
or eax, edx
mov dword [esp + 0xc4], eax
mov eax, dword [0x4ac3d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xc70105b8
jmp 0x4058c7
cmp ecx, 0xd705534a
jle 0x40620b
cmp ecx, 0xda4a7777
jg 0x406568
cmp ecx, 0xd705534b
je 0x406a2a
cmp ecx, 0xd9c94225
jne 0x4058e0
mov eax, dword [0x4ac3d0]
mov esi, 0x3e46435b
mov edi, 0xb3f712f0
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xb3f712f0
jmp 0x4058c7
cmp ecx, 0x748e58e1
jle 0x406239
cmp ecx, 0x7cc480cb
jg 0x4065ca
cmp ecx, 0x748e58e2
je 0x406a5c
cmp ecx, 0x74a24cc0
jne 0x4058e0
mov eax, dword [0x4ac3d0]
mov edi, 0xdff3eb0b
mov esi, 0x73107e3a
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x73107e3a
jmp 0x407251
cmp ecx, 0xb5fd7ded
jle 0x40627b
cmp ecx, 0xbc882994
jg 0x40669f
cmp ecx, 0xb5fd7dee
je 0x406a7d
cmp ecx, 0xb997f770
jne 0x4058e0
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov edi, 0xf82835a
mov esi, 0x297f24a6
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
cmovne edi, esi
test edx, ecx
mov ecx, edi
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edi
jmp 0x4058e0
cmp ecx, 0x34bf7a42
jle 0x4062a9
cmp ecx, 0x393351be
jg 0x40677f
cmp ecx, 0x34bf7a43
je 0x406a8f
cmp ecx, 0x35a9fae0
jne 0x4058e0
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov ecx, 0x5b7084a
jmp 0x4058e0
cmp ecx, 0xf4896a34
jle 0x4062eb
cmp ecx, 0xfdc3594c
jg 0x4067a1
cmp ecx, 0xf4896a35
je 0x406a99
cmp ecx, 0xfa841094
jne 0x4058e0
mov eax, dword [0x4ac3d0]
mov esi, 0x44a4c7f9
mov edi, 0xc9589814
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xc9589814
jmp 0x4058c7
cmp ecx, 0x492eeaa3
jg 0x40634c
cmp ecx, 0x44a4c7f8
jle 0x4067d3
cmp ecx, 0x44a4c7f9
je 0x406aa3
cmp ecx, 0x4904816f
jne 0x4058e0
mov ecx, 0x2eb77bb9
jmp 0x4058e0
cmp ecx, 0x83390a2d
je 0x406ac9
cmp ecx, 0x8914b6fa
je 0x406ad3
cmp ecx, 0x8a832b27
jne 0x4058e0
mov ecx, 0x4af54b5f
jmp 0x4058e0
cmp ecx, 0x2e29a6f
je 0x406aea
cmp ecx, 0x5b7084a
je 0x406b0a
cmp ecx, 0x7c3ff86
jne 0x4058e0
mov ecx, 0x3b741846
jmp 0x4058e0
cmp ecx, 0xc06d6725
je 0x406b62
cmp ecx, 0xc1920f58
je 0x406b79
cmp ecx, 0xc36cf496
jne 0x4058e0
xor eax, eax
cmp eax, dword [esp + 0x40]
mov eax, 0
mov esi, 0x34bf7a43
mov edi, 0x95a87b10
sbb eax, dword [esp + 0x44]
mov eax, dword [0x4ac3d0]
setl byte [esp + 0x1f]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x95a87b10
jmp 0x4058c7
cmp ecx, 0x56666cab
je 0x406ba0
cmp ecx, 0x585c30a7
je 0x406bc6
cmp ecx, 0x5a0e68d0
jne 0x4058e0
mov ecx, 0xa827ec88
jmp 0x4058e0
cmp ecx, 0x9c203ffb
je 0x406bec
cmp ecx, 0x9c883ec7
je 0x406c13
cmp ecx, 0x9d264ea4
jne 0x4058e0
mov eax, dword [ebp + 8]
mov ecx, 0xb997f770
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
jmp 0x4058e0
cmp ecx, 0x1e499834
je 0x406c2d
cmp ecx, 0x1f33818d
je 0x406c47
cmp ecx, 0x1f6533dc
jne 0x4058e0
mov eax, dword [esp + 0xc]
mov ecx, 0x4e1b9a5f
mov dword [esp + 0x10], eax
jmp 0x4058e0
cmp ecx, 0xdaf0933e
je 0x4058a6
cmp ecx, 0xdc8ebbff
je 0x406c51
cmp ecx, 0xdff3eb0b
jne 0x4058e0
mov eax, dword [esp + 0x24]
mov esi, 0x7c3ff86
mov edi, 0x73107e3a
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xa5e951d2
and eax, 4
and ecx, 0x5a16ae2d
or edx, ecx
xor edx, 0x5a16ae29
or eax, edx
mov dword [esp + 0xbc], eax
mov eax, dword [0x4ac3d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x73107e3a
jmp 0x4058c7
cmp ecx, 0x4b4bbc64
je 0x406c86
cmp ecx, 0x4d28c996
je 0x406c90
cmp ecx, 0x4e1b9a5f
jne 0x4058e0
mov eax, dword [0x4ac3d0]
mov edi, 0x120ae612
mov esi, 0xc70105b8
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xc70105b8
jmp 0x407251
cmp ecx, 0x919bf405
je 0x406c9a
cmp ecx, 0x92fcdd4d
je 0x406d4f
cmp ecx, 0x93c44b23
jne 0x4058e0
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov esi, 0x7d0296e1
mov edi, 0x6c26e1ac
mov dword [esp + 4], ecx
mov ecx, dword [0x4ac3c8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp dword [0x4ac3c4], 0xa
setge ch
setl dh
or ch, cl
xor dh, dl
xor ch, 1
or ch, dh
mov ecx, 0xa61a2c14
mov edx, 0x3eff7b8c
cmovne ecx, edx
mov edx, 0xa61a2c14
cmovne edx, esi
nop
cmp edi, 0x3eff7b8b
jle 0x4061a0
cmp edi, 0x3eff7b8c
je 0x406e10
cmp edi, 0x7d0296e1
je 0x4061b4
cmp edi, 0x6c26e1ac
jne 0x406170
mov dword [esp], eax
mov edi, 0x6ec8842
jmp 0x406170
cmp edi, 0xa61a2c14
je 0x4061c2
cmp edi, 0x6ec8842
jne 0x406170
mov edi, edx
jmp 0x406170
mov esi, dword [esp + 4]
mov edi, ecx
cmp esi, dword [esp]
sete bl
jmp 0x406170
mov esi, dword [esp + 4]
mov esi, dword [esp]
mov edi, 0x7d0296e1
jmp 0x406170
cmp ecx, 0xf537f0c
je 0x406e2e
cmp ecx, 0xf82835a
je 0x406e45
cmp ecx, 0x115cc72a
jne 0x4058e0
cmp byte [esp + 0x22], 0
mov ecx, 0xfdc3594d
mov eax, 0x8a832b27
cmovne ecx, eax
jmp 0x4058e0
cmp ecx, 0xcab8134f
je 0x406e7c
cmp ecx, 0xce2b2978
je 0x406e86
cmp ecx, 0xcff11111
jne 0x4058e0
mov ecx, 0xefd6ff24
jmp 0x4058e0
cmp ecx, 0x6b66bdf6
je 0x406eac
cmp ecx, 0x6e326aa1
je 0x406edd
cmp ecx, 0x73107e3a
jne 0x4058e0
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov ecx, 0xdff3eb0b
jmp 0x4058e0
cmp ecx, 0xb17313ff
je 0x406f03
cmp ecx, 0xb2636e92
je 0x406f1e
cmp ecx, 0xb3f712f0
jne 0x4058e0
mov ecx, 0xd9c94225
jmp 0x4058e0
cmp ecx, 0x2d31c46e
je 0x406f4c
cmp ecx, 0x2eb77bb9
je 0x406f7a
cmp ecx, 0x34367c9a
jne 0x4058e0
mov ecx, dword [esp + 0x78]
add ecx, dword [esp + 0xdc]
push 0
push 0
call fcn.0040fd50
mov ecx, 0x748e58e2
jmp 0x4058e0
cmp ecx, 0xef283e89
je 0x406f84
cmp ecx, 0xefd6ff24
je 0x406f8e
cmp ecx, 0xefdcab53
jne 0x4058e0
mov eax, dword [esp + 0x5c]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, ecx
mov ecx, 0x2243905d
nop word cs:[eax + eax]
cmp ecx, 0x2243905d
je 0x406345
cmp ecx, 0xa7ad0f34
jne 0x406330
jmp 0x406fa8
mov ecx, 0xa7ad0f34
jmp 0x406330
cmp ecx, 0x492eeaa4
je 0x406feb
cmp ecx, 0x4983e98f
je 0x407011
cmp ecx, 0x4af54b5f
jne 0x4058e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov ecx, 0x9c203ffb
jmp 0x4058e0
cmp ecx, 0x8fce3ce7
je 0x407055
cmp ecx, 0x8fd760c0
jne 0x4058e0
cmp dword [esp + 0xc8], 0
mov ecx, 0x115cc72a
sete byte [esp + 0x22]
jmp 0x4058e0
cmp ecx, 0xc6d9d06
je 0x40705f
cmp ecx, 0xd84899a
jne 0x4058e0
mov ecx, 0x6a28aa6a
jmp 0x4058e0
cmp ecx, 0xc9589814
je 0x407069
cmp ecx, 0xc9fd366a
jne 0x4058e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
mov ecx, 0x4e512e6f
jmp 0x4058e0
cmp ecx, 0x643a7b35
je 0x407073
cmp ecx, 0x6a28aa6a
jne 0x4058e0
mov ecx, 0xfdc3594d
jmp 0x4058e0
cmp ecx, 0xad08c841
je 0x407088
cmp ecx, 0xae4137e4
jne 0x4058e0
mov ecx, 0x7cc480cc
jmp 0x4058e0
cmp ecx, 0x297f24a6
je 0x40709d
cmp ecx, 0x29fe9a7f
jne 0x4058e0
mov edx, dword [esp + 0xc]
mov eax, edx
not eax
mov ecx, edx
and ecx, 0xbe86db0c
and eax, 0x417924f3
or ecx, eax
mov eax, edx
and eax, 4
xor ecx, 0x417924f7
or eax, ecx
mov ecx, 0xad08c841
mov dword [esp + 0xa8], eax
jmp 0x4058e0
cmp ecx, 0xebc19b52
je 0x4070cc
cmp ecx, 0xed1bfe18
jne 0x4058e0
mov ecx, 0xa8a09da5
jmp 0x4058e0
cmp ecx, 0x52de2fb1
je 0x4070d6
cmp ecx, 0x544def58
jne 0x4058e0
mov eax, dword [esp + 0x70]
mov ecx, 0x6b66bdf6
jmp 0x4058e0
cmp ecx, 0x95b936e1
je 0x4070eb
cmp ecx, 0x994249a6
jne 0x4058e0
mov dword [esp + 0x58], 0
mov ecx, 0x2d31c46e
mov dword [esp + 0x54], 0
jmp 0x4058e0
cmp ecx, 0x163fbd30
je 0x407125
cmp ecx, 0x16ee87dd
jne 0x4058e0
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax]
add ecx, dword [esp + 0x7c]
push 0
push dword [esp + 0x10]
call fcn.0040ffc0
mov eax, dword [ebp + 8]
lea ecx, [esp + 0xe8]
mov dword [esp + 0xe4], eax
call fcn.00410240
mov ecx, 0xff00fea4
jmp 0x4058e0
cmp ecx, 0xda4a7778
je 0x407141
cmp ecx, 0xdab8cf42
jne 0x4058e0
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov esi, 0xebc19b52
mov edi, 0xcff11111
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
cmovne esi, edi
test edx, ecx
mov edx, dword [esp + 0xc]
mov ecx, esi
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, esi
mov dword [esp + 0x70], edx
jmp 0x4058e0
cmp ecx, 0x7cc480cc
je 0x40717c
cmp ecx, 0x7d2269a3
jne 0x4058e0
mov eax, dword [esp + 0xc0]
mov esi, 0xb0e8e320
mov ebx, 0xb69eb661
mov eax, dword [eax + 4]
add eax, dword [esp + 0x74]
mov ecx, dword [0x4ac3c0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne cl
cmp dword [0x4ac3bc], 0xa
setge dl
mov ch, dl
or dl, cl
xor ch, cl
xor dl, 1
or dl, ch
mov ecx, 0xb942d267
mov edx, 0xab971b95
cmovne ecx, edx
mov edx, 0xb942d267
cmovne edx, esi
nop dword [eax + eax]
cmp ebx, 0xb0e8e31f
jle 0x406670
cmp ebx, 0xb0e8e320
je 0x406685
cmp ebx, 0xb942d267
je 0x406690
cmp ebx, 0xb69eb661
jne 0x406640
mov dword [esp + 4], eax
mov ebx, 0xab0215af
jmp 0x406640
cmp ebx, 0xab0215af
je 0x40669b
cmp ebx, 0xab971b95
jne 0x406640
jmp 0x407193
mov esi, dword [esp + 4]
mov ebx, ecx
mov edi, dword [esi + 0x38]
jmp 0x406640
mov esi, dword [esp + 4]
mov ebx, 0xb0e8e320
jmp 0x406640
mov ebx, edx
jmp 0x406640
cmp ecx, 0xbc882995
je 0x4071c4
cmp ecx, 0xbfad8a6a
jne 0x4058e0
mov eax, dword [esp + 0x38]
mov esi, 0xb0e8e320
mov ebx, 0xb69eb661
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x38]
mov ecx, dword [0x4ac3c0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp dword [0x4ac3bc], 0xa
setge ch
setl dh
or ch, cl
xor dh, dl
xor ch, 1
or ch, dh
mov ecx, 0xb942d267
mov edx, 0xab971b95
cmovne ecx, edx
mov edx, 0xb942d267
cmovne edx, esi
nop word cs:[eax + eax]
cmp ebx, 0xb0e8e31f
jle 0x406750
cmp ebx, 0xb0e8e320
je 0x406765
cmp ebx, 0xb942d267
je 0x406770
cmp ebx, 0xb69eb661
jne 0x406720
mov dword [esp + 4], eax
mov ebx, 0xab0215af
jmp 0x406720
cmp ebx, 0xab0215af
je 0x40677b
cmp ebx, 0xab971b95
jne 0x406720
jmp 0x407206
mov esi, dword [esp + 4]
mov ebx, ecx
mov edi, dword [esi + 0x38]
jmp 0x406720
mov esi, dword [esp + 4]
mov ebx, 0xb0e8e320
jmp 0x406720
mov ebx, edx
jmp 0x406720
cmp ecx, 0x393351bf
je 0x407230
cmp ecx, 0x39e68315
jne 0x4058e0
mov ecx, 0xc9fd366a
jmp 0x4058e0
cmp ecx, 0xfdc3594d
je 0x40726e
cmp ecx, 0xff00fea4
jne 0x4058e0
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov esi, 0xb3f712f0
mov edi, 0xd9c94225
jmp 0x4071d9
cmp ecx, 0x3b741846
jne 0x4074bc
mov eax, dword [esp + 0xbc]
mov ecx, 0x56666cab
mov dword [esp + 0xc], eax
jmp 0x4058e0
mov ecx, 0x4983e98f
jmp 0x4058e0
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov ecx, 0x95b936e1
jmp 0x4058e0
mov ecx, 0x93c44b23
jmp 0x4058e0
mov eax, dword [esp + 0xac]
mov edx, 0x5e4012e3
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x68]
lea eax, [ecx + eax + 0x14]
mov dword [esp + 4], eax
mov eax, dword [0x4ac3b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4ac3b4], 0xa
setl cl
or cl, al
mov eax, 0xd6069f41
mov ecx, 0x3091b9b2
cmovne eax, ecx
mov ecx, 0xd6069f41
cmovne ecx, edx
mov edx, 0x70e7b03
nop word cs:[eax + eax]
cmp edx, 0x9d5186b
jle 0x4068b0
cmp edx, 0x9d5186c
je 0x4068d0
cmp edx, 0x3091b9b2
je 0x40728c
cmp edx, 0x5e4012e3
jne 0x406880
mov edx, eax
jmp 0x406880
cmp edx, 0xd6069f41
je 0x4068d4
cmp edx, 0x70e7b03
jne 0x406880
mov edx, dword [esp + 4]
mov edx, dword [edx]
mov dword [esp], edx
mov edx, 0x9d5186c
jmp 0x406880
mov edx, ecx
jmp 0x406880
mov edx, 0x5e4012e3
jmp 0x406880
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov ecx, 0x393351bf
jmp 0x4058e0
mov eax, dword [esp + 0x34]
mov ecx, 0xdaf0933e
cmp eax, dword [esp + 0x80]
mov eax, dword [esp + 0x30]
sbb eax, dword [esp + 0x84]
mov eax, 0x163fbd30
cmovl ecx, eax
jmp 0x4058e0
mov eax, dword [esp + 0x6c]
mov esi, 0xb0e8e320
mov ebx, 0xb69eb661
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x6c]
mov ecx, dword [0x4ac3c0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4ac3bc], 0xa
setl dl
or dl, cl
mov ecx, 0xb942d267
mov edx, 0xab971b95
cmovne ecx, edx
mov edx, 0xb942d267
cmovne edx, esi
nop dword [eax]
cmp ebx, 0xb0e8e31f
jle 0x4069a0
cmp ebx, 0xb0e8e320
je 0x4069b5
cmp ebx, 0xb942d267
je 0x4069c0
cmp ebx, 0xb69eb661
jne 0x406970
mov dword [esp + 4], eax
mov ebx, 0xab0215af
jmp 0x406970
cmp ebx, 0xab0215af
je 0x4069cb
cmp ebx, 0xab971b95
jne 0x406970
jmp 0x4072aa
mov esi, dword [esp + 4]
mov ebx, ecx
mov edi, dword [esi + 0x38]
jmp 0x406970
mov esi, dword [esp + 4]
mov ebx, 0xb0e8e320
jmp 0x406970
mov ebx, edx
jmp 0x406970
mov eax, dword [0x4ac3d0]
mov edi, 0x5b7084a
mov esi, 0x35a9fae0
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x35a9fae0
jmp 0x407251
mov eax, dword [ebp + 8]
mov ecx, 0x7d2269a3
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0xc0], eax
jmp 0x4058e0
cmp byte [esp + 0x23], 0
mov ecx, 0x6a28aa6a
mov eax, 0xbaca614
cmovne ecx, eax
jmp 0x4058e0
mov eax, dword [esp + 0xa4]
mov ecx, 0x2243905d
mov eax, dword [eax + 4]
add eax, dword [esp + 0x64]
nop dword [eax]
cmp ecx, 0x2243905d
je 0x406a55
cmp ecx, 0xa7ad0f34
jne 0x406a40
jmp 0x4072e6
mov ecx, 0xa7ad0f34
jmp 0x406a40
mov eax, dword [ebp + 8]
mov ecx, 0x16ee87dd
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
add eax, 4
mov dword [esp + 0xe0], eax
jmp 0x4058e0
mov eax, dword [esp + 0xc]
mov ecx, 0x74a24cc0
mov dword [esp + 0x24], eax
jmp 0x4058e0
mov ecx, 0x8914b6fa
jmp 0x4058e0
mov ecx, 0x748e58e2
jmp 0x4058e0
mov eax, dword [0x4ac3d0]
mov edi, 0x5a0e68d0
mov esi, 0xc9589814
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xc9589814
jmp 0x407251
mov ecx, 0x11d6c3dd
jmp 0x4058e0
cmp byte [esp + 0x1f], 0
mov ecx, 0x56666cab
mov eax, 0xc1920f58
cmovne ecx, eax
jmp 0x4058e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], eax
mov ecx, 0x6e326aa1
jmp 0x4058e0
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov esi, 0x35a9fae0
mov edi, 0x4904816f
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
cmovne esi, edi
test edx, ecx
mov ecx, esi
cmove ecx, edi
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
cmp eax, 0xa
cmovge ecx, esi
add edi, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
jmp 0x4058e0
cmp byte [esp + 0x21], 0
mov ecx, 0x8e1e3e76
mov eax, 0x1f6533dc
cmovne ecx, eax
jmp 0x4058e0
mov eax, dword [0x4ac3d0]
mov edi, 0xa8a09da5
mov esi, 0xed1bfe18
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xed1bfe18
jmp 0x407251
mov eax, dword [0x4ac3d0]
mov esi, 0x7cc480cc
mov edi, 0xae4137e4
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xae4137e4
jmp 0x4058c7
mov eax, dword [ebp + 0xc]
mov ecx, 0xd68bf23b
nop
cmp ecx, 0xd68bf23b
je 0x406be5
cmp ecx, 0x9c067c42
jne 0x406bd0
jmp 0x407328
mov ecx, 0x9c067c42
jmp 0x406bd0
mov eax, dword [0x4ac3d0]
mov edi, 0x95b936e1
mov esi, 0xb444757
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xb444757
jmp 0x407251
mov eax, dword [esp + 0xa0]
mov ecx, 0xd705534b
mov eax, dword [eax]
mov dword [esp + 0xa4], eax
jmp 0x4058e0
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov esi, 0x4b4bbc64
mov edi, 0x994249a6
jmp 0x4071d9
mov ecx, 0xa827ec88
jmp 0x4058e0
mov edx, dword [esp + 0xc]
mov eax, edx
not eax
mov ecx, edx
and ecx, 0xcf87651c
and eax, 0x30789ae3
or ecx, eax
mov eax, edx
and eax, 4
xor ecx, 0x30789ae7
or eax, ecx
mov ecx, 0x52de2fb1
mov dword [esp + 0xd4], eax
jmp 0x4058e0
mov ecx, 0x1e499834
jmp 0x4058e0
mov ecx, 0xce2b2978
jmp 0x4058e0
mov eax, dword [esp + 0x38]
mov esi, 0xb0e8e320
mov ebx, 0xb69eb661
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x38]
mov ecx, dword [0x4ac3c0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x4ac3bc], 0xa
setl dl
or dl, cl
mov ecx, 0xb942d267
mov edx, 0xab971b95
cmovne ecx, edx
mov edx, 0xb942d267
cmovne edx, esi
nop dword [eax + eax]
cmp ebx, 0xb0e8e31f
jle 0x406d20
cmp ebx, 0xb0e8e320
je 0x406d35
cmp ebx, 0xb942d267
je 0x406d40
cmp ebx, 0xb69eb661
jne 0x406cf0
mov dword [esp + 4], eax
mov ebx, 0xab0215af
jmp 0x406cf0
cmp ebx, 0xab0215af
je 0x406d4b
cmp ebx, 0xab971b95
jne 0x406cf0
jmp 0x407338
mov esi, dword [esp + 4]
mov ebx, ecx
mov edi, dword [esi + 0x38]
jmp 0x406cf0
mov esi, dword [esp + 4]
mov ebx, 0xb0e8e320
jmp 0x406cf0
mov ebx, edx
jmp 0x406cf0
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov esi, 0x7d0296e1
mov edi, 0x6c26e1ac
mov dword [esp + 4], ecx
mov ecx, dword [0x4ac3c8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp dword [0x4ac3c4], 0xa
setge ch
setl dh
or ch, cl
xor dh, dl
xor ch, 1
or ch, dh
mov ecx, 0xa61a2c14
mov edx, 0x3eff7b8c
cmovne ecx, edx
mov edx, 0xa61a2c14
cmovne edx, esi
nop
cmp edi, 0x3eff7b8b
jle 0x406de0
cmp edi, 0x3eff7b8c
je 0x4073ad
cmp edi, 0x7d0296e1
je 0x406df4
cmp edi, 0x6c26e1ac
jne 0x406db0
mov dword [esp], eax
mov edi, 0x6ec8842
jmp 0x406db0
cmp edi, 0xa61a2c14
je 0x406e02
cmp edi, 0x6ec8842
jne 0x406db0
mov edi, edx
jmp 0x406db0
mov esi, dword [esp + 4]
mov edi, ecx
cmp esi, dword [esp]
sete bl
jmp 0x406db0
mov esi, dword [esp + 4]
mov esi, dword [esp]
mov edi, 0x7d0296e1
jmp 0x406db0
and bl, 1
mov ecx, 0x39e68315
mov eax, 0xdc8ebbff
mov byte [esp + 0xb], bl
cmp byte [esp + 0xb], 0
cmovne ecx, eax
jmp 0x4058e0
cmp byte [esp + 0x1e], 0
mov ecx, 0x9d264ea4
mov eax, 0xdaf0933e
cmovne ecx, eax
jmp 0x4058e0
mov eax, dword [esp + 0x3c]
mov ecx, 0x2243905d
add eax, dword [esp + 0x60]
nop word cs:[eax + eax]
cmp ecx, 0x2243905d
je 0x406e75
cmp ecx, 0xa7ad0f34
jne 0x406e60
jmp 0x4073cb
mov ecx, 0xa7ad0f34
jmp 0x406e60
mov ecx, 0x643a7b35
jmp 0x4058e0
mov eax, dword [0x4ac3d0]
mov esi, 0xdab8cf42
mov edi, 0xebc19b52
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xebc19b52
jmp 0x4058c7
cmp dword [esp + 0x70], 0
mov eax, dword [0x4ac3d0]
mov edi, 0xc6d9d06
mov esi, 0x544def58
lea ecx, [eax - 1]
sete byte [esp + 0x20]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x544def58
jmp 0x407251
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov ecx, 0x1f33818d
jmp 0x4058e0
mov eax, dword [esp + 0xd8]
mov ecx, 0x34367c9a
mov eax, dword [eax + 4]
mov dword [esp + 0xdc], eax
jmp 0x4058e0
mov eax, dword [ebp + 0xc]
mov ecx, 0xd68bf23b
nop word cs:[eax + eax]
cmp ecx, 0xd68bf23b
je 0x406f45
cmp ecx, 0x9c067c42
jne 0x406f30
jmp 0x4073db
mov ecx, 0x9c067c42
jmp 0x406f30
lea ecx, [esp + 0xe8]
push dword [ebp + 8]
call fcn.0040ea10
mov eax, 0x38e2a8d2
cmp eax, 0x38e2a8d2
je 0x406f73
cmp eax, 0x5a0c355e
jne 0x406f60
jmp 0x407414
mov eax, 0x5a0c355e
jmp 0x406f60
mov ecx, 0x4af54b5f
jmp 0x4058e0
mov ecx, 0xe4f00c89
jmp 0x4058e0
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov esi, 0x544def58
mov edi, 0x6b66bdf6
jmp 0x4071d9
mov dword [esp + 0x30], 0
mov dword [esp], eax
mov esi, 0xf537f0c
mov edi, 0xda4a7778
mov eax, dword [esp]
mov ecx, dword [eax + 0x24]
cmp dword [eax + 0x20], 1
mov eax, dword [0x4ac3d0]
sbb ecx, 0
lea ecx, [eax + 1]
setl byte [esp + 0x1e]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xda4a7778
jmp 0x4058c7
mov eax, dword [0x4ac3d0]
mov edi, 0xb2636e92
mov esi, 0x585c30a7
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x585c30a7
jmp 0x407251
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov esi, 0xefdcab53
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xda4a7778
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x4058e0
mov ecx, 0x1f7fe773
jmp 0x4058e0
mov ecx, 0x63d527a0
jmp 0x4058e0
mov ecx, 0x44a4c7f9
jmp 0x4058e0
mov eax, dword [esp + 0xc4]
mov ecx, 0x8e1e3e76
mov dword [esp + 0xc], eax
jmp 0x4058e0
mov eax, dword [esp + 0xa8]
mov ecx, 0xf4896a35
mov dword [esp + 0xc], eax
jmp 0x4058e0
mov esi, dword [esp + 0x3c]
mov ecx, 0x2243905d
add esi, dword [esp + 0x60]
nop word [eax + eax]
cmp ecx, 0x2243905d
je 0x4070c5
cmp ecx, 0xa7ad0f34
jne 0x4070b0
jmp 0x407447
mov ecx, 0xa7ad0f34
jmp 0x4070b0
mov ecx, 0xdab8cf42
jmp 0x4058e0
mov eax, dword [esp + 0xd4]
mov ecx, 0xd84899a
mov dword [esp + 0xc], eax
jmp 0x4058e0
xor eax, eax
cmp eax, dword [esp + 0x48]
mov eax, 0
mov esi, 0x83390a2d
mov edi, 0xb444757
sbb eax, dword [esp + 0x4c]
mov eax, dword [0x4ac3d0]
setl byte [esp + 0x23]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xb444757
jmp 0x4058c7
mov eax, dword [ebp + 8]
mov ecx, 0x9c883ec7
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
jmp 0x4058e0
mov eax, dword [esp + 0x5c]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, ecx
mov ecx, 0x2243905d
nop dword [eax + eax]
cmp ecx, 0x2243905d
je 0x407175
cmp ecx, 0xa7ad0f34
jne 0x407160
jmp 0x4074a4
mov ecx, 0xa7ad0f34
jmp 0x407160
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov esi, 0xae4137e4
mov edi, 0x4d28c996
jmp 0x4071d9
mov dword [esp], edi
mov ecx, dword [esp]
mov edi, dword [esp + 0x30]
push edi
mov esi, dword [esp + 0x38]
push esi
push dword [esp + 0xa4]
call fcn.0040fa20
xor edx, edi
xor eax, esi
mov ecx, 0xc06d6725
or eax, edx
setne byte [esp + 0x21]
jmp 0x4058e0
mov edx, dword [0x4ac3d0]
mov eax, dword [0x4ac3cc]
mov esi, 0xbfad8a6a
mov edi, 0x919bf405
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
cmovne esi, edi
test edx, ecx
mov ecx, esi
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, esi
jmp 0x4058e0
mov edx, dword [ebp + 8]
mov dword [esp], edi
mov edi, dword [esp]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call fcn.0040f880
movsx eax, al
mov ecx, edi
push eax
call fcn.0040f380
mov ecx, 0x919bf405
jmp 0x4058e0
mov eax, dword [0x4ac3d0]
mov edi, 0xc36cf496
mov esi, 0x95a87b10
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x95a87b10
sete al
cmove ecx, edi
cmp dword [0x4ac3cc], 0xa
setl dl
cmovge ecx, esi
xor dl, al
cmovne ecx, edi
jmp 0x4058e0
mov eax, dword [ebp + 8]
mov ecx, 0xb17313ff
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
mov dword [esp + 0xd8], eax
jmp 0x4058e0
mov eax, dword [esp]
mov ecx, eax
xor ecx, 0xfffffe3f
and ecx, eax
mov dword [esp + 0xb0], ecx
mov ecx, 0x2387661e
jmp 0x4058e0
mov edx, dword [ebp + 8]
mov dword [esp], edi
mov edi, dword [esp]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call fcn.0040f880
movsx eax, al
mov ecx, edi
push eax
call fcn.0040f380
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], 0xffffffff
mov ecx, 0x92fcdd4d
jmp 0x4058e0
mov dword [esp], eax
mov eax, dword [esp]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
sub ecx, dword [esp + 0x34]
sbb eax, dword [esp + 0x30]
mov dword [esp + 0x88], ecx
mov ecx, 0x2d31c46e
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x54], eax
jmp 0x4058e0
mov dword [esp], eax
mov ecx, 0xb2636e92
mov eax, dword [esp]
jmp 0x4058e0
mov edx, dword [ebp + 8]
mov dword [esp], edi
mov edi, dword [esp]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call fcn.0040f880
movsx eax, al
mov ecx, edi
push eax
call fcn.0040f380
mov esi, dword [0x4ac3d0]
mov edx, dword [0x4ac3cc]
mov edi, 0xbfad8a6a
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0xffffffff
lea ecx, [esi + 1]
imul ecx, esi
mov esi, ecx
xor esi, 0xfffffffe
test esi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc45c99ee
cmovne edi, ebx
test esi, ecx
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
jmp 0x4058e0
and bl, 1
mov ecx, 0xea95a877
mov eax, 0xb5fd7dee
mov byte [esp + 0xb], bl
cmp byte [esp + 0xb], 0
cmovne ecx, eax
jmp 0x4058e0
mov dword [esp], eax
mov ecx, 0x297f24a6
mov eax, dword [esp]
jmp 0x4058e0
mov dword [esp], eax
push dword [esp]
call fcn.0043f0e0
add esp, 4
mov dword [esp + 0x5c], eax
mov eax, dword [0x4ac3d0]
mov esi, 0x8c5cdcf5
mov edi, 0x585c30a7
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x585c30a7
jmp 0x4058c7
lea eax, [esp + 0xe8]
mov ecx, 0x50789ddf
mov dword [esp], eax
mov eax, dword [esp]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
cmp byte [eax + 4], 0
mov eax, 0x29fe9a7f
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edx
cmove ecx, eax
jmp 0x4058e0
mov edi, dword [0x4ac3d0]
mov edx, dword [0x4ac3cc]
mov dword [esp], esi
lea ecx, [edi + 1]
imul ecx, edi
mov edi, 0xf82835a
mov ebx, ecx
xor ebx, 0xfffffffe
test ebx, ecx
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x8fce3ce7
cmovne edi, eax
test ebx, ecx
mov ecx, edi
cmove ecx, eax
mov eax, dword [esp]
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
jmp 0x4058e0
mov dword [esp + 0x30], 0
mov dword [esp], eax
mov ecx, 0xefdcab53
mov eax, dword [esp]
jmp 0x4058e0
cmp ecx, 0x3e46435b
jne 0x4058e0
mov esi, dword [esp + 0xe4]
mov ecx, dword [esp + 0xf0]
xor ecx, ebp
call fcn.004388e0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret