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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov eax, dword [0x5f12c0]
mov esi, esp
xor eax, ebp
mov dword [esi + 0x108], eax
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x5f33ec]
mov ecx, 0xc844b919
sete byte [esi + 0x39]
cmp eax, 0xa
setl byte [esi + 0x3a]
jmp 0x4068d0
mov eax, dword [esi + 8]
mov ebx, 0xaf7293ee
mov edi, 0x23dbe684
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
mov dword [esi + 0xe8], eax
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x23dbe684
sete al
cmove ecx, ebx
cmp dword [0x5f33ec], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
nop word cs:[eax + eax]
cmp ecx, 0x1e4ba141
jle 0x406950
cmp ecx, 0x551a13b2
jg 0x4069d0
cmp ecx, 0x35bc6c1e
jg 0x406acb
cmp ecx, 0x2976bb46
jle 0x406c26
cmp ecx, 0x310bd1a7
jg 0x40707d
cmp ecx, 0x2ecadcf2
jle 0x40756e
cmp ecx, 0x2ecadcf3
je 0x407d6e
cmp ecx, 0x30296042
je 0x407d78
cmp ecx, 0x30730d0d
jne 0x4068d0
mov eax, dword [esi + 0x14]
mov ecx, 0x7988ce1d
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0xf8], xmm0
jmp 0x4068d0
cmp ecx, 0xbe5a6dcb
jg 0x406a50
cmp ecx, 0xa2ae9d29
jg 0x406b28
cmp ecx, 0x8d220985
jle 0x406c78
cmp ecx, 0x93d6a6b1
jg 0x4070c3
cmp ecx, 0x92b20c6f
jle 0x4075aa
cmp ecx, 0x92b20c70
je 0x407dc6
cmp ecx, 0x92c9e100
je 0x407df9
cmp ecx, 0x936bb686
jne 0x4068d0
mov eax, dword [esi + 8]
mov ecx, 0x5edd7411
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x80], eax
jmp 0x4068d0
cmp ecx, 0x63c97ba4
jg 0x406b7a
cmp ecx, 0x5edd7410
jle 0x406dd6
cmp ecx, 0x6148030f
jg 0x407125
cmp ecx, 0x5f93f5f3
jle 0x4075fd
cmp ecx, 0x5f93f5f4
je 0x407e03
cmp ecx, 0x5fe56bfb
je 0x407e13
cmp ecx, 0x60317710
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0x64da68e8
mov ebx, 0xe73781e4
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xe73781e4
jmp 0x408e40
cmp ecx, 0xeebb9995
jg 0x406bd4
cmp ecx, 0xd5c46b48
jle 0x406e72
cmp ecx, 0xe631017b
jg 0x407193
cmp ecx, 0xdb9382d2
jle 0x40763c
cmp ecx, 0xdb9382d3
je 0x407ec4
cmp ecx, 0xdfe3a4bb
je 0x407eeb
cmp ecx, 0xe4d45b5b
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0x5fe56bfb
mov ebx, 0xdfe3a4bb
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xdfe3a4bb
jmp 0x408e40
cmp ecx, 0x47d17003
jle 0x406ed5
cmp ecx, 0x50871355
jg 0x4071d8
cmp ecx, 0x4dcc81eb
jle 0x40765e
cmp ecx, 0x4dcc81ec
je 0x407f21
cmp ecx, 0x4eb2b77a
je 0x407f2b
cmp ecx, 0x4edbcca9
jne 0x4068d0
mov ecx, dword [esi + 0x78]
call fcn.00410af0
mov eax, dword [esi + 0x24]
mov ecx, 0x35db5dd9
jmp 0x4068d0
cmp ecx, 0xb33dc3da
jle 0x406f5c
cmp ecx, 0xbb5dcda4
jg 0x407212
cmp ecx, 0xb583c2fa
jle 0x40769a
cmp ecx, 0xb583c2fb
je 0x407f35
cmp ecx, 0xb9deccf5
je 0x407f4a
cmp ecx, 0xbae9039d
jne 0x4068d0
mov ecx, 0x3a47cbfd
jmp 0x4068d0
cmp ecx, 0x6f7c1268
jle 0x406fcd
cmp ecx, 0x7490c0e9
jg 0x407258
cmp ecx, 0x72ab2213
jle 0x4076bc
cmp ecx, 0x72ab2214
je 0x407f54
cmp ecx, 0x72ada623
je 0x407f61
cmp ecx, 0x74503e35
jne 0x4068d0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x7c]
mov dword [eax], ecx
mov ecx, 0x1f3dbed9
jmp 0x4068d0
cmp ecx, 0x16c52684
jg 0x407013
cmp ecx, 0x9b601f9
jle 0x4072bb
cmp ecx, 0xd7cd30d
jle 0x4076fa
cmp ecx, 0xd7cd30e
je 0x407f73
cmp ecx, 0x10e89cc8
je 0x407f99
cmp ecx, 0x15d3890a
jne 0x4068d0
mov ecx, 0xd65aefa
jmp 0x4068d0
cmp ecx, 0x265e4686
jle 0x4072e9
cmp ecx, 0x284c7764
jle 0x407744
cmp ecx, 0x284c7765
je 0x407fa3
cmp ecx, 0x28f38c1c
je 0x407fc9
cmp ecx, 0x2971921e
jne 0x4068d0
cmp byte [esi + 0x41], 0
mov ecx, 0x60317710
mov eax, 0xbb9760e9
cmovne ecx, eax
jmp 0x4068d0
cmp ecx, 0x89ef6fd1
jle 0x407347
cmp ecx, 0x8afdd01d
jle 0x407766
cmp ecx, 0x8afdd01e
je 0x407fd3
cmp ecx, 0x8bb0f366
je 0x407fdd
cmp ecx, 0x8bdcf1cb
jne 0x4068d0
mov eax, dword [esi + 0x24]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x68], eax
mov eax, 0x3c109186
nop word cs:[eax + eax]
cmp eax, 0x3a63380c
jle 0x406d40
cmp eax, 0x3a63380d
je 0x406d53
cmp eax, 0x3c109186
je 0x406db3
cmp eax, 0x6d98992a
jne 0x406ce0
mov eax, dword [0x5f33e8]
mov edx, 0x3a63380d
mov ebx, 0xa41036eb
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xa41036eb
sete cl
cmove eax, edx
cmp dword [0x5f33e4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
mov edx, 0x3a63380d
cmovne eax, edx
jmp 0x406ce0
cmp eax, 0xa41036eb
je 0x406dbd
cmp eax, 0xcd81f151
jne 0x406ce0
jmp 0x408005
mov ecx, dword [esi + 0x68]
mov eax, dword [ecx]
push dword [esi + 0x10]
push edi
push dword [esi + 0x28]
call dword [eax + 0x24]
mov ecx, dword [0x5f33e8]
mov dword [esi + 0xc0], eax
mov dword [esi + 0xbc], edx
mov ebx, 0xcd81f151
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, dword [0x5f33e4]
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xa41036eb
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x406ce0
mov eax, 0x6d98992a
jmp 0x406ce0
mov ecx, dword [esi + 0x68]
mov eax, dword [ecx]
push dword [esi + 0x10]
push edi
push dword [esi + 0x28]
call dword [eax + 0x24]
mov eax, 0x3a63380d
jmp 0x406ce0
cmp ecx, 0x5698132f
jle 0x407383
cmp ecx, 0x5a1fa22c
jle 0x4077d2
cmp ecx, 0x5a1fa22d
je 0x408039
cmp ecx, 0x5d9ddea0
je 0x4080e5
cmp ecx, 0x5e13d954
jne 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0xbcfbbbcf
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, 0x519c7c15
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 8]
cmovge ecx, edx
mov eax, dword [eax]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x94]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xe0], eax
jmp 0x4068d0
cmp ecx, 0xc504322b
jle 0x4073df
cmp ecx, 0xd12a4084
jle 0x4077f7
cmp ecx, 0xd12a4085
je 0x408106
cmp ecx, 0xd1bd69c1
je 0x408127
cmp ecx, 0xd21c7e27
jne 0x4068d0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xe8]
push 0
push dword [eax]
call fcn.00411ad0
mov eax, dword [esi + 8]
mov ecx, 0x82b13c32
mov eax, dword [eax]
mov dword [esi + 0xec], eax
jmp 0x4068d0
cmp ecx, 0x3a47cbfc
jle 0x407440
cmp ecx, 0x42a02059
jle 0x407839
cmp ecx, 0x42a0205a
je 0x408175
cmp ecx, 0x4465d550
je 0x4081a1
cmp ecx, 0x467fd8a5
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0x1e4ba142
mov edi, 0x254b459b
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x254b459b
sete al
cmove ecx, ebx
cmp dword [0x5f33ec], 0xa
setl dl
cmovge ecx, edi
mov edi, dword [esi + 0x70]
xor dl, al
mov edx, dword [esi + 0x6c]
cmovne ecx, ebx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], edx
jmp 0x4068d0
cmp ecx, 0xa64c0278
jle 0x4074a1
cmp ecx, 0xa9c22287
jle 0x407885
cmp ecx, 0xa9c22288
je 0x4081c7
cmp ecx, 0xaf7293ee
je 0x4081ee
cmp ecx, 0xb01f53c9
jne 0x4068d0
mov eax, dword [esi + 0xd4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x65607af8
and eax, 4
and ecx, 0x9a9f8507
or edx, ecx
mov ecx, 0xb583c2fb
xor edx, 0x9a9f8503
or eax, edx
mov dword [esi + 0xd8], eax
jmp 0x4068d0
cmp ecx, 0x665f9658
jle 0x4074de
cmp ecx, 0x6c6fc570
jle 0x4078dd
cmp ecx, 0x6c6fc571
je 0x4081f8
cmp ecx, 0x6e6fdb46
je 0x408202
cmp ecx, 0x6e94db93
jne 0x4068d0
mov ecx, 0x7a82cec4
jmp 0x4068d0
cmp ecx, 0x1b1067e0
jle 0x407534
cmp ecx, 0x1bc93f72
jle 0x407932
cmp ecx, 0x1bc93f73
je 0x4082bb
cmp ecx, 0x1c6519c0
je 0x4082c5
cmp ecx, 0x1e4a329d
jne 0x4068d0
mov eax, dword [esi + 4]
mov ebx, 0xf2623b39
mov edi, 0xe9d2ce74
mov eax, dword [eax]
mov dword [esi + 0x34], eax
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xe9d2ce74
jmp 0x4068a9
cmp ecx, 0x32478c30
jle 0x407957
cmp ecx, 0x32478c31
je 0x4083cb
cmp ecx, 0x33ba4db9
je 0x4083d5
cmp ecx, 0x34b1c83b
jne 0x4068d0
cmp byte [esi + 0x40], 0
mov ecx, 0xb56370ac
mov eax, 0x72ada623
cmovne ecx, eax
jmp 0x4068d0
cmp ecx, 0x9b86e808
jle 0x407996
cmp ecx, 0x9b86e809
je 0x4083fb
cmp ecx, 0x9e8dc341
je 0x408422
cmp ecx, 0xa07eebea
jne 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x5f93f5f4
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
mov ebx, 0x3c91d454
jmp 0x408a09
cmp ecx, 0x62ef24dd
jle 0x4079e1
cmp ecx, 0x62ef24de
je 0x40842c
cmp ecx, 0x633b5db5
je 0x40845e
cmp ecx, 0x63767bf6
jne 0x4068d0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 4]
mov edi, 0x9e8dc341
or eax, 4
mov dword [ecx], eax
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
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, 0xc504322c
jmp 0x408b59
cmp ecx, 0xe9d2ce73
jle 0x407a20
cmp ecx, 0xe9d2ce74
je 0x40847c
cmp ecx, 0xea65d3ba
je 0x408489
cmp ecx, 0xeb5564c9
jne 0x4068d0
cmp dword [esi + 0xcc], 0
mov ecx, 0x2971921e
sete byte [esi + 0x41]
jmp 0x4068d0
cmp ecx, 0x519c7c14
jle 0x407a45
cmp ecx, 0x519c7c15
je 0x4084bb
cmp ecx, 0x53927dc8
je 0x4084c8
cmp ecx, 0x54f3847c
jne 0x4068d0
mov ecx, 0xd12a4085
jmp 0x4068d0
cmp ecx, 0xbbc8f56d
jle 0x407a73
cmp ecx, 0xbbc8f56e
je 0x408528
cmp ecx, 0xbcfbbbcf
je 0x408532
cmp ecx, 0xbe0bbfd2
jne 0x4068d0
cmp byte [esi + 0x43], 0
mov ecx, 0xbae9039d
mov eax, 0x5f574ddd
cmovne ecx, eax
jmp 0x4068d0
cmp ecx, 0x7a82cec3
jle 0x407aa0
cmp ecx, 0x7a82cec4
je 0x40853c
cmp ecx, 0x7d9a2166
je 0x408562
cmp ecx, 0x7ee5358e
jne 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0xd5c46b49
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, 0x19d16811
jmp 0x408b59
cmp ecx, 0xf7496176
jg 0x407ad9
cmp ecx, 0xefdb724e
je 0x40856f
cmp ecx, 0xf2623b39
jne 0x408e96
mov ecx, 0xb33dc3db
jmp 0x4068d0
cmp ecx, 0x23dbe683
jg 0x407aff
cmp ecx, 0x1e4ba142
je 0x4085a1
cmp ecx, 0x1f3dbed9
jne 0x4068d0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x7c]
mov edi, 0x74503e35
mov dword [eax], ecx
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
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
mov ebx, 0x1bc93f73
jmp 0x408a09
cmp ecx, 0x862366ff
jg 0x407b79
cmp ecx, 0x82b13c32
je 0x4085f8
cmp ecx, 0x85703ea1
jne 0x4068d0
mov dword [esi + 0x70], 0
mov ecx, 0x467fd8a5
mov dword [esi + 0x6c], 0
jmp 0x4068d0
cmp ecx, 0x55ea7b72
jg 0x407bb7
cmp ecx, 0x551a13b3
je 0x40861f
cmp ecx, 0x553b65cb
jne 0x4068d0
mov ecx, dword [esi + 0x14]
mov edx, 0xb6168e61
mov ebx, 0xb6168e61
mov edi, 0xcf84263b
not ebx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, edx
adc ecx, edi
mov edi, 0xcf84263b
add ebx, eax
not edi
mov dword [esi + 0x58], ebx
adc edi, ecx
mov ecx, 0xd7cd30e
mov dword [esi + 0x5c], edi
jmp 0x4068d0
cmp ecx, 0xc2a800c5
jg 0x407bed
cmp ecx, 0xbe5a6dcc
je 0x408634
cmp ecx, 0xc07a5115
jne 0x4068d0
mov eax, dword [esi + 0xc8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esi + 0x88]
call fcn.00411610
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
movsx edx, byte [ecx + edx + 0x40]
mov ecx, eax
push edx
call fcn.00411740
mov dword [esi + 0x8c], eax
mov ecx, 0x92b20c70
jmp 0x4068d0
cmp ecx, 0x38e01f81
jg 0x407c2b
cmp ecx, 0x35bc6c1f
je 0x40863e
cmp ecx, 0x35db5dd9
jne 0x4068d0
mov ecx, dword [esi + 0x78]
call fcn.00410af0
mov ecx, dword [esi + 0x24]
mov ebx, 0x50871356
mov edi, 0x4edbcca9
cmp dword [ecx], eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov eax, dword [0x5f33f0]
setge byte [esi + 0x3c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x4edbcca9
jmp 0x4068a9
cmp ecx, 0xa510546c
jg 0x407c6a
cmp ecx, 0xa2ae9d2a
je 0x408657
cmp ecx, 0xa50f4f26
jne 0x4068d0
mov eax, dword [esi + 0x14]
mov ecx, 0x5d9ddea0
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0xf0], xmm0
jmp 0x4068d0
cmp ecx, 0x65286f0a
jg 0x407c98
cmp ecx, 0x63c97ba5
je 0x40866d
cmp ecx, 0x64da68e8
jne 0x4068d0
mov eax, dword [esi + 4]
mov ebx, 0x32478c31
mov edi, 0xe73781e4
mov eax, dword [eax]
mov dword [esi + 0xdc], eax
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xe73781e4
jmp 0x4068a9
cmp ecx, 0x19d16810
jg 0x407d09
cmp ecx, 0x16c52685
je 0x408685
cmp ecx, 0x1874a880
jne 0x4068d0
cmp byte [esi + 0x3f], 0
mov ecx, 0x4eb2b77a
mov eax, 0xa9c22288
cmovne ecx, eax
jmp 0x4068d0
cmp ecx, 0x2976bb47
je 0x408697
cmp ecx, 0x2d751758
jne 0x4068d0
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x2c]
add ecx, dword [esi + 0x48]
call fcn.00410af0
mov ecx, 0x53927dc8
jmp 0x4068d0
cmp ecx, 0x8d220986
je 0x4086c9
cmp ecx, 0x8f773298
jne 0x4068d0
mov ecx, dword [esi + 0x20]
call fcn.00411d10
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 4]
mov eax, dword [0x5f33f0]
mov ebx, 0xeebb9996
mov edi, 0x56690efb
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x56690efb
jmp 0x4068a9
cmp ecx, 0x5edd7411
je 0x4086d3
cmp ecx, 0x5f574ddd
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0x5e13d954
mov edi, 0x519c7c15
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x519c7c15
jmp 0x4068a9
cmp ecx, 0xd5c46b49
je 0x4086f9
cmp ecx, 0xd72f38c5
jne 0x4068d0
mov ecx, 0xc07a5115
jmp 0x4068d0
cmp ecx, 0x47d17004
je 0x408703
cmp ecx, 0x4d781a83
jne 0x4068d0
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 4]
or eax, 4
mov dword [ecx], eax
mov ecx, 0xd1bd69c1
jmp 0x4068d0
cmp ecx, 0xb33dc3db
je 0x40870d
cmp ecx, 0xb56370ac
jne 0x4068d0
mov ecx, 0x553b65cb
jmp 0x4068d0
cmp ecx, 0x6f7c1269
je 0x408733
cmp ecx, 0x6fcd496a
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0xefdb724e
mov edi, 0x57108881
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x57108881
jmp 0x4068a9
cmp ecx, 0x9b601fa
je 0x40873d
cmp ecx, 0xd65aefa
jne 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x15d3890a
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
mov ebx, 0xa510546d
jmp 0x408a09
cmp ecx, 0x265e4687
je 0x408770
cmp ecx, 0x27288805
jne 0x4068d0
mov ecx, 0xb01f53c9
jmp 0x4068d0
cmp ecx, 0x89ef6fd2
je 0x4087c1
cmp ecx, 0x8a3ef814
jne 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x54f3847c
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, 0x1b7ae4f0
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 8]
cmovge ecx, edx
mov eax, dword [eax]
mov edx, dword [eax]
add eax, dword [edx + 4]
mov dword [esi + 0xc4], eax
jmp 0x4068d0
cmp ecx, 0x56981330
je 0x40889b
cmp ecx, 0x57108881
jne 0x4068d0
mov eax, dword [esi + 4]
mov ecx, 0xefdb724e
jmp 0x4068d0
cmp ecx, 0xc504322c
je 0x4088cd
cmp ecx, 0xc844b919
jne 0x4068d0
movzx eax, byte [esi + 0x39]
movzx ecx, byte [esi + 0x3a]
mov edi, 0x6534f7f0
mov edx, eax
xor dl, cl
mov edx, 0xe631017c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x4068d0
cmp ecx, 0x3a47cbfd
je 0x4088f1
cmp ecx, 0x3c91d454
jne 0x4068d0
mov eax, dword [esi + 0x9c]
mov ebx, 0x10e89cc8
mov edi, 0x5f93f5f4
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x54], eax
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x5f93f5f4
jmp 0x4068a9
cmp ecx, 0xa64c0279
je 0x40890c
cmp ecx, 0xa8e2e682
jne 0x4068d0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov edi, 0x65286f0b
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
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
mov ebx, 0xb9deccf5
jmp 0x408a09
cmp ecx, 0x665f9659
je 0x4089b5
cmp ecx, 0x69f3ab96
jne 0x4068d0
mov eax, dword [esi + 8]
mov ebx, 0xd72f38c5
mov edi, 0x72ab2214
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 0xc8], eax
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x72ab2214
jmp 0x4068a9
cmp ecx, 0x1b1067e1
je 0x4089dc
cmp ecx, 0x1b7ae4f0
jne 0x4068d0
mov eax, dword [esi + 8]
mov ecx, 0x8a3ef814
jmp 0x4068d0
cmp ecx, 0x310bd1a8
je 0x408a1e
cmp ecx, 0x310d2d1b
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0x35db5dd9
mov ebx, 0x4edbcca9
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x4edbcca9
jmp 0x408e40
cmp ecx, 0x93d6a6b2
je 0x408b2b
cmp ecx, 0x9672f31f
jne 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0xf7496177
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, 0x23dbe684
jmp 0x408b59
cmp ecx, 0x61480310
je 0x408b6f
cmp ecx, 0x6200ce05
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0x284c7765
mov edi, 0x6f7c1269
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x6f7c1269
jmp 0x4068a9
cmp ecx, 0xe631017c
je 0x408b79
cmp ecx, 0xe73781e4
jne 0x4068d0
mov eax, dword [esi + 4]
mov ecx, 0x64da68e8
jmp 0x4068d0
cmp ecx, 0x50871356
je 0x408b83
cmp ecx, 0x50de8d5b
jne 0x4068d0
cmp byte [esi + 0x3e], 0
mov ecx, 0x551a13b3
mov eax, 0xbe5a6dcc
cmovne ecx, eax
jmp 0x4068d0
cmp ecx, 0xbb5dcda5
je 0x408b99
cmp ecx, 0xbb9760e9
jne 0x4068d0
mov eax, dword [esi + 8]
mov ecx, 0x87099c9f
mov eax, dword [eax]
mov dword [esi + 0x90], eax
jmp 0x4068d0
cmp ecx, 0x7490c0ea
je 0x408c5b
cmp ecx, 0x7988ce1d
jne 0x4068d0
xor eax, eax
cmp eax, dword [esi + 0xf8]
mov eax, 0
mov ecx, 0xbe0bbfd2
sbb eax, dword [esi + 0xfc]
setl byte [esi + 0x43]
jmp 0x4068d0
cmp ecx, 0xf7496177
je 0x406877
cmp ecx, 0x6ecb7ec
jne 0x4068d0
cmp byte [esi + 0x3b], 0
mov ecx, 0x16c52685
jmp 0x408b8c
cmp ecx, 0x23dbe684
je 0x408c70
cmp ecx, 0x254b459b
jne 0x4068d0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x20]
push dword [eax]
call fcn.00410c30
mov eax, dword [esi + 0x20]
mov ecx, 0x7011308a
movzx eax, byte [eax + 4]
mov byte [esi + 0xc], al
nop word cs:[eax + eax]
cmp ecx, 0xee9fef0f
je 0x408c7d
cmp ecx, 0x7011308a
jne 0x407b50
movzx eax, byte [esi + 0xc]
mov ecx, eax
xor cl, 0xfe
test cl, al
mov ecx, 0xee9fef0f
setne al
jmp 0x407b50
cmp ecx, 0x86236700
je 0x408c90
cmp ecx, 0x87099c9f
jne 0x4068d0
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esi + 0x90]
call fcn.00411610
mov dword [esi + 0xd0], eax
mov ecx, 0x8bdcf1cb
jmp 0x4068d0
cmp ecx, 0x55ea7b73
je 0x408ca3
cmp ecx, 0x56690efb
jne 0x4068d0
mov ecx, dword [esi + 0x20]
call fcn.00411d10
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 4]
mov ecx, 0x8f773298
jmp 0x4068d0
cmp ecx, 0xc2a800c6
je 0x408cad
cmp ecx, 0xc2df197d
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0x5a1fa22d
mov ebx, 0xa64c0279
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xa64c0279
jmp 0x408e40
cmp ecx, 0x38e01f82
je 0x408cb7
cmp ecx, 0x39e9034b
jne 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0x310bd1a8
mov edi, 0x1c6519c0
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x1c6519c0
jmp 0x4068a9
cmp ecx, 0xa510546d
je 0x408cde
cmp ecx, 0xa561acb1
jne 0x4068d0
cmp byte [esi + 0x3d], 0
mov ecx, 0x93d6a6b2
mov eax, 0x936bb686
cmovne ecx, eax
jmp 0x4068d0
cmp ecx, 0x65286f0b
je 0x408ce8
cmp ecx, 0x6534f7f0
jne 0x4068d0
push eax
mov eax, esp
mov dword [esi + 0x44], eax
push eax
mov eax, esp
mov dword [esi + 8], eax
push eax
mov edi, dword [0x5f33f0]
mov edx, dword [0x5f33ec]
mov eax, 0x55ea7b73
mov dword [esi + 0x10], esp
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xe631017c
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
mov edx, dword [esi + 0x10]
cmovge ecx, ebx
mov dword [esi + 4], edx
jmp 0x4068d0
cmp ecx, 0x19d16811
je 0x408d00
cmp ecx, 0x1afc7408
jne 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x7d9a2166
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
mov ebx, 0x92c9e100
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 4]
cmovge ecx, edi
mov eax, dword [eax]
or eax, 4
mov dword [esi + 0x7c], eax
jmp 0x4068d0
mov ecx, 0x2976bb47
jmp 0x4068d0
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0xa0]
mov ebx, 0x89025f2b
mov edi, 0x73186a10
sub ecx, ebx
sbb eax, edi
sub ecx, dword [edx]
sbb eax, dword [edx + 4]
add ecx, ebx
mov dword [esi + 0xa8], ecx
mov ecx, 0x467fd8a5
adc eax, edi
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0xac]
mov dword [esi + 0x6c], eax
jmp 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0xbb5dcda5
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, 0x6e6fdb46
jmp 0x408b59
mov ecx, 0x1b1067e1
jmp 0x4068d0
mov eax, dword [esi + 0x9c]
mov ecx, 0x3c91d454
jmp 0x4068d0
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x24], 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 + 0x20], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 8]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x44]
push dword [eax]
call fcn.0040c9e0
add esp, 4
mov ecx, dword [esi + 0x24]
mov edi, 0x2ecadcf3
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
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, 0xdfe3a4bb
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 8]
cmovge ecx, edx
mov eax, dword [eax]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x2c], eax
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0x7a82cec4
mov ebx, 0x6e94db93
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x6e94db93
jmp 0x408e40
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 8]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi + 0x44]
push dword [eax]
call fcn.0040c9e0
add esp, 4
mov eax, dword [esi + 8]
mov ecx, 0x5fe56bfb
jmp 0x4068d0
mov ecx, 0xa50f4f26
jmp 0x4068d0
mov ecx, 0x551a13b3
jmp 0x4068d0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xd8]
mov dword [eax], ecx
mov ecx, 0x60317710
jmp 0x4068d0
mov ecx, 0x4dcc81ec
jmp 0x4068d0
mov eax, dword [esi + 8]
mov ecx, 0x69f3ab96
jmp 0x4068d0
mov eax, dword [esi + 4]
mov ecx, 0xea65d3ba
mov eax, dword [eax]
mov dword [esi + 0x30], eax
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0xa8e2e682
mov edi, 0x65286f0b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x65286f0b
jmp 0x4068a9
mov ecx, 0xc2df197d
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0x1874a880
mov ebx, 0x6f7c1269
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x6f7c1269
jmp 0x408e40
mov ecx, 0x4465d550
jmp 0x4068d0
mov ecx, 0x9672f31f
jmp 0x4068d0
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x104]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esi + 0xb0], eax
mov dword [esi + 0xb4], ecx
mov ecx, 0x633b5db5
jmp 0x4068d0
mov eax, dword [esi + 0xc0]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0xbc]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x24]
xor ecx, dword [edx + 4]
xor eax, dword [edx]
or eax, ecx
mov ecx, 0x6fcd496a
mov eax, 0x60317710
cmove ecx, eax
jmp 0x4068d0
mov eax, dword [esi + 0x54]
mov edi, 0xca48c78
add eax, dword [esi + 0x50]
mov dword [esi + 0xc], eax
mov eax, dword [0x5f33e0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
cmp dword [0x5f33dc], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x5eeda739
or cl, dl
mov ecx, 0xb0c5f7e9
mov edx, 0x48352952
cmovne eax, ecx
mov ecx, 0x5eeda739
cmovne ecx, edx
nop dword [eax + eax]
cmp edi, 0x16f95ec5
jle 0x4080c0
cmp edi, 0x16f95ec6
je 0x408d0a
cmp edi, 0x5eeda739
je 0x4080d4
cmp edi, 0x48352952
jne 0x408090
mov edx, dword [esi + 0xc]
mov edi, eax
add edx, 0x20
jmp 0x408090
cmp edi, 0xb0c5f7e9
je 0x4080de
cmp edi, 0xca48c78
jne 0x408090
mov edi, ecx
jmp 0x408090
mov edi, dword [esi + 0xc]
mov edi, 0x48352952
jmp 0x408090
mov edi, 0x16f95ec6
jmp 0x408090
xor eax, eax
cmp eax, dword [esi + 0xf0]
mov eax, 0
mov ecx, 0x6200ce05
sbb eax, dword [esi + 0xf4]
setl byte [esi + 0x3f]
jmp 0x4068d0
mov ecx, dword [esi + 0xc4]
call fcn.00410af0
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], eax
mov ecx, 0x30296042
jmp 0x4068d0
mov eax, dword [esi + 0x34]
mov ebx, 0x28f38c1c
mov edi, 0x4d781a83
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x64bdd62e
and eax, 4
and ecx, 0x9b4229d1
or edx, ecx
mov ecx, dword [esi + 4]
xor edx, 0x9b4229d5
or eax, edx
mov dword [ecx], eax
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x4d781a83
jmp 0x4068a9
mov ecx, dword [esi + 0xe0]
add ecx, dword [esi + 0x94]
call fcn.00411610
mov dword [esi + 0xe4], eax
mov ecx, 0x89ef6fd2
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0x98], eax
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0x56981330
mov ebx, 0x47d17004
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x47d17004
jmp 0x408e40
mov eax, dword [0x5f33f0]
mov edi, 0x69f3ab96
mov ebx, 0x72ab2214
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x72ab2214
jmp 0x408e40
mov ecx, 0xd21c7e27
jmp 0x4068d0
mov ecx, 0x4eb2b77a
jmp 0x4068d0
mov edx, dword [0x5f33d8]
mov ecx, dword [0x5f33d4]
mov edi, 0xc46813d9
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, 0xb0f85c2e
cmovne edi, ebx
test edx, eax
mov eax, edi
sete byte [esi + 0xc]
cmove eax, ebx
cmp ecx, 0xa
mov ecx, 0x11dad18f
cmovge eax, edi
setl byte [esi + 0x18]
nop dword [eax]
cmp ecx, 0xe05d4f79
jg 0x408280
cmp ecx, 0xb0f85c2e
je 0x408d47
cmp ecx, 0xc46813d9
jne 0x408250
mov ecx, 0xe05d4f7a
jmp 0x408250
cmp ecx, 0xe05d4f7a
je 0x4082b7
cmp ecx, 0x11dad18f
jne 0x408250
movzx edx, byte [esi + 0xc]
movzx ecx, byte [esi + 0x18]
mov edi, 0xc46813d9
mov ebx, 0xe05d4f7a
mov ch, dl
xor ch, cl
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x408250
mov ecx, eax
jmp 0x408250
mov ecx, 0xdb9382d3
jmp 0x4068d0
mov ecx, dword [esi + 0x84]
mov eax, dword [0x5f33d0]
mov ebx, 0xedef0ef4
mov edi, 0x26f59cec
lea edx, [eax + 1]
mov ecx, dword [ecx + 0x14]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov dword [esi + 0x28], ecx
mov ecx, 0x3c125e9d
sete al
cmp dword [0x5f33cc], 0xa
setl dl
or dl, al
mov eax, 0x26f59cec
mov edx, 0xa55e6e8b
cmovne ebx, ecx
cmovne eax, edx
mov edx, 0xec120fa7
mov ecx, 0x209634c2
mov dword [esi + 0x10], ebx
mov ebx, 0xedef0ef4
cmovne edi, edx
cmovne ebx, ecx
mov ecx, 0x45f9e152
jmp 0x408340
mov ecx, 0xec120fa7
nop word cs:[eax + eax]
mov edx, ecx
cmp ecx, 0x26f59ceb
jle 0x408370
cmp edx, 0x425fe7bf
jg 0x408390
cmp edx, 0x26f59cec
je 0x408330
mov ecx, edx
cmp edx, 0x3c125e9d
jne 0x408340
mov ecx, 0x425fe7c0
jmp 0x408340
cmp edx, 0xedef0ef3
jle 0x4083a8
cmp edx, 0xedef0ef4
je 0x4083c1
mov ecx, edx
cmp edx, 0x209634c2
jne 0x408340
mov ecx, dword [esi + 0x10]
jmp 0x408340
mov ecx, edi
cmp edx, 0x425fe7c0
je 0x408340
mov ecx, edx
cmp edx, 0x45f9e152
jne 0x408340
mov ecx, ebx
jmp 0x408340
mov ecx, eax
cmp edx, 0xec120fa7
je 0x408340
mov ecx, edx
cmp edx, 0xa55e6e8b
jne 0x408340
jmp 0x408d61
mov ecx, 0x209634c2
jmp 0x408340
mov ecx, 0x7490c0ea
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0xa2ae9d2a
mov ebx, 0xbbc8f56e
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xbbc8f56e
jmp 0x408e40
mov eax, dword [0x5f33f0]
mov edi, 0x7ee5358e
mov ebx, 0x19d16811
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x19d16811
jmp 0x408e40
mov ecx, 0x6c6fc571
jmp 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0xbbc8f56e
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
mov ebx, 0x33ba4db9
jmp 0x408a09
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0xb0]
mov edx, dword [esi + 0xb4]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, 0x30730d0d
jmp 0x4068d0
mov eax, dword [esi + 4]
mov ecx, 0x1e4a329d
jmp 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0xc504322c
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
mov ebx, 0x63767bf6
jmp 0x408a09
mov eax, dword [esi + 8]
mov ecx, 0x5e13d954
jmp 0x4068d0
mov ecx, dword [esi + 0x2c]
add ecx, dword [esi + 0x48]
call fcn.00410af0
mov edi, dword [0x5f33f0]
mov dword [esi + 0x28], edx
mov edx, dword [0x5f33ec]
mov dword [esi + 0x10], eax
mov ebx, 0x6ecb7ec
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x2d751758
cmovne eax, ebx
test edi, ecx
mov ecx, eax
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, eax
cmp dword [esi + 0x10], 1
sbb dword [esi + 0x28], 0
setl byte [esi + 0x3b]
jmp 0x4068d0
mov ecx, 0x33ba4db9
jmp 0x4068d0
mov ecx, 0x42a0205a
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0x8afdd01e
mov edi, 0x6e94db93
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x6e94db93
jmp 0x4068a9
mov eax, dword [esi + 4]
mov ecx, 0x1afc7408
jmp 0x4068d0
mov eax, dword [esi + 4]
mov edi, 0x27288805
mov ebx, 0x57108881
mov eax, dword [eax]
mov dword [esi + 0xd4], eax
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x57108881
jmp 0x408e40
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x20]
push dword [eax]
call fcn.00410c30
mov eax, dword [esi + 0x20]
mov ecx, 0x7011308a
movzx eax, byte [eax + 4]
mov byte [esi + 0xc], al
nop
cmp ecx, 0xee9fef0f
je 0x408d74
cmp ecx, 0x7011308a
jne 0x4085d0
movzx eax, byte [esi + 0xc]
mov ecx, 0xee9fef0f
not al
or al, 0xfe
cmp al, 0xff
setne al
jmp 0x4085d0
mov eax, dword [0x5f33f0]
mov edi, 0x8f773298
mov ebx, 0x56690efb
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x56690efb
jmp 0x408e40
mov eax, dword [esi + 4]
mov ecx, 0xeb5564c9
mov eax, dword [eax]
mov dword [esi + 0xcc], eax
jmp 0x4068d0
mov ecx, 0xa50f4f26
jmp 0x4068d0
mov eax, dword [esi + 0x14]
mov ecx, 0x8bb0f366
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x100], xmm0
jmp 0x4068d0
cmp byte [esi + 0x42], 0
mov ecx, 0x3a47cbfd
mov eax, 0x38e01f82
cmovne ecx, eax
jmp 0x4068d0
mov eax, dword [esi + 0x74]
mov ecx, 0x310d2d1b
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x74]
mov dword [esi + 0x78], eax
jmp 0x4068d0
mov eax, dword [esi + 8]
mov ecx, 0x63c97ba5
mov eax, dword [eax]
mov dword [esi + 0x74], eax
jmp 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x2d751758
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
mov ebx, 0x53927dc8
jmp 0x408a09
mov ecx, 0x9672f31f
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0x265e4687
mov edi, 0x86236700
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x86236700
jmp 0x4068a9
mov ecx, 0x35bc6c1f
jmp 0x4068d0
mov ecx, 0x56981330
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov edi, 0xd1bd69c1
mov ebx, 0x4d781a83
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x4d781a83
jmp 0x408e40
mov ecx, 0x284c7765
jmp 0x4068d0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x1e4a329d
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, 0xe9d2ce74
jmp 0x408b59
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x86236700
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
mov ebx, 0xc2a800c6
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0x4c]
cmovge ecx, edi
add eax, dword [esi + 0x80]
mov dword [esi + 0x84], eax
jmp 0x4068d0
mov eax, dword [esi + 0x98]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x98]
movsx eax, byte [ecx + eax + 0x40]
mov ecx, dword [esi + 0xe4]
push eax
call fcn.00411740
mov ecx, dword [0x5f33d8]
mov edi, dword [0x5f33d4]
mov ebx, 0xb0f85c2e
mov dword [esi + 0x10], eax
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, 0xc46813d9
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
sete byte [esi + 0xc]
cmove ecx, ebx
cmp edi, 0xa
mov edi, 0xc46813d9
setl dh
setl byte [esi + 0x18]
cmovge ecx, edi
xor dh, dl
mov edx, 0x11dad18f
cmovne ecx, ebx
cmp edx, 0xe05d4f79
jg 0x408860
cmp edx, 0xb0f85c2e
je 0x408dc5
cmp edx, 0xc46813d9
jne 0x408830
mov edx, 0xe05d4f7a
jmp 0x408830
cmp edx, 0xe05d4f7a
je 0x408897
cmp edx, 0x11dad18f
jne 0x408830
movzx ebx, byte [esi + 0xc]
movzx edx, byte [esi + 0x18]
mov edi, 0xc46813d9
mov eax, 0xe05d4f7a
mov dh, bl
xor dh, dl
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x408830
mov edx, ecx
jmp 0x408830
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x47d17004
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
mov ebx, 0x61480310
jmp 0x408a09
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 4]
or eax, 4
mov dword [ecx], eax
mov ecx, 0x63767bf6
jmp 0x4068d0
mov eax, dword [esi + 8]
mov ecx, 0xa07eebea
mov eax, dword [eax]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x9c], eax
jmp 0x4068d0
mov eax, dword [esi + 0x54]
mov eax, dword [esi + 0x54]
mov edx, 0x48352952
mov edi, 0xca48c78
add eax, dword [esi + 0x50]
mov dword [esi + 0xc], eax
mov eax, dword [0x5f33e0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5f33dc], 0xa
setl cl
or cl, al
mov eax, 0x5eeda739
mov ecx, 0xb0c5f7e9
cmovne eax, ecx
mov ecx, 0x5eeda739
cmovne ecx, edx
nop dword [eax + eax]
cmp edi, 0x16f95ec5
jle 0x408990
cmp edi, 0x16f95ec6
je 0x408de6
cmp edi, 0x5eeda739
je 0x4089a4
cmp edi, 0x48352952
jne 0x408960
mov edx, dword [esi + 0xc]
mov edi, eax
add edx, 0x20
jmp 0x408960
cmp edi, 0xb0c5f7e9
je 0x4089ae
cmp edi, 0xca48c78
jne 0x408960
mov edi, ecx
jmp 0x408960
mov edi, dword [esi + 0xc]
mov edi, 0x48352952
jmp 0x408960
mov edi, 0x16f95ec6
jmp 0x408960
mov eax, dword [0x5f33f0]
mov ebx, 0x8a3ef814
mov edi, 0x1b7ae4f0
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x1b7ae4f0
jmp 0x4068a9
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x74503e35
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
mov ebx, 0x1f3dbed9
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
jmp 0x4068d0
mov ecx, dword [esi + 0x84]
mov eax, dword [0x5f33d0]
mov ebx, 0xedef0ef4
mov edi, 0x26f59cec
lea edx, [eax + 1]
mov ecx, dword [ecx + 0x14]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov dword [esi + 0x28], ecx
mov ecx, 0x3c125e9d
setne al
cmp dword [0x5f33cc], 0xa
setge dl
mov ah, dl
or dl, al
xor ah, al
xor dl, 1
or dl, ah
mov eax, 0x26f59cec
mov edx, 0xa55e6e8b
cmovne ebx, ecx
cmovne eax, edx
mov edx, 0xec120fa7
mov ecx, 0x209634c2
mov dword [esi + 0x10], ebx
mov ebx, 0xedef0ef4
cmovne edi, edx
cmovne ebx, ecx
mov ecx, 0x45f9e152
jmp 0x408aa0
mov ecx, 0xec120fa7
nop word [eax + eax]
mov edx, ecx
cmp ecx, 0x26f59ceb
jle 0x408ad0
cmp edx, 0x425fe7bf
jg 0x408af0
cmp edx, 0x26f59cec
je 0x408a92
mov ecx, edx
cmp edx, 0x3c125e9d
jne 0x408aa0
mov ecx, 0x425fe7c0
jmp 0x408aa0
cmp edx, 0xedef0ef3
jle 0x408b08
cmp edx, 0xedef0ef4
je 0x408b21
mov ecx, edx
cmp edx, 0x209634c2
jne 0x408aa0
mov ecx, dword [esi + 0x10]
jmp 0x408aa0
mov ecx, edi
cmp edx, 0x425fe7c0
je 0x408aa0
mov ecx, edx
cmp edx, 0x45f9e152
jne 0x408aa0
mov ecx, ebx
jmp 0x408aa0
mov ecx, eax
cmp edx, 0xec120fa7
je 0x408aa0
mov ecx, edx
cmp edx, 0xa55e6e8b
jne 0x408aa0
jmp 0x408e07
mov ecx, 0x209634c2
jmp 0x408aa0
mov edx, dword [0x5f33f0]
mov eax, dword [0x5f33ec]
mov edi, 0x1afc7408
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, 0x7d9a2166
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x4068d0
mov ecx, 0xbae9039d
jmp 0x4068d0
mov ecx, 0x6534f7f0
jmp 0x4068d0
cmp byte [esi + 0x3c], 0
mov ecx, 0x665f9659
mov eax, 0x85703ea1
cmovne ecx, eax
jmp 0x4068d0
mov eax, dword [0x5f33d8]
mov edi, 0xb0f85c2e
mov ebx, 0xc46813d9
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5f33d4]
mov eax, 0xc46813d9
sete dl
sete byte [esi + 0xc]
cmove eax, edi
cmp ecx, 0xa
setl cl
setl byte [esi + 0x18]
cmovge eax, ebx
xor cl, dl
mov ecx, 0x11dad18f
cmovne eax, edi
nop word cs:[eax + eax]
cmp ecx, 0xe05d4f79
jg 0x408c20
cmp ecx, 0xb0f85c2e
je 0x408e5d
cmp ecx, 0xc46813d9
jne 0x408bf0
mov ecx, 0xe05d4f7a
jmp 0x408bf0
cmp ecx, 0xe05d4f7a
je 0x408c57
cmp ecx, 0x11dad18f
jne 0x408bf0
movzx edx, byte [esi + 0xc]
movzx ecx, byte [esi + 0x18]
mov edi, 0xc46813d9
mov ebx, 0xe05d4f7a
mov ch, dl
xor ch, cl
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x408bf0
mov ecx, eax
jmp 0x408bf0
cmp dword [esi + 0xdc], 0
mov ecx, 0x62ef24de
sete byte [esi + 0x42]
jmp 0x4068d0
mov eax, dword [esi + 8]
mov ecx, 0xf7496177
jmp 0x4068d0
and al, 1
mov ecx, 0x1e4ba142
mov byte [esi + 0x18], al
movzx eax, byte [esi + 0x18]
jmp 0x4068d0
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 0x80]
mov ecx, 0x265e4687
jmp 0x4068d0
mov ecx, 0xe4d45b5b
jmp 0x4068d0
mov ecx, 0x39e9034b
jmp 0x4068d0
mov eax, dword [0x5f33f0]
mov ebx, 0xd65aefa
mov edi, 0x15d3890a
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x15d3890a
jmp 0x4068a9
mov ecx, 0x30730d0d
jmp 0x4068d0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, 0xa8e2e682
jmp 0x4068d0
mov ecx, 0x7ee5358e
jmp 0x4068d0
mov dword [esi + 0x18], edx
mov ebx, 0x8d220986
mov edi, 0xa64c0279
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0xc]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov eax, dword [0x5f33f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xa64c0279
jmp 0x4068a9
push dword [esi + 0x8c]
push 0xffffffffffffffff
call fcn.004113e0
add esp, 8
mov ecx, 0xbb5dcda5
jmp 0x4068d0
mov eax, dword [esi + 0x28]
mov ecx, 0x310bd1a8
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
jmp 0x4068d0
mov edi, dword [0x5f33f0]
mov edx, dword [0x5f33ec]
lea ecx, [edi - 1]
imul ecx, edi
mov edi, 0x254b459b
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete ah
cmp edx, 0xa
setl bl
xor bl, ah
mov ebx, 0xa561acb1
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
and al, 1
mov byte [esi + 0x18], al
movzx eax, byte [esi + 0x18]
mov byte [esi + 0x3d], al
jmp 0x4068d0
push dword [esi + 0x10]
push 0xffffffffffffffff
call fcn.004113e0
add esp, 8
test al, al
mov ecx, 0x9b86e809
mov edx, 0x9b601fa
cmovne ecx, edx
jmp 0x4068d0
mov dword [esi + 0x18], edx
mov ecx, 0x5a1fa22d
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0xc]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
jmp 0x4068d0
mov eax, dword [esi + 0x28]
mov edi, 0x50de8d5b
mov ebx, 0x1c6519c0
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
not eax
or eax, 0xfffffe3f
cmp eax, 0xffffffbf
mov eax, dword [0x5f33f0]
setne byte [esi + 0x3e]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x1c6519c0
sete al
cmove ecx, edi
cmp dword [0x5f33ec], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
jmp 0x4068d0
push dword [esi + 0x8c]
push 0xffffffffffffffff
call fcn.004113e0
add esp, 8
mov byte [esi + 0x40], al
mov eax, dword [0x5f33f0]
mov ebx, 0x34b1c83b
mov edi, 0x6e6fdb46
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x6e6fdb46
jmp 0x4068a9
cmp ecx, 0xeebb9996
jne 0x4068d0
mov edi, dword [esi + 0xec]
mov ecx, dword [esi + 0x108]
xor ecx, ebp
call fcn.0043b0d0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret