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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x100
mov eax, dword [0x4a62c0]
mov esi, esp
xor eax, ebp
mov dword [esi + 0xf8], eax
mov eax, dword [0x4a83c8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [0x4a83c4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x22]
cmp eax, 0xa
mov eax, 0x4239b702
setl byte [esi + 0x23]
jmp 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0x1fd57c3f
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xfe622fe
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
nop word cs:[eax + eax]
cmp eax, 0xd593994
jle 0x4068d0
cmp eax, 0x3fec539a
jg 0x406930
cmp eax, 0x24b5e872
jg 0x406ad8
cmp eax, 0x1932f24d
jle 0x406c51
cmp eax, 0x1fd57c3e
jg 0x406e58
cmp eax, 0x1cf28a4b
jg 0x4073dd
cmp eax, 0x1932f24e
je 0x4076e8
cmp eax, 0x1a5a8a78
jne 0x406870
mov eax, 0x91ec9382
jmp 0x406870
cmp eax, 0xbd73b180
jg 0x406a80
cmp eax, 0xa084c38d
jg 0x406b20
cmp eax, 0x95cb65e9
jg 0x406cb8
cmp eax, 0x90fbc723
jle 0x406e8f
cmp eax, 0x943cb2a7
jg 0x4073fd
cmp eax, 0x90fbc724
je 0x407708
cmp eax, 0x91ec9382
jne 0x406870
mov eax, dword [esi + 0xac]
mov dword [esi + 0x48], eax
mov eax, 0x679d1899
jmp 0x406870
cmp eax, 0x547528c3
jg 0x406b61
cmp eax, 0x4aab4050
jg 0x406cf1
cmp eax, 0x4277ce41
jle 0x406f79
cmp eax, 0x473670ec
jg 0x40741d
cmp eax, 0x4277ce42
je 0x40773b
cmp eax, 0x45d6c493
jne 0x406870
mov eax, dword [esi + 0xd8]
mov eax, dword [eax + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 0x6c]
mov edx, dword [0x4a83c0]
lea edi, [edx + 1]
imul edi, edx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
mov edi, 0x889001a3
setne dl
cmp dword [0x4a83bc], 0xa
setge dh
mov bl, dh
or dh, dl
xor bl, dl
xor dh, 1
or dh, bl
mov edx, 0x6ce32f1a
mov ebx, dword [ecx + eax + 0x24]
cmovne edi, edx
mov edx, 0xe0591e7b
mov dword [esi + 0xa0], edi
mov edi, 0x889001a3
cmovne edi, edx
mov edx, 0x4977e6a9
mov dword [esi + 0x9c], edi
mov edi, dword [ecx + eax + 0x20]
cmp edx, 0x4977e6a8
jle 0x406a10
cmp edx, 0x4977e6a9
je 0x406a4f
cmp edx, 0x6ce32f1a
je 0x406a57
cmp edx, 0x6e9fe0c7
jne 0x4069e0
jmp 0x407751
cmp edx, 0x889001a3
je 0x406a5e
cmp edx, 0xe0591e7b
jne 0x4069e0
mov eax, dword [esi + 0x18]
mov edx, ebx
mov dword [esi + 0x94], edx
mov edx, dword [esi + 0xa0]
xor ebx, ebx
mov dword [ecx + eax + 0x24], 0
mov dword [ecx + eax + 0x20], 0
mov eax, edi
xor edi, edi
mov dword [esi + 0x98], eax
jmp 0x4069e0
mov edx, dword [esi + 0x9c]
jmp 0x4069e0
mov edx, 0x6e9fe0c7
jmp 0x4069e0
mov eax, dword [esi + 0x18]
xor edi, edi
mov edx, 0xe0591e7b
xor ebx, ebx
mov dword [ecx + eax + 0x24], 0
mov dword [ecx + eax + 0x20], 0
jmp 0x4069e0
cmp eax, 0xeb4483cf
jg 0x406ba2
cmp eax, 0xda2c986c
jg 0x406d3c
cmp eax, 0xc6d225c8
jle 0x406fb7
cmp eax, 0xd03f3d2e
jg 0x40743d
cmp eax, 0xc6d225c9
je 0x407773
cmp eax, 0xcf701fc0
jne 0x406870
cmp byte [esi + 0x26], 0
mov eax, 0xdb14346
mov ecx, 0xe2327cb9
cmovne eax, ecx
jmp 0x406870
cmp eax, 0x37b1e62a
jg 0x406d72
cmp eax, 0x306d0122
jle 0x406ffe
cmp eax, 0x35f09c31
jg 0x407468
cmp eax, 0x306d0123
je 0x4077a6
cmp eax, 0x3430d2c2
jne 0x406870
mov eax, dword [esi]
mov ecx, dword [esi + 0x60]
mov dword [eax], ecx
mov eax, 0x4aab4051
jmp 0x406870
cmp eax, 0xae8782c1
jg 0x406da8
cmp eax, 0xa5427911
jle 0x407053
cmp eax, 0xaa2274f8
jg 0x407496
cmp eax, 0xa5427912
je 0x4077d4
cmp eax, 0xa57882bb
jne 0x406870
mov eax, 0x4277ce42
jmp 0x406870
cmp eax, 0x6ab6552c
jg 0x406de0
cmp eax, 0x57df291c
jle 0x40708a
cmp eax, 0x6392b272
jg 0x4074cd
cmp eax, 0x57df291d
je 0x40780c
cmp eax, 0x62f4d02c
jne 0x406870
mov eax, 0xbe68f3e1
jmp 0x406870
cmp eax, 0xf47ed75b
jg 0x406e22
cmp eax, 0xf186a2eb
jle 0x4070ca
cmp eax, 0xf22a371d
jg 0x407502
cmp eax, 0xf186a2ec
je 0x407816
cmp eax, 0xf1deaf95
jne 0x406870
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 4], eax
push eax
mov eax, esp
mov dword [esi], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x1c], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x14], eax
push eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
mov ecx, dword [ebp + 0xc]
mov edi, 0x2653eb73
mov ebx, 0x502d715f
mov eax, dword [esi + 0x34]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi]
mov eax, dword [esi]
mov dword [eax], 0
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0xa4], eax
mov eax, dword [0x4a83c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x502d715f
jmp 0x407f90
cmp eax, 0xfe622fd
jle 0x4070f5
cmp eax, 0x17672bdf
jg 0x40754b
cmp eax, 0xfe622fe
je 0x40784c
cmp eax, 0x1012ac98
jne 0x406870
mov eax, dword [esi]
mov ecx, dword [esi + 0x68]
mov edi, 0x4b0537a8
mov dword [eax], ecx
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x9e7f4d7b
jmp 0x407abe
cmp eax, 0x99a83eb2
jle 0x407146
cmp eax, 0x9e7f4d7a
jg 0x407573
cmp eax, 0x99a83eb3
je 0x4078a0
cmp eax, 0x9a715066
jne 0x406870
mov eax, dword [esi + 0x14]
mov eax, 0x6370e03
jmp 0x406870
cmp eax, 0x4ceaf11a
jle 0x4071a4
cmp eax, 0x502d715e
jg 0x4075a2
cmp eax, 0x4ceaf11b
je 0x4078aa
cmp eax, 0x4e03f103
jne 0x406870
mov eax, dword [0x4a83c8]
mov ebx, 0xb6601f9d
mov edi, 0x3d78892a
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x3d78892a
jmp 0x407e41
cmp eax, 0xe150d33d
jle 0x407289
cmp eax, 0xe2327cb8
jg 0x4075de
cmp eax, 0xe150d33e
je 0x4078c0
cmp eax, 0xe1f55a35
jne 0x406870
mov eax, 0x306d0123
jmp 0x406870
cmp eax, 0x3d788929
jle 0x4072be
cmp eax, 0x3f39fb5e
jg 0x407605
cmp eax, 0x3d78892a
je 0x4078ca
cmp eax, 0x3db81d2a
jne 0x406870
mov eax, 0xda2c986d
jmp 0x406870
cmp eax, 0xb5e9a911
jle 0x4072f7
cmp eax, 0xb6601f9c
jg 0x40762f
cmp eax, 0xb5e9a912
je 0x4078d7
cmp eax, 0xb60f62ec
jne 0x406870
mov eax, dword [esi]
mov eax, 0x56875ac
jmp 0x406870
cmp eax, 0x71829626
jle 0x40734c
cmp eax, 0x78baad86
jg 0x407652
cmp eax, 0x71829627
je 0x4078fd
cmp eax, 0x7534fea5
jne 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0xb3bcc8fa
jmp 0x407329
cmp eax, 0x6370e02
jle 0x40738f
cmp eax, 0xa3291f0
jg 0x407672
cmp eax, 0x6370e03
je 0x407930
cmp eax, 0x94072c6
jne 0x406870
mov eax, 0xb3bcc8fa
jmp 0x406870
cmp eax, 0x22c88973
jg 0x4076bb
cmp eax, 0x1fd57c3f
je 0x40798d
cmp eax, 0x20f00e37
jne 0x406870
cmp byte [esi + 0x25], 0
mov eax, 0x62f4d02c
mov ecx, 0x4e03f103
cmovne eax, ecx
jmp 0x406870
cmp eax, 0x83a25220
je 0x40799a
cmp eax, 0x8c0bcab7
je 0x4079b3
cmp eax, 0x8da8d786
jne 0x406870
mov eax, dword [esi + 0xd4]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esi + 0x64]
call fcn.00410a70
mov dword [esi + 0x18], eax
mov ebx, 0x6b79dc0b
mov edi, 0x6b79dc0b
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
mov eax, dword [0x4a83b8]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
setne al
sete dl
cmp dword [0x4a83b4], 0xa
setge ah
setl dh
or ah, al
xor dh, dl
xor ah, 1
or ah, dh
mov eax, 0x32e757ea
mov edx, 0xb7bb58f5
cmovne ebx, eax
mov eax, 0xfc8e81f9
cmovne edi, eax
nop dword [eax]
cmp edx, 0xfc8e81f8
jle 0x406f50
cmp edx, 0xfc8e81f9
je 0x406f6a
cmp edx, 0x32e757ea
je 0x4079e6
cmp edx, 0x6b79dc0b
jne 0x406f20
mov edx, dword [esi + 8]
mov edx, 0xfc8e81f9
jmp 0x406f20
cmp edx, 0x90624aa9
je 0x406f75
cmp edx, 0xb7bb58f5
jne 0x406f20
mov dword [esi + 8], ecx
mov edx, 0x90624aa9
jmp 0x406f20
mov eax, dword [esi + 8]
mov edx, ebx
movzx eax, byte [eax + 0x40]
jmp 0x406f20
mov edx, edi
jmp 0x406f20
cmp eax, 0x3fec539b
je 0x407a0e
cmp eax, 0x4239b702
je 0x407a4c
cmp eax, 0x423bc69a
jne 0x406870
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0xdc], eax
mov ecx, dword [esi + 0x30]
call fcn.00411500
mov eax, 0x22c88974
jmp 0x406870
cmp eax, 0xbd73b181
je 0x407a76
cmp eax, 0xbe68f3e1
je 0x407a8f
cmp eax, 0xc0cbaf7c
jne 0x406870
mov eax, dword [0x4a83c8]
mov edi, 0x473670ed
mov ebx, 0xd593995
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xd593995
jmp 0x408166
cmp eax, 0x24b5e873
je 0x407ad4
cmp eax, 0x2653eb73
je 0x407aea
cmp eax, 0x280a5904
jne 0x406870
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.00410a70
mov dword [esi + 0xc8], eax
mov eax, dword [0x4a83c8]
mov ebx, 0xe1f55a35
mov edi, 0xbd73b181
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xbd73b181
jmp 0x407e41
cmp eax, 0xa084c38e
je 0x407af4
cmp eax, 0xa2b3685c
je 0x407afe
cmp eax, 0xa40fa60b
jne 0x406870
cmp byte [esi + 0x2a], 0
mov eax, 0x9469066e
mov ecx, 0xe084230b
cmovne eax, ecx
jmp 0x406870
cmp eax, 0x547528c4
je 0x407b30
cmp eax, 0x54d33a76
je 0x407b51
cmp eax, 0x553f2116
jne 0x406870
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
mov eax, dword [esi]
push 0
push dword [eax]
call fcn.00411160
mov eax, 0x423bc69a
jmp 0x406870
cmp eax, 0xeb4483d0
je 0x407b77
cmp eax, 0xef43dbf5
je 0x407b84
cmp eax, 0xf10d469c
jne 0x406870
mov eax, 0x4cb5b32d
jmp 0x406870
cmp eax, 0xd593995
je 0x407bac
cmp eax, 0xdb14346
je 0x407bb8
cmp eax, 0xe705d54
jne 0x406870
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xb473281b
and eax, 4
and ecx, 0x4b8cd7e4
or edx, ecx
xor edx, 0x4b8cd7e0
or eax, edx
mov dword [esi + 0x50], eax
mov eax, 0x71829627
jmp 0x406870
cmp eax, 0x95cb65ea
je 0x407bc2
cmp eax, 0x96e18071
je 0x407bda
cmp eax, 0x96f50eb5
jne 0x406870
push dword [esi + 0xa4]
call fcn.0040baa0
add esp, 4
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xa8], eax
mov eax, 0x3fec539b
jmp 0x406870
cmp eax, 0x4aab4051
je 0x407be4
cmp eax, 0x4b0537a8
je 0x407c11
cmp eax, 0x4cb5b32d
jne 0x406870
mov eax, dword [esi + 0xbc]
mov ecx, dword [eax]
add ecx, dword [esi + 0x58]
call fcn.00410a70
mov dword [esi + 0x18], eax
mov ebx, 0x6b79dc0b
mov edi, 0x6b79dc0b
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
mov eax, dword [0x4a83b8]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete al
cmp dword [0x4a83b4], 0xa
setl dl
or dl, al
mov eax, 0x32e757ea
mov edx, 0xb7bb58f5
cmovne ebx, eax
mov eax, 0xfc8e81f9
cmovne edi, eax
nop word cs:[eax + eax]
cmp edx, 0xfc8e81f8
jle 0x407260
cmp edx, 0xfc8e81f9
je 0x40727a
cmp edx, 0x32e757ea
je 0x407c1b
cmp edx, 0x6b79dc0b
jne 0x407230
mov edx, dword [esi + 8]
mov edx, 0xfc8e81f9
jmp 0x407230
cmp edx, 0x90624aa9
je 0x407285
cmp edx, 0xb7bb58f5
jne 0x407230
mov dword [esi + 8], ecx
mov edx, 0x90624aa9
jmp 0x407230
mov eax, dword [esi + 8]
mov edx, ebx
movzx eax, byte [eax + 0x40]
jmp 0x407230
mov edx, edi
jmp 0x407230
cmp eax, 0xda2c986d
je 0x407c43
cmp eax, 0xda835f66
je 0x406828
cmp eax, 0xe084230b
jne 0x406870
mov eax, dword [esi]
mov eax, dword [eax]
or eax, 4
mov dword [esi + 0x68], eax
mov eax, 0xf2a647e6
jmp 0x406870
cmp eax, 0x37b1e62b
je 0x407c55
cmp eax, 0x3813f940
je 0x407da4
cmp eax, 0x3d56ed05
jne 0x406870
mov eax, dword [esi + 0xb0]
mov eax, dword [eax]
mov dword [esi + 0xb4], eax
mov eax, 0xa5427912
jmp 0x406870
cmp eax, 0xae8782c2
je 0x407def
cmp eax, 0xb065af1d
je 0x407df9
cmp eax, 0xb3bcc8fa
jne 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0x1e61314a
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x94072c6
jmp 0x407abe
cmp eax, 0x6ab6552d
je 0x407e0e
cmp eax, 0x6d927bf6
je 0x407e27
cmp eax, 0x6e1b80c6
jne 0x406870
mov eax, dword [esi + 0xb8]
mov ecx, 0xbe68f3e1
not eax
or eax, 0xfffffe3f
cmp eax, 0xffffffbf
mov eax, 0x57df291d
cmove eax, ecx
jmp 0x406870
cmp eax, 0xf47ed75c
je 0x407e66
cmp eax, 0xfd91f8da
je 0x407e70
cmp eax, 0x56875ac
jne 0x406870
mov eax, dword [esi]
mov ebx, 0xe150d33e
mov edi, 0xb60f62ec
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov eax, dword [0x4a83c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xb60f62ec
jmp 0x407e49
cmp eax, 0x1cf28a4c
je 0x407e96
cmp eax, 0x1e61314a
jne 0x406870
mov eax, 0x553f2116
jmp 0x406870
cmp eax, 0x943cb2a8
je 0x407eac
cmp eax, 0x9469066e
jne 0x406870
mov eax, 0x53c331a7
jmp 0x406870
cmp eax, 0x473670ed
je 0x407f05
cmp eax, 0x4a092800
jne 0x406870
mov eax, 0xad9d417
jmp 0x406870
cmp eax, 0xd03f3d2f
je 0x407f54
cmp eax, 0xd6330d6a
jne 0x406870
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov dword [esi + 0xd8], eax
mov eax, 0x45d6c493
jmp 0x406870
cmp eax, 0x35f09c32
je 0x407f6f
cmp eax, 0x361c587b
jne 0x406870
mov dword [esi + 0x40], 0
mov eax, 0x37b1e62b
mov dword [esi + 0x3c], 0
jmp 0x406870
cmp eax, 0xaa2274f9
je 0x407f9d
cmp eax, 0xabd8423a
jne 0x406870
xor eax, eax
cmp eax, dword [esi + 0xf0]
mov eax, 0
sbb eax, dword [esi + 0xf4]
mov eax, 0x24b5e873
setl byte [esi + 0x29]
jmp 0x406870
cmp eax, 0x6392b273
je 0x407fa7
cmp eax, 0x679d1899
jne 0x406870
mov eax, dword [0x4a83c8]
mov ebx, 0xa3291f1
mov edi, 0xf186a2ec
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xf186a2ec
jmp 0x407e41
cmp eax, 0xf22a371e
je 0x407fc5
cmp eax, 0xf2a647e6
jne 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0x9e7f4d7b
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x1012ac98
jmp 0x406856
cmp eax, 0x17672be0
je 0x407fcf
cmp eax, 0x18d29ab2
jne 0x406870
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov eax, 0x1932f24e
jmp 0x406870
cmp eax, 0x9e7f4d7b
je 0x407fef
cmp eax, 0x9fe1b96a
jne 0x406870
mov eax, dword [esi + 0xc0]
or eax, 4
mov dword [esi + 0xc4], eax
mov eax, 0x78baad87
jmp 0x406870
cmp eax, 0x502d715f
je 0x408000
cmp eax, 0x53c331a7
jne 0x406870
mov eax, dword [0x4a83c8]
mov ebx, 0x6370e03
mov edi, 0x9a715066
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x9a715066
jmp 0x407e49
cmp eax, 0xe2327cb9
je 0x40800a
cmp eax, 0xe58ad353
jne 0x406870
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov dword [eax], ecx
mov eax, 0x35f09c32
jmp 0x406870
cmp eax, 0x3f39fb5f
je 0x40801e
cmp eax, 0x3f7df405
jne 0x406870
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xcc], eax
mov eax, 0xa2b3685c
jmp 0x406870
cmp eax, 0xb6601f9d
je 0x408028
cmp eax, 0xb9114261
jne 0x406870
mov eax, dword [esi + 4]
mov eax, 0x943cb2a8
jmp 0x406870
cmp eax, 0x78baad87
je 0x408064
cmp eax, 0x7c827065
jne 0x406870
mov eax, 0x3db81d2a
jmp 0x406870
cmp eax, 0xa3291f1
je 0x408078
cmp eax, 0xad9d417
jne 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0x4a092800
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x7c827065
jmp 0x406856
cmp eax, 0x23fa1571
jne 0x408183
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xec]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esi + 0x78], eax
mov eax, 0x95cb65ea
mov dword [esi + 0x7c], ecx
jmp 0x406870
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esi + 0x54]
call fcn.004108d0
mov dword [esi + 0xb8], eax
mov eax, 0x6e1b80c6
jmp 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0xbd73b181
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x280a5904
jmp 0x406856
cmp byte [esi + 0x27], 0
mov eax, 0xc0cbaf7c
mov ecx, 0x90fbc724
cmovne eax, ecx
jmp 0x406870
mov eax, dword [esi + 0x98]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov eax, 0x553f2116
jmp 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0xb9114261
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x943cb2a8
jmp 0x406856
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0xc8]
push dword [eax + 4]
push dword [eax]
push dword [edx]
call fcn.004110d0
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], edx
mov eax, 0xef43dbf5
jmp 0x406870
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0x4c]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, 0x82ab57ad
nop word [eax + eax]
cmp edx, 0x82ab57ad
je 0x407805
cmp edx, 0xb1d50c7b
jne 0x4077f0
jmp 0x4080ac
mov edx, 0xb1d50c7b
jmp 0x4077f0
mov eax, 0x6ab6552d
jmp 0x406870
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x48]
mov eax, dword [ecx + edx + 0x20]
mov ecx, dword [ecx + edx + 0x24]
mov edx, 0x82ab57ad
nop dword [eax]
cmp edx, 0x82ab57ad
je 0x407845
cmp edx, 0xb1d50c7b
jne 0x407830
jmp 0x4080ee
mov edx, 0xb1d50c7b
jmp 0x407830
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0xf22a371e
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x1fd57c3f
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x14]
cmp ecx, 0xa
cmovge eax, edx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0xf0], xmm0
jmp 0x406870
mov eax, 0x54d33a76
jmp 0x406870
cmp byte [esi + 0x24], 0
mov eax, 0x17672be0
mov ecx, 0x361c587b
cmovne eax, ecx
jmp 0x406870
mov eax, 0xb5e9a912
jmp 0x406870
mov eax, dword [esi + 4]
mov eax, 0xb6601f9d
jmp 0x406870
mov eax, dword [0x4a83c8]
mov edi, 0x3813f940
mov ebx, 0xeb4483d0
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xeb4483d0
jmp 0x408166
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0xe58ad353
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x35f09c32
jmp 0x406856
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0x9a715066
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3f39fb5f
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x14]
cmovge eax, edi
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
add edx, 0xffffffff
adc ecx, 0xffffffff
mov dword [esi + 0x88], edx
mov dword [esi + 0x8c], ecx
jmp 0x406870
mov eax, dword [esi + 0x14]
mov eax, 0xfe622fe
jmp 0x406870
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
mov eax, 0x23fa1571
vmovsd qword [esi + 0xe8], xmm0
jmp 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0x3430d2c2
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x4aab4051
jmp 0x406856
mov byte [esi + 0x2c], al
movsx eax, byte [esi + 0x2c]
mov ecx, dword [esi + 0x18]
push eax
call fcn.00410bc0
push eax
push 0xffffffffffffffff
call fcn.00410a10
add esp, 8
mov byte [esi + 0x2a], al
mov eax, 0xa40fa60b
jmp 0x406870
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0xa8]
mov eax, dword [ecx + edx + 0x20]
mov ecx, dword [ecx + edx + 0x24]
mov edx, 0x82ab57ad
nop word cs:[eax + eax]
cmp edx, 0x82ab57ad
je 0x407a45
cmp edx, 0xb1d50c7b
jne 0x407a30
jmp 0x408107
mov edx, 0xb1d50c7b
jmp 0x407a30
movzx ecx, byte [esi + 0x22]
movzx eax, byte [esi + 0x23]
mov edi, 0xf1deaf95
mov edx, ecx
xor dl, al
mov edx, 0x502d715f
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x406870
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.00410a70
mov eax, 0x280a5904
jmp 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0x56875ac
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xb60f62ec
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x406870
cmp byte [esi + 0x29], 0
mov eax, 0x3db81d2a
mov ecx, 0xd03f3d2f
cmovne eax, ecx
jmp 0x406870
mov eax, 0x96f50eb5
jmp 0x406870
mov eax, 0xda835f66
jmp 0x406870
mov eax, dword [esi + 0xcc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x18e5f891
and eax, 4
and ecx, 0xe71a076e
or edx, ecx
xor edx, 0xe71a076a
or eax, edx
mov dword [esi + 0x60], eax
mov eax, 0x8c0bcab7
jmp 0x406870
xor eax, eax
cmp eax, dword [esi + 0xe0]
mov eax, 0
sbb eax, dword [esi + 0xe4]
mov eax, 0x20f00e37
setl byte [esi + 0x25]
jmp 0x406870
mov eax, dword [0x4a83c8]
mov ebx, 0xae8782c2
mov edi, 0x99a83eb3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x99a83eb3
jmp 0x407e49
mov eax, dword [esi + 0x5c]
mov eax, 0x3813f940
jmp 0x406870
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor eax, dword [esi + 0x84]
xor ecx, dword [esi + 0x80]
or ecx, eax
mov eax, 0x3f7df405
mov ecx, 0xc0cbaf7c
cmove eax, ecx
jmp 0x406870
mov eax, dword [esi]
mov eax, 0x473670ed
jmp 0x406870
mov eax, 0x83a25220
jmp 0x406870
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, 0x6ab6552d
jmp 0x406870
mov eax, 0x7534fea5
jmp 0x406870
mov eax, dword [esi]
mov ecx, dword [esi + 0x60]
mov ebx, 0xf47ed75c
mov edi, 0x3430d2c2
mov dword [eax], ecx
mov eax, dword [0x4a83c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x3430d2c2
jmp 0x407e49
mov eax, 0x6d927bf6
jmp 0x406870
mov byte [esi + 0x2c], al
movsx eax, byte [esi + 0x2c]
mov ecx, dword [esi + 0x18]
push eax
call fcn.00410bc0
push eax
push 0xffffffffffffffff
call fcn.00410a10
add esp, 8
mov byte [esi + 0x26], al
mov eax, 0xcf701fc0
jmp 0x406870
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, 0xd6330d6a
jmp 0x406870
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x40]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
push dword [eax]
call fcn.00410060
mov eax, dword [esi + 0x30]
mov edx, 0xb59f6089
mov ebx, 0xb59f6089
mov dword [esi + 0x2c], eax
mov eax, dword [0x4a83b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4a83ac], 0xa
setl cl
or cl, al
mov ecx, 0x949a3c50
mov eax, 0x2ce7399c
cmovne ecx, eax
mov eax, 0x949a3c50
mov dword [esi + 0x18], ecx
mov ecx, 0x1e02164e
cmovne eax, ecx
mov ecx, 0x302b35e7
cmovne edx, ecx
mov ecx, 0x85a6049e
cmovne ebx, ecx
mov ecx, 0x467b3bdb
jmp 0x407ce0
mov ecx, dword [esi + 8]
mov ecx, 0x1e02164e
mov edi, ecx
cmp ecx, 0x1e02164d
jg 0x407d20
cmp edi, 0x949a3c4f
jg 0x407d40
mov ecx, eax
cmp edi, 0x8269992d
je 0x407ce0
mov ecx, edi
cmp edi, 0x85a6049e
jne 0x407ce0
mov ecx, dword [esi + 0x2c]
add ecx, 4
mov dword [esi + 8], ecx
mov ecx, edx
jmp 0x407ce0
cmp edi, 0x302b35e6
jle 0x407d5c
cmp edi, 0x302b35e7
je 0x407d76
mov ecx, edi
cmp edi, 0x467b3bdb
jne 0x407ce0
mov ecx, ebx
jmp 0x407ce0
cmp edi, 0x949a3c50
je 0x407cd8
mov ecx, edi
cmp edi, 0xb59f6089
jne 0x407ce0
mov ecx, dword [esi + 0x2c]
mov ecx, 0x85a6049e
jmp 0x407ce0
cmp edi, 0x1e02164e
jne 0x407d80
mov ecx, dword [esi + 8]
cmp byte [ecx], 0
mov ecx, dword [esi + 0x18]
setne byte [esi + 0x2b]
jmp 0x407ce0
mov ecx, 0x8269992d
jmp 0x407ce0
mov ecx, edi
cmp edi, 0x2ce7399c
jne 0x407ce0
cmp byte [esi + 0x2b], 0
mov eax, 0xe705d54
mov ecx, 0x18d29ab2
cmovne eax, ecx
jmp 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0xeb4483d0
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xa57882bb
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
cmp dword [esi + 0x5c], 0
sete byte [esi + 0x27]
jmp 0x406870
mov eax, 0xda835f66
jmp 0x406870
cmp dword [esi + 0xd0], 0
mov eax, 0x1cf28a4c
sete byte [esi + 0x28]
jmp 0x406870
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
mov eax, 0x547528c4
vmovsd qword [esi + 0xe0], xmm0
jmp 0x406870
mov eax, dword [0x4a83c8]
mov ebx, 0xad9d417
mov edi, 0x4a092800
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x4a092800
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4a83c4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x406870
mov eax, 0xc0cbaf7c
jmp 0x406870
mov eax, dword [0x4a83c8]
mov edi, 0x54d33a76
mov ebx, 0x99a83eb3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x99a83eb3
jmp 0x408166
cmp byte [esi + 0x28], 0
mov eax, 0xda2c986d
mov ecx, 0xfd91f8da
cmovne eax, ecx
jmp 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov ebx, 0x1a5a8a78
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xb9114261
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 4]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0xac], ecx
jmp 0x406870
mov edx, dword [0x4a83c8]
mov ecx, dword [0x4a83c4]
mov edi, 0xaa2274f9
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xd593995
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0xd0], ecx
jmp 0x406870
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0xd4], eax
mov eax, 0x8da8d786
jmp 0x406870
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov edi, 0x96e18071
mov ebx, 0xe58ad353
mov dword [eax], ecx
mov eax, dword [0x4a83c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xe58ad353
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x408166
mov eax, 0xb065af1d
jmp 0x406870
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x8c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, 0xa084c38e
jmp 0x406870
mov eax, 0xabd8423a
jmp 0x406870
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
add eax, 4
mov dword [esi + 0xb0], eax
mov eax, 0x3d56ed05
jmp 0x406870
mov eax, dword [esi]
mov ecx, dword [esi + 0x68]
mov dword [eax], ecx
mov eax, 0x1012ac98
jmp 0x406870
mov eax, 0xf1deaf95
jmp 0x406870
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc0], eax
mov eax, 0x9fe1b96a
jmp 0x406870
mov eax, 0x6392b273
jmp 0x406870
mov eax, dword [esi + 4]
mov edi, 0xf10d469c
mov ebx, 0x3d78892a
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
add eax, 4
mov dword [esi + 0xbc], eax
mov eax, dword [0x4a83c8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x3d78892a
jmp 0x408166
mov eax, dword [esi]
mov ecx, dword [esi + 0xc4]
mov dword [eax], ecx
mov eax, 0x62f4d02c
jmp 0x406870
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x48]
mov eax, dword [ecx + edx + 0x20]
mov ecx, dword [ecx + edx + 0x24]
mov edx, 0x82ab57ad
nop dword [eax + eax]
cmp edx, 0x82ab57ad
je 0x4080a5
cmp edx, 0xb1d50c7b
jne 0x408090
jmp 0x40812b
mov edx, 0xb1d50c7b
jmp 0x408090
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov ebx, 0xc4d547e6
mov edi, 0x2aeeba62
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x1c]
add eax, ebx
adc ecx, edi
sub eax, dword [edx]
sbb ecx, dword [edx + 4]
sub eax, ebx
mov dword [esi + 0x70], eax
mov eax, 0x37b1e62b
sbb ecx, edi
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x3c], ecx
jmp 0x406870
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x1c]
mov eax, 0xa3291f1
jmp 0x406870
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
cmp ecx, 1
mov ecx, 0x361c587b
sbb eax, 0
mov eax, 0xc6d225c9
cmovl eax, ecx
jmp 0x406870
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov edi, 0x4ceaf11b
mov ebx, 0xf186a2ec
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x1c]
cmp dword [edx], ecx
mov ecx, dword [edx + 4]
sbb ecx, eax
mov eax, dword [0x4a83c8]
setge byte [esi + 0x24]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xf186a2ec
sete cl
cmove eax, edi
cmp dword [0x4a83c4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x406870
cmp eax, 0x22c88974
jne 0x406870
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov eax, dword [esi]
mov edi, dword [esi + 0xdc]
mov ecx, dword [esi + 0xf8]
xor ecx, ebp
call fcn.00439e50
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret