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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x128
mov eax, dword [0x4ea2c0]
xor eax, ebp
mov dword [esp + 0x120], eax
push dword [ebp + 0xc]
call fcn.0040b7e0
add esp, 4
mov dword [esp + 0x40], eax
mov eax, 0x6c377747
mov dword [esp + 0xc], 0
jmp 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0xe7105f56
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, 0xc9f07291
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
nop dword [eax + eax]
cmp eax, 0xfc4de797
jle 0x406430
cmp eax, 0x38299cea
jle 0x4064c0
cmp eax, 0x6a35be55
jg 0x40657c
cmp eax, 0x521fdc26
jle 0x406730
cmp eax, 0x5dce43dd
jg 0x406b68
cmp eax, 0x5a8ba0c6
jg 0x407136
cmp eax, 0x521fdc27
je 0x40774f
cmp eax, 0x5989e8d6
jne 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x86109941
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, 0xc1fc79f4
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
cmp dword [esp + 0x80], 0
sete byte [esp + 0x32]
jmp 0x406380
cmp eax, 0xc7e83e51
jg 0x406530
cmp eax, 0x9ecb2306
jg 0x4065bd
cmp eax, 0x94ec639b
jle 0x406910
cmp eax, 0x9c1fcd2d
jg 0x406bc0
cmp eax, 0x976dc431
jg 0x407156
cmp eax, 0x94ec639c
je 0x40776e
cmp eax, 0x95c1693e
jne 0x406380
mov eax, dword [0x4ec3f8]
mov ebx, 0x87af7cad
mov esi, 0x6b5b4b88
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x6b5b4b88
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4ec3f4], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, ebx
jmp 0x406380
cmp eax, 0x228aa924
jg 0x4066a3
cmp eax, 0x8c73238
jle 0x406946
cmp eax, 0x152a2ed2
jg 0x406bff
cmp eax, 0xf6abbb6
jg 0x4071c1
cmp eax, 0x8c73239
je 0x407785
cmp eax, 0xbb29735
jne 0x406380
mov eax, dword [0x4ec3f8]
mov esi, 0xf1c11b5d
mov edi, 0xeab5128c
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xeab5128c
jmp 0x408722
cmp eax, 0xe7105f55
jg 0x4066ef
cmp eax, 0xd0602f93
jle 0x40697c
cmp eax, 0xdbca1f59
jg 0x406c69
cmp eax, 0xd436f184
jg 0x4071ee
cmp eax, 0xd0602f94
je 0x4077a0
cmp eax, 0xd069774b
jne 0x406380
mov eax, 0xf31eb691
jmp 0x406380
cmp eax, 0x70160eba
jle 0x4069c2
cmp eax, 0x7973fdcd
jg 0x406c94
cmp eax, 0x76fcef86
jg 0x407238
cmp eax, 0x70160ebb
je 0x4077bb
cmp eax, 0x72b4c226
jne 0x406380
mov eax, 0x6d2c295f
jmp 0x406380
cmp eax, 0xb8caaa9b
jle 0x406a09
cmp eax, 0xc1fc79f3
jg 0x406cca
cmp eax, 0xbae76208
jg 0x40726d
cmp eax, 0xb8caaa9c
je 0x4077da
cmp eax, 0xb9eefd5f
jne 0x406380
mov eax, dword [esp + 0x78]
mov esi, 0x147f1753
mov eax, dword [eax]
mov ecx, dword [esp + 0x4c]
movzx eax, byte [ecx + eax + 0x40]
mov ecx, dword [0x4ec3f0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4ec3ec], 0xa
setl dl
or dl, cl
mov ecx, 0xba7b1b93
mov edx, 0xa10a40b7
cmovne ecx, edx
mov edx, 0xba7b1b93
cmovne edx, esi
mov esi, 0x28191b9d
nop word cs:[eax + eax]
cmp esi, 0xba7b1b92
jle 0x406680
cmp esi, 0xba7b1b93
je 0x406698
cmp esi, 0x147f1753
je 0x40669f
cmp esi, 0x28191b9d
jne 0x406650
mov esi, 0xac2fc268
jmp 0x406650
cmp esi, 0xa10a40b7
je 0x4077f9
cmp esi, 0xac2fc268
jne 0x406650
mov esi, edx
jmp 0x406650
mov esi, 0x147f1753
jmp 0x406650
mov esi, ecx
jmp 0x406650
cmp eax, 0x294cd6b7
jle 0x406a51
cmp eax, 0x2f4d0b91
jg 0x406d11
cmp eax, 0x299d3b09
jg 0x4072b7
cmp eax, 0x294cd6b8
je 0x4078c5
cmp eax, 0x2971fff9
jne 0x406380
mov ecx, dword [esp + 0xd8]
mov eax, 0xc47e0d3e
mov dword [esp + 0xc], ecx
jmp 0x406380
cmp eax, 0xf0d65813
jle 0x406b23
cmp eax, 0xf3fc4a4c
jg 0x406d6c
cmp eax, 0xf2224e4f
jg 0x4072d7
cmp eax, 0xf0d65814
je 0x4078f0
cmp eax, 0xf1c11b5d
jne 0x406380
mov eax, 0xefd8e73a
jmp 0x406380
cmp eax, 0x44b90162
jg 0x406dc1
cmp eax, 0x3c520932
jg 0x407321
cmp eax, 0x38299ceb
je 0x407907
cmp eax, 0x3a35b0e3
jne 0x406380
mov eax, dword [esp + 0xd0]
mov ecx, dword [0x4ec3e8]
mov edx, dword [0x4ec3e4]
mov ebx, 0xe7c10b76
lea esi, [ecx + 1]
imul esi, ecx
mov ecx, esi
xor ecx, 0xfffffffe
test ecx, esi
mov esi, 0x1f1a8b14
sete cl
sete byte [esp + 8]
cmp edx, 0xa
setl dl
setl byte [esp + 0x20]
add eax, 0x20
or dl, cl
mov dword [esp + 0x38], eax
mov ecx, 0x159d370d
mov eax, 0xb074a89c
test dl, dl
mov edx, 0x159d370d
cmovne ecx, eax
mov eax, 0x61f337b1
cmovne edx, eax
mov eax, 0xf1721b5a
cmovne ebx, eax
mov dword [esp + 0x34], edx
jmp 0x4067e0
mov esi, 0x61f337b1
nop word cs:[eax + eax]
mov edi, esi
cmp esi, 0x1f1a8b13
jg 0x406820
cmp edi, 0x159d370c
jg 0x406850
cmp edi, 0xe7c10b76
je 0x4068a5
cmp edi, 0xf1721b5a
jne 0x4068e0
mov esi, 0x21a30dcc
jmp 0x4067e0
cmp edi, 0x61f337b0
jg 0x406880
cmp edi, 0x1f1a8b14
je 0x4068af
mov esi, edi
cmp edi, 0x21a30dcc
jne 0x4067e0
mov eax, dword [esp + 0x10]
mov esi, 0x6a5c085e
vmovsd xmm0, qword [eax]
vmovsd qword [esp], xmm0
jmp 0x4067e0
cmp edi, 0x159d370d
je 0x4067cc
mov esi, edi
cmp edi, 0x1e977fa5
jne 0x4067e0
mov eax, dword [esp + 0x38]
mov esi, ebx
mov dword [esp + 0x10], eax
jmp 0x4067e0
mov esi, ecx
cmp edi, 0x61f337b1
je 0x4067e0
mov esi, edi
cmp edi, 0x6a5c085e
jne 0x4067e0
mov esi, dword [esp + 0x34]
jmp 0x4067e0
mov esi, 0x1e977fa5
jmp 0x4067e0
movzx eax, byte [esp + 8]
movzx edx, byte [esp + 0x20]
mov esi, 0xe7c10b76
mov edi, 0x1e977fa5
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0xe7c10b76
cmovne esi, edi
test al, al
cmove esi, edx
test ah, ah
cmovne esi, edi
jmp 0x4067e0
mov esi, edi
cmp edi, 0xb074a89c
jne 0x4067e0
mov eax, dword [esp + 0x40]
mov ecx, 0xa73668e8
cmp eax, dword [esp]
mov eax, 0
sbb eax, dword [esp + 4]
mov eax, 0x9ff3009c
cmovl eax, ecx
jmp 0x406380
cmp eax, 0x87af7cac
jle 0x406f8d
cmp eax, 0x8de0a6b4
jg 0x40738a
cmp eax, 0x87af7cad
je 0x40795a
cmp eax, 0x87ee1fda
jne 0x406380
mov eax, 0xcf7c651d
jmp 0x406380
cmp eax, 0x408ce20
jle 0x406fb8
cmp eax, 0x663b05e
jg 0x4073c6
cmp eax, 0x408ce21
je 0x4079af
cmp eax, 0x4262808
jne 0x406380
mov eax, 0x5a8ba0c7
jmp 0x406380
cmp eax, 0xcae24ddc
jle 0x40702e
cmp eax, 0xcf7c651c
jg 0x4073f6
cmp eax, 0xcae24ddd
je 0x4079c6
cmp eax, 0xcb7d2c7d
jne 0x406380
mov eax, dword [esp + 0x100]
mov eax, dword [eax]
mov dword [esp + 0x104], eax
mov eax, 0x9dad6ed8
jmp 0x406380
cmp eax, 0x6c262d1f
jle 0x407059
cmp eax, 0x6d2c295e
jg 0x407426
cmp eax, 0x6c262d20
je 0x407a27
cmp eax, 0x6c377747
jne 0x406380
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, ecx
mov dword [esp + 0xcc], eax
mov eax, 0x4c9fde13
jmp 0x406380
cmp eax, 0xa130229f
jle 0x407084
cmp eax, 0xa5fee46e
jg 0x40745c
cmp eax, 0xa13022a0
je 0x407a45
cmp eax, 0xa5d3b3d3
jne 0x406380
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x44]
call fcn.0040fe20
mov eax, 0x1c96ddae
jmp 0x406380
cmp eax, 0x267c7416
jle 0x4070c4
cmp eax, 0x26bdab93
jg 0x40748e
cmp eax, 0x267c7417
je 0x407a6b
cmp eax, 0x268be7a5
jne 0x406380
mov eax, dword [esp + 0x78]
mov esi, 0x147f1753
mov eax, dword [eax]
mov ecx, dword [esp + 0x4c]
movzx eax, byte [ecx + eax + 0x40]
mov ecx, dword [0x4ec3f0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x4ec3ec], 0xa
setl dl
or dl, cl
mov ecx, 0xba7b1b93
mov edx, 0xa10a40b7
cmovne ecx, edx
mov edx, 0xba7b1b93
cmovne edx, esi
mov esi, 0x28191b9d
nop dword [eax]
cmp esi, 0xba7b1b92
jle 0x406b00
cmp esi, 0xba7b1b93
je 0x406b18
cmp esi, 0x147f1753
je 0x406b1f
cmp esi, 0x28191b9d
jne 0x406ad0
mov esi, 0xac2fc268
jmp 0x406ad0
cmp esi, 0xa10a40b7
je 0x407a8f
cmp esi, 0xac2fc268
jne 0x406ad0
mov esi, edx
jmp 0x406ad0
mov esi, 0x147f1753
jmp 0x406ad0
mov esi, ecx
jmp 0x406ad0
cmp eax, 0xeac4a601
jle 0x40710b
cmp eax, 0xefd8e739
jg 0x4074bf
cmp eax, 0xeac4a602
je 0x407b50
cmp eax, 0xed331a08
jne 0x406380
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call fcn.0040fe20
mov eax, 0xf96328b8
jmp 0x406380
cmp eax, 0x61d342d1
jg 0x4074df
cmp eax, 0x5dce43de
je 0x407d07
cmp eax, 0x5e4fd2fb
jne 0x406380
mov eax, dword [esp + 0xf4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xc580f71d
and eax, 4
and ecx, 0x3a7f08e2
or edx, ecx
xor edx, 0x3a7f08e6
or eax, edx
mov dword [esp + 0xf8], eax
mov eax, 0x7a18957c
jmp 0x406380
cmp eax, 0x9d12d8b1
jg 0x4074ff
cmp eax, 0x9c1fcd2e
je 0x407e5f
cmp eax, 0x9c9bbbe4
jne 0x406380
mov eax, dword [ebp + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
mov dword [esp + 0xe8], eax
mov eax, 0x243f3c66
jmp 0x406380
cmp eax, 0x1caae2df
jg 0x4075c3
cmp eax, 0x152a2ed3
je 0x407e69
cmp eax, 0x1c96ddae
jne 0x406380
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x44]
call fcn.0040fe20
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 8]
mov edi, 0x681ac229
mov esi, 0xa5d3b3d3
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
add eax, 4
mov dword [esp + 0x78], eax
mov eax, dword [0x4ec3f8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xa5d3b3d3
jmp 0x408620
cmp eax, 0xe544b4a3
jg 0x4075e3
cmp eax, 0xdbca1f5a
je 0x407e73
cmp eax, 0xe11ef470
jne 0x406380
mov eax, 0xb8caaa9c
jmp 0x406380
cmp eax, 0x7d0c39ec
jg 0x40764d
cmp eax, 0x7973fdce
je 0x407e7d
cmp eax, 0x7a18957c
jne 0x406380
mov ecx, dword [esp + 0xf8]
mov eax, 0x9d12d8b2
mov dword [esp + 0xc], ecx
jmp 0x406380
cmp eax, 0xc47e0d3d
jg 0x407682
cmp eax, 0xc1fc79f4
je 0x407e8e
cmp eax, 0xc47b3c11
jne 0x406380
mov eax, dword [0x4ec3f8]
mov esi, 0x31d49895
mov edi, 0x8de0a6b5
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x8de0a6b5
jmp 0x408722
cmp eax, 0x35ac0f00
jg 0x4076af
cmp eax, 0x2f4d0b92
je 0x407e9f
cmp eax, 0x31d49895
jne 0x406380
mov eax, dword [esp + 0x68]
mov edi, 0xefecf46b
mov esi, 0x8de0a6b5
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x48]
mov dword [esp + 0xd0], eax
mov eax, dword [0x4ec3f8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x8de0a6b5
jmp 0x408628
cmp eax, 0xf96328b7
jg 0x4076cf
cmp eax, 0xf3fc4a4d
je 0x407ec5
cmp eax, 0xf8034ddc
jne 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x76fcef87
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, 0x84d7a77
jmp 0x40636a
cmp eax, 0x460310bb
jle 0x4076ef
cmp eax, 0x460310bc
je 0x40633b
cmp eax, 0x4c9fde13
jne 0x406380
mov eax, dword [esp + 0xcc]
mov edx, dword [0x4ec3e8]
mov esi, dword [0x4ec3e4]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
sete byte [esp + 8]
cmp esi, 0xa
mov esi, 0x159d370d
setge dh
setl bl
setl byte [esp + 0x20]
add eax, 0x20
or dh, cl
xor bl, dl
mov dword [esp + 0x38], eax
mov eax, 0xb074a89c
mov ecx, 0x159d370d
not dh
or dh, bl
mov ebx, 0xe7c10b76
test dh, 1
cmovne esi, eax
mov eax, 0x61f337b1
cmovne ecx, eax
mov eax, 0xf1721b5a
mov dword [esp + 0x34], ecx
cmovne ebx, eax
mov ecx, 0x1f1a8b14
jmp 0x406e60
mov ecx, 0x61f337b1
nop dword [eax]
mov edi, ecx
cmp ecx, 0x1f1a8b13
jg 0x406ea0
cmp edi, 0x159d370c
jg 0x406ed0
cmp edi, 0xe7c10b76
je 0x406f25
cmp edi, 0xf1721b5a
jne 0x406f60
mov ecx, 0x21a30dcc
jmp 0x406e60
cmp edi, 0x61f337b0
jg 0x406f00
cmp edi, 0x1f1a8b14
je 0x406f2f
mov ecx, edi
cmp edi, 0x21a30dcc
jne 0x406e60
mov eax, dword [esp + 0x10]
mov ecx, 0x6a5c085e
vmovsd xmm0, qword [eax]
vmovsd qword [esp], xmm0
jmp 0x406e60
cmp edi, 0x159d370d
je 0x406e58
mov ecx, edi
cmp edi, 0x1e977fa5
jne 0x406e60
mov eax, dword [esp + 0x38]
mov ecx, ebx
mov dword [esp + 0x10], eax
jmp 0x406e60
mov ecx, esi
cmp edi, 0x61f337b1
je 0x406e60
mov ecx, edi
cmp edi, 0x6a5c085e
jne 0x406e60
mov ecx, dword [esp + 0x34]
jmp 0x406e60
mov ecx, 0x1e977fa5
jmp 0x406e60
movzx eax, byte [esp + 8]
movzx ecx, byte [esp + 0x20]
mov edx, 0x1e977fa5
mov edi, 0xe7c10b76
mov ah, al
xor ah, cl
test cl, cl
mov ecx, 0xe7c10b76
cmovne ecx, edx
test al, al
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x406e60
mov ecx, edi
cmp edi, 0xb074a89c
jne 0x406e60
mov eax, dword [esp]
mov ecx, dword [esp + 4]
cmp eax, 1
mov eax, 0xbae76209
sbb ecx, 0
mov ecx, 0x9ff3009c
cmovl eax, ecx
jmp 0x406380
cmp eax, 0x82fa2788
je 0x407ed7
cmp eax, 0x850e9d7e
je 0x407f14
cmp eax, 0x86109941
jne 0x406380
mov eax, 0x28f842a5
jmp 0x406380
cmp eax, 0xfc4de798
je 0x407f69
cmp eax, 0xfebe4b22
je 0x407f80
cmp eax, 0x2e8c293
jne 0x406380
mov eax, dword [0x4ec3f8]
mov esi, 0x2f3247d2
mov edi, 0x61d342d2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x61d342d2
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, esi
cmp dword [0x4ec3f4], 0xa
setl dl
cmovge eax, edi
mov edi, dword [esp + 0x28]
xor dl, cl
mov edx, dword [esp + 0x24]
cmovne eax, esi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edx
jmp 0x406380
cmp eax, 0xc7e83e52
je 0x407f97
cmp eax, 0xc9f07291
je 0x40812d
cmp eax, 0xc9fcb910
jne 0x406380
mov eax, 0xd0602f94
jmp 0x406380
cmp eax, 0x6a35be56
je 0x408137
cmp eax, 0x6affcc82
je 0x408156
cmp eax, 0x6b5b4b88
jne 0x406380
mov eax, 0x87af7cad
jmp 0x406380
cmp eax, 0x9ecb2307
je 0x40816b
cmp eax, 0x9ff3009c
je 0x408175
cmp eax, 0xa0379b67
jne 0x406380
mov eax, dword [0x4ec3f8]
mov esi, 0xd0602f94
mov edi, 0xc9fcb910
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xc9fcb910
jmp 0x40871a
cmp eax, 0x228aa925
je 0x40818f
cmp eax, 0x243f3c66
je 0x4081df
cmp eax, 0x2579a7ab
jne 0x406380
mov eax, dword [0x4ec3f8]
mov edi, 0x2e8c293
mov esi, 0x61d342d2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x61d342d2
jmp 0x408628
cmp eax, 0xe7105f56
je 0x408223
cmp eax, 0xe80e44af
je 0x40823e
cmp eax, 0xeab5128c
jne 0x406380
mov eax, 0xbb29735
jmp 0x406380
cmp eax, 0x5a8ba0c7
je 0x40826b
cmp eax, 0x5c26cc38
jne 0x406380
mov eax, 0x2971fff9
jmp 0x406380
cmp eax, 0x976dc432
je 0x408286
cmp eax, 0x99299405
jne 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0xc7e83e52
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, 0x5dce43de
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
mov esi, dword [esp + 0x64]
cmovge eax, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edx
jmp 0x406380
cmp eax, 0xf6abbb7
je 0x408290
cmp eax, 0x142842bb
jne 0x406380
cmp dword [esp + 0xe4], 0
mov eax, 0xf0d65814
sete byte [esp + 0x31]
jmp 0x406380
cmp eax, 0xd436f185
je 0x4082a5
cmp eax, 0xd578f129
jne 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x228aa925
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, 0xe544b4a4
jmp 0x40636a
cmp eax, 0x76fcef87
je 0x4082c9
cmp eax, 0x7859e3a7
jne 0x406380
mov eax, dword [esp + 0xdc]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x70]
mov dword [esp + 0xe0], eax
mov eax, 0x294cd6b8
jmp 0x406380
cmp eax, 0xbae76209
je 0x4082f6
cmp eax, 0xc15608d8
jne 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x38299ceb
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, 0x43f27810
jmp 0x40636a
cmp eax, 0x299d3b0a
je 0x40830f
cmp eax, 0x2f3247d2
jne 0x406380
mov eax, 0x267c7417
jmp 0x406380
cmp eax, 0xf2224e50
je 0x408321
cmp eax, 0xf31eb691
jne 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x6d2c295f
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, 0x72b4c226
jmp 0x40636a
cmp eax, 0x3c520933
je 0x40832b
cmp eax, 0x43f27810
jne 0x406380
mov eax, dword [esp + 0x88]
mov ecx, 0x64846ef2
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
vmovsd xmm0, qword [eax + 0x20]
vmovsd qword [esp + 0x10], xmm0
nop word cs:[eax + eax]
cmp ecx, 0xe4110393
je 0x408335
cmp ecx, 0x64846ef2
jne 0x407360
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 8]
mov ecx, 0xe4110393
add eax, 0x20
jmp 0x407360
cmp eax, 0x8de0a6b5
je 0x408362
cmp eax, 0x941eb52c
jne 0x406380
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x50], eax
mov eax, 0x70160ebb
mov dword [esp + 0x54], ecx
jmp 0x406380
cmp eax, 0x663b05f
je 0x408374
cmp eax, 0x84d7a77
jne 0x406380
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, 0x76fcef87
jmp 0x406380
cmp eax, 0xcf7c651d
je 0x40837e
cmp eax, 0xd04ce487
jne 0x406380
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x24], eax
mov eax, 0x850e9d7e
jmp 0x406380
cmp eax, 0x6d2c295f
je 0x408399
cmp eax, 0x6ee1ba39
jne 0x406380
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc4], eax
mov eax, 0x2f4d0b92
jmp 0x406380
cmp eax, 0xa5fee46f
je 0x4083f4
cmp eax, 0xa73668e8
jne 0x406380
mov eax, dword [ebp + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xd4], eax
mov eax, 0xeac4a602
jmp 0x406380
cmp eax, 0x26bdab94
je 0x40840f
cmp eax, 0x28f842a5
jne 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x4262808
mov edi, 0x5a8ba0c7
jmp 0x408692
cmp eax, 0xefd8e73a
je 0x408446
cmp eax, 0xefecf46b
jne 0x406380
mov eax, 0x3a35b0e3
jmp 0x406380
cmp eax, 0x61d342d2
je 0x40845b
cmp eax, 0x681ac229
jne 0x406380
mov eax, 0x6a35be56
jmp 0x406380
cmp eax, 0x9d12d8b2
je 0x408465
cmp eax, 0x9dad6ed8
jne 0x406380
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x104]
mov esi, 0x147f1753
movzx eax, byte [eax + ecx + 0x40]
mov ecx, dword [0x4ec3f0]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4ec3ec], 0xa
setl dl
or dl, cl
mov ecx, 0xba7b1b93
mov edx, 0xa10a40b7
cmovne ecx, edx
mov edx, 0xba7b1b93
cmovne edx, esi
mov esi, 0x28191b9d
nop word [eax + eax]
cmp esi, 0xba7b1b92
jle 0x4075a0
cmp esi, 0xba7b1b93
je 0x4075b8
cmp esi, 0x147f1753
je 0x4075bf
cmp esi, 0x28191b9d
jne 0x407570
mov esi, 0xac2fc268
jmp 0x407570
cmp esi, 0xa10a40b7
je 0x40847a
cmp esi, 0xac2fc268
jne 0x407570
mov esi, edx
jmp 0x407570
mov esi, 0x147f1753
jmp 0x407570
mov esi, ecx
jmp 0x407570
cmp eax, 0x1caae2e0
je 0x408545
cmp eax, 0x206a86dd
jne 0x406380
mov eax, 0xc47e0d3e
jmp 0x406380
cmp eax, 0xe544b4a4
je 0x40854f
cmp eax, 0xe5b482c8
jne 0x406380
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov eax, edx
not eax
mov ecx, edx
and ecx, 0x64968850
and edx, 4
and eax, 0x9b6977af
or ecx, eax
mov eax, 0x35ac0f01
xor ecx, 0x9b6977ab
or edx, ecx
mov dword [esp + 0xc], edx
jmp 0x406380
cmp eax, 0x7d0c39ed
je 0x408559
cmp eax, 0x7f95646e
jne 0x406380
mov eax, dword [0x4ec3f8]
mov edi, 0xbb29735
mov esi, 0xeab5128c
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xeab5128c
jmp 0x408620
cmp eax, 0xc47e0d3e
je 0x408563
cmp eax, 0xc7b327bf
jne 0x406380
cmp byte [esp + 0x2f], 0
mov eax, 0x7f95646e
mov ecx, 0x7973fdce
cmovne eax, ecx
jmp 0x406380
cmp eax, 0x35ac0f01
je 0x40858a
cmp eax, 0x35b8406c
jne 0x406380
mov eax, 0xd436f185
jmp 0x406380
cmp eax, 0xf96328b8
je 0x4085d6
cmp eax, 0xfc0af15d
jne 0x406380
mov eax, 0x7f95646e
jmp 0x406380
cmp eax, 0x454cea15
jne 0x40875d
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov esi, 0x845d2d99
mov edx, 0x171d4f33
add eax, esi
adc ecx, edx
sub eax, dword [esp + 0x40]
sbb ecx, 0
sub eax, esi
sbb ecx, edx
mov dword [esp + 0x98], eax
mov eax, 0x99299405
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x60], ecx
jmp 0x406380
mov eax, dword [0x4ec3f8]
mov edi, 0x35ac0f01
mov esi, 0xe5b482c8
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xe5b482c8
jmp 0x408620
cmp byte [esp + 0x33], 0
mov eax, 0x87ee1fda
mov ecx, 0xa5fee46f
cmovne eax, ecx
jmp 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0xa5d3b3d3
mov edi, 0x1c96ddae
jmp 0x408692
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0xc9fcb910
mov edi, 0x976dc432
jmp 0x408692
mov eax, dword [0x4ec3f8]
mov edi, 0x850e9d7e
mov esi, 0xd04ce487
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xd04ce487
jmp 0x408620
mov eax, dword [0x4ec3f8]
mov edi, 0xfc0af15d
mov esi, 0xe11ef470
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xe11ef470
jmp 0x408620
mov byte [esp], al
movsx eax, byte [esp]
mov ecx, dword [esp + 0x74]
push eax
call fcn.004100e0
mov edx, dword [0x4ec3e0]
mov ecx, dword [0x4ec3dc]
mov esi, 0x6d5d396c
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, 0xf411cfe6
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
sete byte [esp + 0x10]
cmove eax, esi
cmp ecx, 0xa
mov ecx, 0x7d3d73aa
cmovge eax, edx
setl byte [esp]
nop dword [eax + eax]
cmp ecx, 0x6d5d396b
jg 0x407880
cmp ecx, 0x8aac9edb
je 0x4078c1
cmp ecx, 0xf411cfe6
jne 0x407860
mov ecx, 0x8aac9edb
jmp 0x407860
cmp ecx, 0x6d5d396c
je 0x408645
cmp ecx, 0x7d3d73aa
jne 0x407860
movzx edx, byte [esp + 0x10]
movzx ecx, byte [esp]
mov edi, 0x8aac9edb
mov esi, 0xf411cfe6
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xf411cfe6
cmovne ecx, edi
test dl, dl
cmove ecx, esi
test dh, dh
cmovne ecx, edi
jmp 0x407860
mov ecx, eax
jmp 0x407860
mov ecx, dword [esp + 0xe0]
call fcn.0040fbe0
mov ecx, eax
xor ecx, 0xfffffe3f
mov edx, 0xefd8e73a
and ecx, eax
mov eax, 0x460310bc
cmp ecx, 0x40
cmove eax, edx
jmp 0x406380
cmp byte [esp + 0x31], 0
mov eax, 0x9d12d8b2
mov ecx, 0x9c9bbbe4
cmovne eax, ecx
jmp 0x406380
mov eax, dword [esp + 0x88]
mov ecx, 0x64846ef2
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
vmovsd xmm0, qword [eax + 0x20]
vmovsd qword [esp + 0x10], xmm0
nop word cs:[eax + eax]
cmp ecx, 0xe4110393
je 0x408659
cmp ecx, 0x64846ef2
jne 0x407930
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 8]
mov ecx, 0xe4110393
add eax, 0x20
jmp 0x407930
mov eax, dword [0x4ec3f8]
mov esi, 0xf2224e50
mov ebx, 0x6b5b4b88
mov edi, dword [esp + 0x28]
lea ecx, [eax - 1]
mov dword [esp + 0xa8], edi
imul ecx, eax
mov eax, 0x6b5b4b88
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, esi
cmp dword [0x4ec3f4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
mov edx, dword [esp + 0x24]
cmovne eax, esi
mov dword [esp + 0xac], edx
jmp 0x406380
cmp byte [esp + 0x32], 0
mov eax, 0xcf7c651d
mov ecx, 0x3c520933
cmovne eax, ecx
jmp 0x406380
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xf0]
mov edi, 0xe96e9d4f
nop word [eax + eax]
cmp edi, 0xa1f58941
je 0x4086bf
cmp edi, 0xe96e9d4f
jne 0x4079f0
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x20], esi
mov edi, dword [esp + 8]
mov edi, dword [edi]
add edi, 0x24
mov dword [esp + 0x10], edi
mov edi, 0xa1f58941
jmp 0x4079f0
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov dword [esp + 0xdc], eax
mov eax, 0x7859e3a7
jmp 0x406380
mov eax, dword [0x4ec3f8]
mov esi, 0x5989e8d6
mov edi, 0xc1fc79f4
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc1fc79f4
jmp 0x408722
xor eax, eax
cmp eax, dword [esp + 0xa0]
mov eax, 0
sbb eax, dword [esp + 0xa4]
mov eax, 0xc7b327bf
setl byte [esp + 0x2f]
jmp 0x406380
mov byte [esp], al
movsx eax, byte [esp]
mov ecx, dword [esp + 0x74]
push eax
call fcn.004100e0
mov esi, dword [0x4ec3e0]
mov edx, dword [0x4ec3dc]
lea ecx, [esi + 1]
imul ecx, esi
mov esi, 0xf411cfe6
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x6d5d396c
cmovne esi, ebx
cmp ecx, 0xffffffff
mov ecx, esi
sete byte [esp + 0x10]
cmove ecx, ebx
cmp edx, 0xa
mov edx, 0x7d3d73aa
cmovge ecx, esi
setl byte [esp]
nop
cmp edx, 0x6d5d396b
jg 0x407b10
cmp edx, 0x8aac9edb
je 0x407b4c
cmp edx, 0xf411cfe6
jne 0x407af0
mov edx, 0x8aac9edb
jmp 0x407af0
cmp edx, 0x6d5d396c
je 0x4086ef
cmp edx, 0x7d3d73aa
jne 0x407af0
movzx ebx, byte [esp + 0x10]
movzx edx, byte [esp]
mov esi, 0xf411cfe6
mov edi, 0x8aac9edb
mov dh, bl
xor dh, dl
cmovne esi, edi
test dl, dl
mov edx, esi
cmovne edx, edi
test bl, bl
cmove edx, esi
jmp 0x407af0
mov edx, ecx
jmp 0x407af0
mov eax, dword [esp + 0xd4]
mov ebx, 0x61f337b1
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [esp + 0x6c]
mov eax, dword [0x4ec3e8]
mov ecx, dword [0x4ec3e4]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
mov edi, 0x159d370d
sete al
sete byte [esp + 8]
cmp ecx, 0xa
setl cl
setl byte [esp + 0x20]
or cl, al
mov eax, 0x159d370d
mov ecx, 0xb074a89c
cmovne edi, ebx
cmovne eax, ecx
mov dword [esp + 0x38], edi
lea edi, [esi + edx + 0x20]
mov edx, 0xe7c10b76
mov esi, 0xf1721b5a
cmovne edx, esi
mov esi, 0x1f1a8b14
mov dword [esp + 0x34], edi
mov dword [esp + 0xc8], edx
jmp 0x407be0
mov esi, 0x61f337b1
nop word cs:[eax + eax]
mov edi, esi
cmp esi, 0x1f1a8b13
jg 0x407c20
cmp edi, 0x159d370c
jg 0x407c50
cmp edi, 0xe7c10b76
je 0x407ca5
cmp edi, 0xf1721b5a
jne 0x407cda
mov esi, 0x21a30dcc
jmp 0x407be0
cmp edi, 0x61f337b0
jg 0x407c80
cmp edi, 0x1f1a8b14
je 0x407caf
mov esi, edi
cmp edi, 0x21a30dcc
jne 0x407be0
mov ecx, dword [esp + 0x10]
mov esi, 0x6a5c085e
vmovsd xmm0, qword [ecx]
vmovsd qword [esp], xmm0
jmp 0x407be0
cmp edi, 0x159d370d
je 0x407bce
mov esi, edi
cmp edi, 0x1e977fa5
jne 0x407be0
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0xc8]
mov dword [esp + 0x10], ecx
jmp 0x407be0
mov esi, eax
cmp edi, 0x61f337b1
je 0x407be0
mov esi, edi
cmp edi, 0x6a5c085e
jne 0x407be0
mov esi, dword [esp + 0x38]
jmp 0x407be0
mov esi, 0x1e977fa5
jmp 0x407be0
movzx ecx, byte [esp + 8]
mov dh, byte [esp + 0x20]
mov edi, 0xe7c10b76
mov ebx, 0x1e977fa5
mov dl, cl
xor dl, dh
cmovne edi, ebx
test dh, dh
mov esi, edi
cmovne esi, ebx
test cl, cl
cmove esi, edi
jmp 0x407be0
mov esi, edi
cmp edi, 0xb074a89c
jne 0x407be0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov eax, 0x454cea15
jmp 0x406380
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x118]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
push dword [ebp + 8]
call fcn.0040f180
lea eax, [esp + 0x11c]
mov esi, 0x75b4d6e
mov ebx, 0xb22e2d18
mov edi, 0x2fd09ffd
mov dword [esp], eax
mov eax, dword [0x4ec3d8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4ec3d4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x52cdfc24
or cl, dl
mov ecx, 0xa93c7e4b
mov edx, 0xb29d2d42
cmovne eax, ecx
mov ecx, 0x52cdfc24
cmovne ebx, edi
mov edi, 0xcf6ce44
cmovne ecx, edx
mov edx, 0xb22e2d18
cmovne edx, esi
jmp 0x407db0
cmp esi, 0xb22e2d18
jne 0x407e42
mov esi, dword [esp]
mov edi, 0x2fd09ffd
nop word [eax + eax]
mov esi, edi
cmp edi, 0xcf6ce43
jle 0x407df0
cmp esi, 0x3736487b
jg 0x407e20
mov edi, ebx
cmp esi, 0xcf6ce44
je 0x407db0
mov edi, esi
cmp esi, 0x2fd09ffd
jne 0x407db0
mov esi, dword [esp]
mov edi, edx
cmp byte [esi], 0
setne byte [esp + 0x10]
jmp 0x407db0
cmp esi, 0xb29d2d41
jle 0x407d96
mov edi, eax
cmp esi, 0xb29d2d42
je 0x407db0
mov edi, esi
cmp esi, 0x75b4d6e
jne 0x407db0
mov edi, 0x3736487c
jmp 0x407db0
mov edi, ecx
cmp esi, 0x3736487c
je 0x407db0
mov edi, esi
cmp esi, 0x52cdfc24
jne 0x407db0
mov edi, 0xb29d2d42
jmp 0x407db0
mov edi, esi
cmp esi, 0xa93c7e4b
jne 0x407db0
movzx eax, byte [esp + 0x10]
mov eax, 0xc7e83e52
jmp 0x406380
mov eax, 0x82fa2788
jmp 0x406380
mov eax, 0x206a86dd
jmp 0x406380
mov eax, 0xcb7d2c7d
jmp 0x406380
mov eax, dword [ebp + 8]
mov dword [esp + 0x44], eax
mov eax, 0x8c73239
jmp 0x406380
mov eax, dword [esp + 0x80]
mov eax, 0x5989e8d6
jmp 0x406380
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x28], eax
mov eax, 0xd069774b
mov dword [esp + 0x24], ecx
jmp 0x406380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov eax, 0xf8034ddc
jmp 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0xe11ef470
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, 0xb8caaa9c
cmovne esi, ebx
test edx, eax
mov eax, esi
cmove eax, ebx
jmp 0x4086b4
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x7d0c39ed
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, 0xd04ce487
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
mov ecx, dword [esp + 0x50]
cmovge eax, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x24], ecx
jmp 0x406380
cmp byte [esp + 0x2e], 0
mov eax, 0xf3fc4a4d
mov ecx, 0x6c262d20
cmovne eax, ecx
jmp 0x406380
cmp byte [esp + 0x30], 0
mov eax, 0x663b05f
mov ecx, 0x299d3b0a
cmovne eax, ecx
jmp 0x406380
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x118]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
push dword [ebp + 8]
call fcn.0040f180
lea eax, [esp + 0x11c]
mov esi, 0x75b4d6e
mov ebx, 0xb22e2d18
mov edi, 0x2fd09ffd
mov dword [esp], eax
mov eax, dword [0x4ec3d8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4ec3d4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x52cdfc24
or cl, dl
mov ecx, 0xa93c7e4b
mov edx, 0xb29d2d42
cmovne eax, ecx
mov ecx, 0x52cdfc24
cmovne ebx, edi
mov edi, 0xcf6ce44
cmovne ecx, edx
mov edx, 0xb22e2d18
cmovne edx, esi
jmp 0x408040
cmp esi, 0xb22e2d18
jne 0x4080d2
mov esi, dword [esp]
mov edi, 0x2fd09ffd
nop word [eax + eax]
mov esi, edi
cmp edi, 0xcf6ce43
jle 0x408080
cmp esi, 0x3736487b
jg 0x4080b0
mov edi, ebx
cmp esi, 0xcf6ce44
je 0x408040
mov edi, esi
cmp esi, 0x2fd09ffd
jne 0x408040
mov esi, dword [esp]
mov edi, edx
cmp byte [esi], 0
setne byte [esp + 0x10]
jmp 0x408040
cmp esi, 0xb29d2d41
jle 0x408026
mov edi, eax
cmp esi, 0xb29d2d42
je 0x408040
mov edi, esi
cmp esi, 0x75b4d6e
jne 0x408040
mov edi, 0x3736487c
jmp 0x408040
mov edi, ecx
cmp esi, 0x3736487c
je 0x408040
mov edi, esi
cmp esi, 0x52cdfc24
jne 0x408040
mov edi, 0xb29d2d42
jmp 0x408040
mov edi, esi
cmp esi, 0xa93c7e4b
jne 0x408040
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0xfc4de798
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, 0x5dce43de
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
mov ch, byte [esp + 0x10]
cmovge eax, edx
mov byte [esp + 0x2e], ch
jmp 0x406380
mov eax, 0xe7105f56
jmp 0x406380
mov eax, dword [0x4ec3f8]
mov edi, 0x268be7a5
mov esi, 0xb9eefd5f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xb9eefd5f
jmp 0x408620
mov eax, dword [esp + 0xc]
mov dword [esp + 0xf4], eax
mov eax, 0x5e4fd2fb
jmp 0x406380
mov eax, 0x26bdab94
jmp 0x406380
mov dword [esp + 0x64], 0
mov eax, 0x99299405
mov dword [esp + 0x60], 0
jmp 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x9ecb2307
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, 0xe544b4a4
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
mov esi, dword [esp + 0xc]
cmp ecx, 0xa
cmovge eax, edx
mov dword [esp + 0x108], esi
jmp 0x406380
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x7c]
call fcn.0040fe20
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xf0], eax
mov eax, 0xcae24ddd
jmp 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0xc9f07291
mov edi, 0x1caae2e0
jmp 0x408692
mov ecx, dword [esp + 0x110]
add ecx, dword [esp + 0x8c]
push 0
push dword [esp + 0x10]
call fcn.004107d0
mov eax, dword [ebp + 8]
mov dword [esp + 0x114], eax
mov eax, 0x44b90163
jmp 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x4262808
mov edi, 0x408ce21
jmp 0x408692
mov eax, 0x6ee1ba39
jmp 0x406380
mov ecx, dword [esp + 0x10c]
mov eax, 0x87ee1fda
mov dword [esp + 0xc], ecx
jmp 0x406380
xor eax, eax
cmp eax, dword [esp + 0xb8]
mov eax, 0
sbb eax, dword [esp + 0xbc]
mov eax, 0x94ec639c
setl byte [esp + 0x33]
jmp 0x406380
mov eax, dword [esp + 0x3c]
mov edi, 0x5c26cc38
mov esi, 0x84d7a77
or eax, 4
mov dword [esp + 0xd8], eax
mov eax, dword [0x4ec3f8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x84d7a77
jmp 0x408620
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov eax, 0xc47b3c11
jmp 0x406380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov eax, 0x521fdc27
jmp 0x406380
mov eax, 0x941eb52c
jmp 0x406380
mov eax, 0xf31eb691
jmp 0x406380
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 0x20], eax
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, 0x38299ceb
jmp 0x406380
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x48]
mov eax, 0x31d49895
jmp 0x406380
mov eax, 0x95c1693e
jmp 0x406380
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, ecx
mov dword [esp + 0x88], eax
mov eax, 0xc15608d8
jmp 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0x35b8406c
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, 0x72b4c226
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
mov esi, dword [esp + 0x28]
cmovge eax, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], edx
jmp 0x406380
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
mov esi, 0xed331a08
mov edi, 0xf96328b8
jmp 0x408692
mov eax, dword [esp + 0x108]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x83a7c3fc
and eax, 4
and ecx, 0x7c583c03
or edx, ecx
xor edx, 0x7c583c07
or eax, edx
mov dword [esp + 0x10c], eax
mov eax, 0xf6abbb7
jmp 0x406380
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov eax, 0x142842bb
jmp 0x406380
mov eax, 0x2e8c293
jmp 0x406380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov eax, 0xa13022a0
jmp 0x406380
mov byte [esp], al
movsx eax, byte [esp]
mov ecx, dword [esp + 0xfc]
push eax
call fcn.004100e0
mov ecx, dword [0x4ec3e0]
mov esi, 0x6d5d396c
mov edi, 0xf411cfe6
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x4ec3dc]
mov ecx, 0xf411cfe6
sete bl
sete byte [esp + 0x10]
cmove ecx, esi
cmp edx, 0xa
setl dl
setl byte [esp]
cmovge ecx, edi
xor dl, bl
mov edx, 0x7d3d73aa
cmovne ecx, esi
nop dword [eax + eax]
cmp edx, 0x6d5d396b
jg 0x408500
cmp edx, 0x8aac9edb
je 0x408541
cmp edx, 0xf411cfe6
jne 0x4084e0
mov edx, 0x8aac9edb
jmp 0x4084e0
cmp edx, 0x6d5d396c
je 0x40873f
cmp edx, 0x7d3d73aa
jne 0x4084e0
movzx ebx, byte [esp + 0x10]
movzx edx, byte [esp]
mov edi, 0x8aac9edb
mov esi, 0xf411cfe6
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0xf411cfe6
cmovne edx, edi
test bl, bl
cmove edx, esi
test bh, bh
cmovne edx, edi
jmp 0x4084e0
mov edx, ecx
jmp 0x4084e0
mov eax, 0x2579a7ab
jmp 0x406380
mov eax, 0x228aa925
jmp 0x406380
mov eax, 0x2579a7ab
jmp 0x406380
mov eax, dword [ebp + 8]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x110], eax
mov eax, 0xe80e44af
jmp 0x406380
mov edx, dword [esp + 0x1c]
mov esi, 0x9c1fcd2e
mov edi, 0xe5b482c8
mov eax, edx
not eax
mov ecx, edx
and ecx, 0x1f75cb8d
and edx, 4
and eax, 0xe08a3472
or ecx, eax
mov eax, dword [0x4ec3f8]
xor ecx, 0xe08a3476
or edx, ecx
mov dword [esp + 0xc], edx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe5b482c8
jmp 0x408722
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.0040fe20
mov dword [esp + 0x84], esi
mov dword [esp + 0xfc], eax
mov edi, 0xdbca1f5a
mov esi, 0xed331a08
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
add eax, 4
mov dword [esp + 0x100], eax
mov eax, dword [0x4ec3f8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xed331a08
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4ec3f4], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, edi
jmp 0x406380
mov dword [esp], 0xffffffff
mov eax, dword [esp]
mov eax, 0x268be7a5
jmp 0x406380
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 0x20], eax
mov esi, 0x43f27810
mov edi, 0x152a2ed3
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov edx, dword [0x4ec3f8]
mov ecx, dword [0x4ec3f4]
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
cmovne esi, edi
test edx, eax
mov eax, esi
cmove eax, edi
cmp ecx, 0xa
cmovge eax, esi
jmp 0x406380
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esp + 8]
push dword [esp + 4]
push dword [esp + 4]
push dword [esp + 0x28]
call eax
xor eax, dword [esp + 0x40]
mov ecx, 0x9d12d8b2
or eax, edx
mov eax, 0x6affcc82
cmove eax, ecx
jmp 0x406380
mov dword [esp], 0xffffffff
mov esi, 0xfebe4b22
mov edi, 0xb9eefd5f
mov ecx, dword [esp]
cmp ecx, eax
mov eax, dword [0x4ec3f8]
sete byte [esp + 0x30]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xb9eefd5f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, esi
cmp dword [0x4ec3f4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, esi
jmp 0x406380
mov dword [esp], 0xffffffff
mov edx, 0xd578f129
mov ecx, dword [esp]
cmp ecx, eax
mov eax, 0xa0379b67
cmove eax, edx
jmp 0x406380
cmp eax, 0x44b90163
jne 0x406380
lea ecx, [esp + 0x118]
call fcn.00410880
mov esi, dword [esp + 0x114]
mov ecx, dword [esp + 0x120]
xor ecx, ebp
call fcn.004392e0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret