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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x500
mov esi, esp
mov dword [esi + 0x4d8], ebp
mov dword [esi + 0x4dc], esp
mov dword [esi + 0x4e8], 0xffffffff
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e4], 0x5cd870
mov ecx, dword fs:[0]
mov dword [esi + 0x4e0], ecx
mov dword fs:[0], eax
mov eax, dword [0x60a940]
mov ecx, dword [0x60a944]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1d8]
cmp ecx, 0xa
setl byte [esi + 0x310]
mov eax, 0xee6faacd
mov edi, 0xf6b010f0
nop dword [eax]
cmp eax, 0xee6faacc
jg 0x467120
cmp eax, 0x8f64b28b
je 0x4680f0
cmp eax, 0xcf0dcdb6
jne 0x467100
jmp 0x46af92
cmp eax, 0xee6faacd
je 0x467130
cmp eax, 0xf6b010f0
jne 0x467100
jmp 0x467160
movzx ecx, byte [esi + 0x1d8]
movzx eax, byte [esi + 0x310]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xf6b010f0
mov ebx, 0x8f64b28b
cmovne eax, ebx
test cl, cl
cmove eax, edi
test dl, dl
cmovne eax, ebx
jmp 0x467100
mov edi, 0xa
jmp 0x46717e
lea ecx, [esi + 0x220]
call fcn.0043a730
mov edi, dword [esi + 0x70]
cmp edi, 0x1f4
jae 0x469057
mov ecx, dword [0x60a948]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a94c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x4671c0
or cl, al
test cl, 1
jne 0x4671f8
nop word cs:[eax + eax]
lea ecx, [esi + 0x220]
call fcn.004376b0
mov ebx, dword [0x60a948]
mov edx, dword [0x60a94c]
lea eax, [ebx + 1]
imul eax, ebx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl cl
test cl, al
jne 0x467210
xor cl, al
jne 0x467210
lea ecx, [esi + 0x220]
call fcn.004376b0
jmp 0x4671c0
mov dword [esi + 0x18], ebx
lea eax, [edi + 1]
mov dword [esi + 0x70], eax
imul eax, edi
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x3c], eax
xor edx, edx
div edi
nop word [eax + eax]
mov dword [esi + 0x14], ecx
mov edi, eax
imul edi, ecx
mov edx, eax
mulx ecx, ebx, edx
add edi, edi
add edi, ecx
mov eax, dword [esi + 0x3c]
cmp ebx, eax
sbb edi, 0
jae 0x4679b0
sub eax, edx
mov ecx, eax
mov dword [esi + 0x34], eax
mov eax, 0
mov ebx, dword [esi + 0x14]
sbb eax, ebx
mov dword [esi + 0x1c], eax
mov edi, edx
add edi, 1
mov dword [esi + 0x20], edx
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005ce830
mov dword [esi + 0x24], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x2c], edx
mov edx, eax
mov dword [esi + 0x38], ebx
imul edx, ebx
mov ebx, dword [esi + 0x24]
add ecx, edx
mov edx, ebx
mov dword [esi + 0x10], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x1c]
sbb edi, edx
or edi, ecx
mov ecx, dword [esi + 0x20]
je 0x4672d0
mov ebx, dword [esi + 0x18]
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov edi, dword [esi + 0x10]
jmp 0x467890
mov edx, dword [esi + 0x14]
mov dword [esi + 0x124], edx
mov dword [esi + 0x120], ecx
mov dword [esi + 0x12c], ebx
mov dword [esi + 0x1c], eax
mov dword [esi + 0x128], eax
mov dword [esi + 0x4e8], 6
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov edi, 0x2e15417a
mov ebx, dword [esi + 0x1c]
lea eax, [esi + 0xa0]
nop dword [eax]
cmp edi, 0x17af7ff1
jg 0x467370
cmp edi, 0x8241d35c
je 0x4673c0
cmp edi, 0xe4607b2d
jne 0x467350
jmp 0x467420
cmp edi, 0x17af7ff2
je 0x467450
cmp edi, 0x2e15417a
jne 0x467350
movzx eax, byte [esi + 0x104]
movzx ecx, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xe4607b2d
mov ecx, 0x8241d35c
cmovne edi, ecx
test al, al
mov eax, 0xe4607b2d
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x467346
mov dword [esi + 0x4e8], 8
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ebx, dword [esi + 0x1c]
mov eax, dword [0x60a950]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xe4607b2d
mov edx, 0x17af7ff2
cmove edi, edx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x467346
mov dword [esi + 0x4e8], 8
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov edi, 0x8241d35c
mov ebx, dword [esi + 0x1c]
jmp 0x467346
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x20]
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x4674b0
cmp eax, 0xaf287e03
je 0x467500
cmp eax, 0x392c4627
jne 0x467490
jmp 0x467560
cmp eax, 0x668e2124
je 0x467580
cmp eax, 0x67d88a6c
jne 0x467490
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x46747b
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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 edi, 0x392c4627
mov ebx, 0x668e2124
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
mov ebx, dword [esi + 0x1c]
cmp ecx, 0xa
cmovge eax, edi
jmp 0x46747b
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46747b
mov eax, dword [esi + 0x24]
mov dword [esi + 0x124], eax
mov dword [esi + 0x120], ebx
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x128], edx
mov dword [esi + 0x4e8], 6
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ebx, 0x2e15417a
mov edi, dword [esi + 0x10]
lea eax, [esi + 0xa0]
nop dword [eax]
cmp ebx, 0x17af7ff1
jg 0x467620
cmp ebx, 0x8241d35c
je 0x467670
cmp ebx, 0xe4607b2d
jne 0x467600
jmp 0x4676d0
cmp ebx, 0x17af7ff2
je 0x467700
cmp ebx, 0x2e15417a
jne 0x467600
movzx eax, byte [esi + 0x104]
movzx ecx, byte [esi + 0x40]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
mov edi, dword [esi + 0x10]
test al, al
cmove ebx, edx
jmp 0x4675f3
mov dword [esi + 0x4e8], 7
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov edi, dword [esi + 0x10]
mov eax, dword [0x60a950]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ebx, 0xe4607b2d
mov edx, 0x17af7ff2
cmove ebx, edx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x4675f3
mov dword [esi + 0x4e8], 7
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ebx, 0x8241d35c
mov edi, dword [esi + 0x10]
jmp 0x4675f3
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60a94c], 0xa
setl cl
test cl, al
jne 0x467730
xor cl, al
je 0x467853
nop dword [eax + eax]
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
nop dword [eax]
cmp eax, 0x668e2123
jg 0x467790
cmp eax, 0xaf287e03
je 0x4677ce
cmp eax, 0x392c4627
jne 0x467760
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x467760
cmp eax, 0x668e2124
je 0x467820
cmp eax, 0x67d88a6c
jne 0x467760
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
jmp 0x467810
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
mov edi, dword [esi + 0x10]
jmp 0x467760
mov ebx, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x28], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x467890
or dl, cl
je 0x467890
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
jmp 0x467910
mov dword [esi + 0x18], ebx
test eax, eax
sete cl
cmp dword [esi + 0x28], 0xa
setl bl
or bl, cl
cmp bl, 1
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
mov edx, edi
mov edi, dword [esi + 0x38]
je 0x467990
jmp 0x4679a8
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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, 0x392c4627
mov edi, 0x668e2124
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x10]
cmp ecx, 0xa
cmovge eax, edx
nop dword [eax + eax]
cmp eax, 0x668e2123
jg 0x467940
cmp eax, 0xaf287e03
je 0x4678ba
cmp eax, 0x392c4627
jne 0x467910
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x467910
cmp eax, 0x668e2124
je 0x467730
cmp eax, 0x67d88a6c
jne 0x467910
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
mov edi, dword [esi + 0x10]
jmp 0x467910
mov edi, ecx
mov edx, eax
add eax, 1
adc ecx, 0
test bl, bl
jne 0x467230
add edx, 2
adc edi, 0
mov eax, edx
mov ecx, edi
jmp 0x467990
mov ecx, dword [esi + 0x220]
mov edi, dword [esi + 0x224]
mov eax, edi
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
mov ebx, dword [esi + 0x18]
jb 0x467b90
mov dword [esi + 0x34], 1
mov dword [esi + 0x3c], 0
mov dword [esi + 0x68], 0xffffffff
jmp 0x467a23
mov edi, dword [esi + 0x34]
inc edi
mov edx, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x2c], edx
sub ecx, edx
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x3c], 0xc
dec dword [esi + 0x68]
mov dword [esi + 0x34], edi
cmp edi, ecx
jae 0x467ba5
lea eax, [ebx + 1]
imul eax, ebx
test al, 1
sete dl
cmp dword [esi + 0x28], 0xa
setge cl
setl ch
xor ch, dl
jne 0x467a60
or cl, al
mov edx, dword [esi + 0x68]
mov edi, dword [esi + 0x3c]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x1c], eax
test cl, 1
je 0x467a7d
jmp 0x46aee0
mov edx, dword [esi + 0x68]
mov edi, dword [esi + 0x3c]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x1c], eax
jmp 0x467a7d
add edi, 0xfffffff4
mov edx, dword [esi + 0x20]
inc edx
je 0x467b60
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x220]
mov eax, dword [edx + edi]
mov dword [esi + 0x10], eax
mov dword [esi + 0x24], edi
mov ecx, dword [edx + edi + 0xc]
mov dword [esi + 0x14], ecx
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
mov ecx, dword [ecx]
mov edi, dword [esi + 0x10]
cmp ecx, dword [edi]
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 0x10]
sbb ecx, dword [edi + 4]
jge 0x467b60
dec dword [esi + 0x1c]
test eax, eax
setne al
sete ah
cmp dword [esi + 0x28], 0xa
setge cl
setl ch
xor ch, ah
jne 0x467ae0
or cl, al
mov edi, dword [esi + 0x24]
jne 0x467b3f
jmp 0x467af0
mov edi, dword [esi + 0x24]
nop word cs:[eax + eax]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov ebx, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete ch
setne cl
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl dh
setge dl
cmp dh, ch
jne 0x467a70
or dl, cl
je 0x467a70
mov edx, dword [esi + 0x220]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov edx, dword [esi + 0x220]
jmp 0x467af0
test eax, eax
setne cl
sete ch
cmp dword [esi + 0x28], 0xa
setge dl
setl dh
xor dh, ch
jne 0x4679f0
or cl, dl
je 0x4679f0
jmp 0x46af10
mov edx, ecx
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov dword [esi + 0x2c], edx
mov dword [esi + 0x38], edi
test eax, eax
setne al
sete dl
cmp dword [esi + 0x28], 0xa
setge cl
setl ah
xor ah, dl
jne 0x467bd7
or al, cl
je 0x467bd7
jmp 0x46af30
add dword [esi + 0x2c], 0xc
mov ebx, dword [esi + 0x18]
mov dword [esi + 0x18], ebx
lea eax, [ebx + 1]
imul eax, ebx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
or cl, al
mov byte [esi + 0x20], cl
mov eax, dword [0x60a960]
mov ecx, dword [0x60a964]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x24], eax
jne 0x467ce4
mov ecx, eax
inc eax
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete al
mov edx, dword [esi + 0x10]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmovne eax, ecx
test edi, edi
sete byte [esi + 0x40]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge edi, eax
mov eax, 0xd04893e1
jmp 0x467c8d
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1bb2d94f
mov ebx, 0xf3871576
cmovne eax, ebx
test cl, cl
mov ecx, 0x1bb2d94f
cmove eax, ecx
test dl, dl
cmovne eax, ebx
mov ecx, dword [esi + 0x2c]
cmp eax, 0x1e3fd20
jg 0x467cb0
cmp eax, 0xd04893e1
je 0x467c60
cmp eax, 0xf3871576
jne 0x467c90
mov eax, edi
jmp 0x467c90
cmp eax, 0x1e3fd21
je 0x467cd0
cmp eax, 0x1bb2d94f
jne 0x467c90
mov eax, 0xf3871576
jmp 0x467c90
cmp ecx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov eax, dword [esi + 0x24]
lea edi, [eax - 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov edx, dword [esi + 0x10]
cmp edx, 0xa
setl ah
xor ah, al
mov ebx, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmovne ebx, ecx
and edi, 1
sete byte [esi + 0x40]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge eax, ebx
mov ebx, 0xd04893e1
nop dword [eax + eax]
cmp ebx, 0x1e3fd20
jg 0x467d50
cmp ebx, 0xd04893e1
je 0x467d67
cmp ebx, 0xf3871576
jne 0x467d30
mov ebx, eax
jmp 0x467d30
cmp ebx, 0x1e3fd21
je 0x467da0
cmp ebx, 0x1bb2d94f
jne 0x467d30
mov ebx, 0xf3871576
jmp 0x467d30
movzx edx, byte [esi + 0x40]
mov ch, byte [esi + 0xa0]
mov cl, dl
xor cl, ch
test ch, ch
mov ebx, 0x1bb2d94f
mov dword [esi + 0x14], edi
mov edi, 0xf3871576
cmovne ebx, edi
test dl, dl
mov edx, 0x1bb2d94f
cmove ebx, edx
test cl, cl
cmovne ebx, edi
mov edi, dword [esi + 0x14]
jmp 0x467d30
mov eax, dword [esi + 0x38]
cmp dword [esi + 0x2c], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
cmp byte [esi + 0x20], 0
mov ebx, dword [esi + 0x18]
je 0x467c1a
test al, 1
jne 0x467170
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov dword [esi + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x20], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x467df4
add dword [esi + 0x10], 8
lea eax, [ebx + 1]
mov dword [esi + 0x18], ebx
imul eax, ebx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
or cl, al
mov byte [esi + 0x34], cl
jne 0x467ee4
mov ecx, dword [esi + 0x1c]
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
test ebx, ebx
sete byte [esi + 0x40]
sete al
mov ebx, 0xc0943188
mov edi, 0xcad2cb8d
cmove ebx, edi
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0xa0]
setl cl
mov edx, 0xc0943188
cmovge ebx, edx
xor cl, al
cmovne ebx, edi
mov eax, 0xff93f7cc
jmp 0x467e70
mov eax, ebx
nop word cs:[eax + eax]
cmp eax, 0xcad2cb8c
jg 0x467e90
cmp eax, 0xa3d2977a
je 0x467e61
cmp eax, 0xc0943188
jne 0x467e70
mov eax, 0xa3d2977a
jmp 0x467e70
cmp eax, 0xcad2cb8d
je 0x467ed0
cmp eax, 0xff93f7cc
jne 0x467e70
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov ah, cl
xor ah, al
mov edi, 0xc0943188
mov edx, 0xa3d2977a
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test cl, cl
cmove eax, edi
jmp 0x467e70
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov eax, dword [esi + 0x1c]
lea ebx, [eax + 1]
imul ebx, eax
mov eax, ebx
and eax, 1
sete al
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl ah
xor ah, al
mov edi, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne edi, ecx
and ebx, 1
sete byte [esi + 0x40]
mov eax, edi
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge eax, edi
mov edi, 0xff93f7cc
nop dword [eax + eax]
cmp edi, 0xcad2cb8c
jg 0x467f50
cmp edi, 0xa3d2977a
je 0x467f94
cmp edi, 0xc0943188
jne 0x467f30
mov edi, 0xa3d2977a
jmp 0x467f30
cmp edi, 0xcad2cb8d
je 0x467fa0
cmp edi, 0xff93f7cc
jne 0x467f30
mov dh, byte [esi + 0x40]
movzx ecx, byte [esi + 0xa0]
mov ch, cl
xor ch, dh
test cl, cl
mov edi, 0xc0943188
mov dword [esi + 0x24], ebx
mov ebx, 0xa3d2977a
cmovne edi, ebx
test dh, dh
mov edx, 0xc0943188
cmove edi, edx
test ch, ch
cmovne edi, ebx
mov ebx, dword [esi + 0x24]
jmp 0x467f30
mov edi, eax
jmp 0x467f30
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
cmp byte [esi + 0x34], 0
je 0x467e29
test al, 1
jne 0x467bd0
mov ecx, dword [0x60a970]
mov eax, dword [0x60a974]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x7a659f1e
mov edi, 0x3b451eaf
cmovne ecx, edi
cmp edx, 0xffffffff
sete byte [esi + 0x40]
mov edx, ecx
cmove edx, edi
cmp eax, 0xa
setl byte [esi + 0xa0]
cmovge edx, ecx
mov eax, 0xdbf7d62a
mov ebx, dword [esi + 0x18]
nop dword [eax + eax]
cmp eax, 0x3b451eae
jg 0x468040
cmp eax, 0xdbf7d62a
je 0x468060
cmp eax, 0x23248e6d
jne 0x468020
mov eax, edx
jmp 0x468020
cmp eax, 0x3b451eaf
je 0x468090
cmp eax, 0x7a659f1e
jne 0x468020
mov eax, 0x23248e6d
jmp 0x468020
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov ch, cl
xor ch, al
test al, al
mov eax, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne eax, ebx
test cl, cl
mov edi, 0x7a659f1e
cmove eax, edi
test ch, ch
cmovne eax, ebx
jmp 0x468015
mov eax, dword [esi + 0x10]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x467df0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov ebx, dword [0x60a948]
mov eax, dword [0x60a94c]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x467df0
mov edi, 0xa
jmp 0x46810e
lea ecx, [esi + 0x220]
call fcn.0043a730
mov edi, dword [esi + 0x68]
cmp edi, 0x1f4
jae 0x469f67
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60a94c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x468150
or cl, al
jne 0x46818b
nop word [eax + eax]
lea ecx, [esi + 0x220]
call fcn.004376b0
mov edx, dword [0x60a948]
mov ecx, dword [0x60a94c]
lea eax, [edx + 1]
mov ebx, edx
imul eax, edx
test al, 1
sete dl
mov dword [esi + 0x28], ecx
cmp ecx, 0xa
setl ch
setge cl
cmp ch, dl
jne 0x4681a0
or cl, al
test cl, 1
je 0x4681a0
lea ecx, [esi + 0x220]
call fcn.004376b0
jmp 0x468150
lea eax, [edi + 1]
mov dword [esi + 0x68], eax
imul eax, edi
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x3c], eax
xor edx, edx
div edi
mov dword [esi + 0x18], ebx
mov ebx, eax
nop dword [eax]
mov eax, ebx
imul eax, ecx
mov edx, ebx
mov edi, ecx
mulx ecx, edx, ebx
add eax, eax
add eax, ecx
mov ecx, dword [esi + 0x3c]
cmp edx, ecx
sbb eax, 0
jae 0x468930
sub ecx, ebx
mov dword [esi + 0x1c], ecx
mov eax, 0
sbb eax, edi
mov dword [esi + 0x24], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebx
mov edi, ebx
add edi, 1
mov ebx, dword [esi + 0x10]
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005ce830
mov dword [esi + 0x20], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x34], edx
mov edx, eax
mov dword [esi + 0x38], ebx
imul edx, ebx
mov ebx, dword [esi + 0x20]
add ecx, edx
mov edx, ebx
mov dword [esi + 0x2c], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x1c]
sub ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x24]
sbb edi, edx
or edi, ecx
je 0x468260
mov edi, dword [esi + 0x18]
lea ecx, [edi + 1]
imul ecx, edi
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov ebx, dword [esi + 0x14]
jmp 0x468810
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x124], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x120], ecx
mov dword [esi + 0x12c], ebx
mov dword [esi + 0x24], eax
mov dword [esi + 0x128], eax
mov dword [esi + 0x4e8], 0
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ecx, 0x2e15417a
mov ebx, dword [esi + 0x14]
lea eax, [esi + 0xa0]
nop
cmp ecx, 0x17af7ff1
jg 0x468300
cmp ecx, 0x8241d35c
je 0x468340
cmp ecx, 0xe4607b2d
jne 0x4682e0
jmp 0x4683a0
cmp ecx, 0x17af7ff2
je 0x4683d0
cmp ecx, 0x2e15417a
jne 0x4682e0
movzx eax, byte [esi + 0x104]
movzx ecx, byte [esi + 0x40]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x4682d9
mov dword [esi + 0x4e8], 2
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ebx, dword [esi + 0x14]
mov eax, dword [0x60a950]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xe4607b2d
mov edx, 0x17af7ff2
cmove edi, edx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge edi, ecx
setl cl
xor cl, al
mov ecx, edi
cmovne ecx, edx
jmp 0x4682d9
mov dword [esi + 0x4e8], 2
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
mov ebx, dword [esi + 0x14]
jmp 0x4682d9
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x24]
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x468430
cmp eax, 0xaf287e03
je 0x468480
cmp eax, 0x392c4627
jne 0x468410
jmp 0x4684d0
cmp eax, 0x668e2124
je 0x4684f0
cmp eax, 0x67d88a6c
jne 0x468410
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x4683fc
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x4683fc
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x4683fc
mov eax, dword [esi + 0x20]
mov dword [esi + 0x124], eax
mov dword [esi + 0x120], edx
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x128], ebx
mov dword [esi + 0x4e8], 0
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov edi, 0x2e15417a
mov ebx, dword [esi + 0x14]
lea eax, [esi + 0xa0]
nop dword [eax]
cmp edi, 0x17af7ff1
jg 0x468590
cmp edi, 0x8241d35c
je 0x4685e0
cmp edi, 0xe4607b2d
jne 0x468570
jmp 0x468640
cmp edi, 0x17af7ff2
je 0x468670
cmp edi, 0x2e15417a
jne 0x468570
movzx eax, byte [esi + 0x104]
movzx ecx, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xe4607b2d
mov ecx, 0x8241d35c
cmovne edi, ecx
test al, al
mov eax, 0xe4607b2d
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x468563
mov dword [esi + 0x4e8], 1
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ebx, dword [esi + 0x14]
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
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, 0xe4607b2d
mov edi, 0x17af7ff2
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
mov edi, ecx
cmp eax, 0xa
cmovge edi, edx
jmp 0x468563
mov dword [esi + 0x4e8], 1
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov edi, 0x8241d35c
mov ebx, dword [esi + 0x14]
jmp 0x468563
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60a94c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x4686b0
or cl, al
jne 0x4687dd
nop word cs:[eax + eax]
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
nop dword [eax + eax]
cmp eax, 0x668e2123
jg 0x468710
cmp eax, 0xaf287e03
je 0x468751
cmp eax, 0x392c4627
jne 0x4686e0
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x4686e0
cmp eax, 0x668e2124
je 0x4687b0
cmp eax, 0x67d88a6c
jne 0x4686e0
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x4686e0
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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, 0x392c4627
mov edi, 0x668e2124
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4686e0
mov edi, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [edi + 1]
imul ecx, edi
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x468810
xor dl, cl
jne 0x468810
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
jmp 0x468890
mov dword [esi + 0x18], edi
test eax, eax
setne al
cmp dword [esi + 0x28], 0xa
setge cl
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
cmp al, 1
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x2c]
mov edi, dword [esi + 0x38]
je 0x468910
jmp 0x468928
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x4688c0
cmp eax, 0xaf287e03
je 0x46883f
cmp eax, 0x392c4627
jne 0x468890
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x468890
cmp eax, 0x668e2124
je 0x4686b0
cmp eax, 0x67d88a6c
jne 0x468890
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x468890
mov edi, ecx
mov edx, ebx
add ebx, 1
adc ecx, 0
test al, al
jne 0x4681c0
add edx, 2
adc edi, 0
mov ebx, edx
mov ecx, edi
jmp 0x468910
mov edx, dword [esi + 0x220]
mov edi, dword [esi + 0x224]
mov eax, edi
sub eax, edx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
jb 0x468b00
mov dword [esi + 0x1c], 1
mov dword [esi + 0x34], 0
mov dword [esi + 0x2c], 0xffffffff
mov ebx, dword [esi + 0x18]
jmp 0x4689a2
mov ebx, dword [esi + 0x1c]
inc ebx
mov edx, dword [esi + 0x220]
mov edi, dword [esi + 0x224]
mov ecx, edi
sub ecx, edx
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x34], 0xc
dec dword [esi + 0x2c]
mov dword [esi + 0x1c], ebx
cmp ebx, ecx
mov ebx, dword [esi + 0x18]
jae 0x468b0c
lea eax, [ebx + 1]
mov dword [esi + 0x18], ebx
imul eax, ebx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
setne al
cmp dword [esi + 0x28], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x4689e0
or cl, al
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
je 0x4689fa
jmp 0x46aef0
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
jmp 0x4689fa
add edi, 0xfffffff4
inc ebx
je 0x468ad0
mov dword [esi + 0x20], ebx
mov edx, dword [esi + 0x220]
mov eax, dword [edx + edi]
mov dword [esi + 0x10], eax
mov ebx, dword [edx + edi + 0xc]
mov dword [esi + 0x14], ebx
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
mov ecx, dword [ebx]
mov ebx, dword [esi + 0x10]
cmp ecx, dword [ebx]
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 4]
sbb ecx, dword [ebx + 4]
jge 0x468ad0
dec dword [esi + 0x24]
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test cl, al
jne 0x468a50
xor cl, al
mov ebx, dword [esi + 0x20]
je 0x468ab1
jmp 0x468a60
mov ebx, dword [esi + 0x20]
nop word cs:[eax + eax]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov eax, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x28], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x4689f0
or dl, cl
je 0x4689f0
mov edx, dword [esi + 0x220]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov edx, dword [esi + 0x220]
jmp 0x468a60
test eax, eax
sete cl
cmp dword [esi + 0x28], 0xa
setl dl
test cl, dl
jne 0x468970
xor cl, dl
jne 0x468970
jmp 0x46af00
mov ebx, dword [esi + 0x18]
lea eax, [ebx - 1]
imul eax, ebx
and eax, 1
mov dword [esi + 0x38], edi
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test al, cl
jne 0x468b39
xor al, cl
jne 0x468b39
jmp 0x46af20
mov edx, dword [esi + 0x2c]
add edx, 0xc
mov ebx, dword [esi + 0x18]
mov dword [esi + 0x2c], edx
lea eax, [ebx + 1]
mov dword [esi + 0x18], ebx
imul eax, ebx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
or cl, al
mov byte [esi + 0x20], cl
mov ecx, dword [0x60a960]
mov eax, dword [0x60a964]
mov dword [esi + 0x10], eax
mov dword [esi + 0x24], ecx
jne 0x468c47
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete byte [esi + 0x40]
sete al
mov edi, 0x1bb2d94f
mov edx, 0x1e3fd21
cmove edi, edx
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0xa0]
setl cl
mov ebx, 0x1bb2d94f
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov eax, 0xd04893e1
jmp 0x468bf0
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x1bb2d94f
mov ebx, 0xf3871576
cmovne eax, ebx
test cl, cl
mov ecx, 0x1bb2d94f
cmove eax, ecx
test dl, dl
cmovne eax, ebx
nop word cs:[eax + eax]
cmp eax, 0x1e3fd20
jg 0x468c10
cmp eax, 0xd04893e1
je 0x468bb7
cmp eax, 0xf3871576
jne 0x468bf0
mov eax, edi
jmp 0x468bf0
cmp eax, 0x1e3fd21
je 0x468c30
cmp eax, 0x1bb2d94f
jne 0x468bf0
mov eax, 0xf3871576
jmp 0x468bf0
mov eax, dword [esi + 0x38]
cmp dword [esi + 0x2c], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov ecx, dword [esi + 0x24]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
mov ebx, edi
and ebx, eax
sete bl
mov edx, dword [esi + 0x10]
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmovne ebx, ecx
and edi, eax
sete byte [esi + 0x40]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge eax, ebx
mov ebx, 0xd04893e1
nop
cmp ebx, 0x1e3fd20
jg 0x468cb0
cmp ebx, 0xd04893e1
je 0x468cc7
cmp ebx, 0xf3871576
jne 0x468c90
mov ebx, eax
jmp 0x468c90
cmp ebx, 0x1e3fd21
je 0x468d00
cmp ebx, 0x1bb2d94f
jne 0x468c90
mov ebx, 0xf3871576
jmp 0x468c90
movzx edx, byte [esi + 0x40]
mov ch, byte [esi + 0xa0]
mov cl, dl
xor cl, ch
test ch, ch
mov ebx, 0x1bb2d94f
mov dword [esi + 0x14], edi
mov edi, 0xf3871576
cmovne ebx, edi
test dl, dl
mov edx, 0x1bb2d94f
cmove ebx, edx
test cl, cl
cmovne ebx, edi
mov edi, dword [esi + 0x14]
jmp 0x468c90
mov eax, dword [esi + 0x38]
cmp dword [esi + 0x2c], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
cmp byte [esi + 0x20], 0
je 0x468b7f
test al, 1
jne 0x468100
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov dword [esi + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x20], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0x18]
jmp 0x468d54
add dword [esi + 0x10], 8
lea eax, [edi + 1]
mov dword [esi + 0x18], edi
imul eax, edi
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
setne al
cmp dword [esi + 0x28], 0xa
setge cl
mov ah, cl
xor ah, al
or cl, al
xor cl, 1
or cl, ah
mov byte [esi + 0x34], cl
jne 0x468e54
mov ecx, dword [esi + 0x1c]
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
test ebx, ebx
sete al
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne eax, ecx
test ebx, ebx
sete byte [esi + 0x40]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge edi, eax
mov eax, 0xff93f7cc
jmp 0x468de0
mov eax, edi
nop word cs:[eax + eax]
cmp eax, 0xcad2cb8c
jg 0x468e00
cmp eax, 0xa3d2977a
je 0x468dcf
cmp eax, 0xc0943188
jne 0x468de0
mov eax, 0xa3d2977a
jmp 0x468de0
cmp eax, 0xcad2cb8d
je 0x468e40
cmp eax, 0xff93f7cc
jne 0x468de0
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov ah, cl
xor ah, al
mov ebx, 0xc0943188
mov edx, 0xa3d2977a
cmovne ebx, edx
test al, al
mov eax, ebx
cmovne eax, edx
test cl, cl
cmove eax, ebx
jmp 0x468de0
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov eax, dword [esi + 0x1c]
lea ebx, [eax + 1]
imul ebx, eax
mov eax, ebx
and eax, 1
sete al
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl ah
xor ah, al
mov edi, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne edi, ecx
and ebx, 1
sete byte [esi + 0x40]
mov eax, edi
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge eax, edi
mov edi, 0xff93f7cc
nop dword [eax + eax]
cmp edi, 0xcad2cb8c
jg 0x468ec0
cmp edi, 0xa3d2977a
je 0x468f04
cmp edi, 0xc0943188
jne 0x468ea0
mov edi, 0xa3d2977a
jmp 0x468ea0
cmp edi, 0xcad2cb8d
je 0x468f10
cmp edi, 0xff93f7cc
jne 0x468ea0
mov dh, byte [esi + 0x40]
movzx ecx, byte [esi + 0xa0]
mov ch, dh
xor ch, cl
test cl, cl
mov edi, 0xc0943188
mov dword [esi + 0x24], ebx
mov ebx, 0xa3d2977a
cmovne edi, ebx
test dh, dh
mov edx, 0xc0943188
cmove edi, edx
test ch, ch
cmovne edi, ebx
mov ebx, dword [esi + 0x24]
jmp 0x468ea0
mov edi, eax
jmp 0x468ea0
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
cmp byte [esi + 0x34], 0
je 0x468d93
test al, 1
jne 0x468b30
mov ecx, dword [0x60a970]
mov eax, dword [0x60a974]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x7a659f1e
mov edi, 0x3b451eaf
cmovne ecx, edi
cmp edx, 0xffffffff
sete byte [esi + 0x40]
mov edx, ecx
cmove edx, edi
cmp eax, 0xa
setl byte [esi + 0xa0]
cmovge edx, ecx
mov eax, 0xdbf7d62a
mov edi, dword [esi + 0x18]
nop dword [eax + eax]
cmp eax, 0x3b451eae
jg 0x468fb0
cmp eax, 0xdbf7d62a
je 0x468fc5
cmp eax, 0x23248e6d
jne 0x468f90
mov eax, edx
jmp 0x468f90
cmp eax, 0x3b451eaf
je 0x469000
cmp eax, 0x7a659f1e
jne 0x468f90
mov eax, 0x23248e6d
jmp 0x468f90
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov ch, cl
xor ch, al
test al, al
mov eax, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne eax, ebx
test cl, cl
mov edi, 0x7a659f1e
cmove eax, edi
mov edi, dword [esi + 0x18]
test ch, ch
cmovne eax, ebx
jmp 0x468f90
mov eax, dword [esi + 0x10]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x468d50
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov edi, dword [0x60a948]
mov eax, dword [0x60a94c]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x468d50
mov edi, 0xa
jmp 0x46906c
lea ecx, [esi + 0x220]
call fcn.0043a730
mov edi, dword [esi + 0x68]
cmp edi, 0x1f3
ja 0x46ae87
mov ecx, dword [0x60a948]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a94c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x4690a1
or cl, al
test cl, 1
jne 0x4690da
lea ecx, [esi + 0x220]
call fcn.004376b0
mov edx, dword [0x60a948]
mov ecx, dword [0x60a94c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
mov dword [esi + 0x28], ecx
cmp ecx, 0xa
setl cl
test cl, al
jne 0x4690e7
xor cl, al
jne 0x4690e7
lea ecx, [esi + 0x220]
call fcn.004376b0
jmp 0x4690a1
mov dword [esi + 0x18], edx
lea eax, [edi + 1]
mov dword [esi + 0x68], eax
imul eax, edi
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x3c], eax
xor edx, edx
div edi
nop
mov dword [esi + 0x14], ecx
mov ebx, eax
imul ebx, ecx
mov edx, eax
mulx ecx, edx, eax
add ebx, ebx
add ebx, ecx
mov edi, dword [esi + 0x3c]
cmp edx, edi
sbb ebx, 0
jae 0x46986e
sub edi, eax
mov edx, edi
mov dword [esi + 0x2c], edi
mov ecx, 0
mov ebx, dword [esi + 0x14]
sbb ecx, ebx
mov dword [esi + 0x34], ecx
mov edi, eax
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push edx
mov dword [esi + 0x20], eax
call fcn.005ce830
mov dword [esi + 0x1c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x38], edx
mov edx, eax
mov dword [esi + 0x10], ebx
imul edx, ebx
mov ebx, dword [esi + 0x1c]
add ecx, edx
mov edx, ebx
mov dword [esi + 0x24], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x2c]
sub ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
sbb edi, edx
or edi, ecx
mov ecx, dword [esi + 0x20]
je 0x4691a0
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 0x10]
jmp 0x469760
mov edx, dword [esi + 0x14]
mov dword [esi + 0x124], edx
mov dword [esi + 0x120], ecx
mov dword [esi + 0x12c], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x128], eax
mov dword [esi + 0x4e8], 9
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ecx, 0x2e15417a
mov ebx, dword [esi + 0x18]
lea eax, [esi + 0xa0]
nop dword [eax]
cmp ecx, 0x17af7ff1
jg 0x469240
cmp ecx, 0x8241d35c
je 0x469280
cmp ecx, 0xe4607b2d
jne 0x469220
jmp 0x4692e0
cmp ecx, 0x17af7ff2
je 0x469310
cmp ecx, 0x2e15417a
jne 0x469220
movzx eax, byte [esi + 0x104]
movzx ecx, byte [esi + 0x40]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x469216
mov dword [esi + 0x4e8], 0xb
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
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 edi, 0xe4607b2d
mov ebx, 0x17af7ff2
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
mov ebx, dword [esi + 0x18]
cmp eax, 0xa
cmovge ecx, edi
jmp 0x469216
mov dword [esi + 0x4e8], 0xb
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
mov ebx, dword [esi + 0x18]
jmp 0x469216
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x20]
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x469370
cmp eax, 0xaf287e03
je 0x4693b0
cmp eax, 0x392c4627
jne 0x469350
jmp 0x469410
cmp eax, 0x668e2124
je 0x469430
cmp eax, 0x67d88a6c
jne 0x469350
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46933c
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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 edi, 0x392c4627
mov ebx, 0x668e2124
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
mov ebx, dword [esi + 0x18]
cmp ecx, 0xa
cmovge eax, edi
jmp 0x46933c
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46933c
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x124], eax
mov dword [esi + 0x120], ebx
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x128], edx
mov dword [esi + 0x4e8], 9
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ecx, 0x2e15417a
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 0x10]
lea eax, [esi + 0xa0]
nop dword [eax]
cmp ecx, 0x17af7ff1
jg 0x4694d0
cmp ecx, 0x8241d35c
je 0x469520
cmp ecx, 0xe4607b2d
jne 0x4694b0
jmp 0x469590
cmp ecx, 0x17af7ff2
je 0x4695c0
cmp ecx, 0x2e15417a
jne 0x4694b0
movzx eax, byte [esi + 0x104]
movzx ecx, byte [esi + 0x40]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
mov edi, dword [esi + 0x10]
test al, al
cmove ecx, edx
jmp 0x4694a6
mov dword [esi + 0x4e8], 0xa
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x24]
mov eax, dword [0x60a950]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
mov eax, 0xe4607b2d
mov ecx, 0x17af7ff2
cmove eax, ecx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge eax, ecx
setl cl
xor cl, dl
mov ecx, eax
mov eax, 0x17af7ff2
cmovne ecx, eax
jmp 0x4694a6
mov dword [esi + 0x4e8], 0xa
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x24]
jmp 0x4694a6
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60a94c], 0xa
setl cl
test cl, al
jne 0x4695f0
xor cl, al
je 0x469725
nop dword [eax + eax]
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
nop dword [eax + eax]
cmp eax, 0x668e2123
jg 0x469650
cmp eax, 0xaf287e03
je 0x46968f
cmp eax, 0x392c4627
jne 0x469620
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x469620
cmp eax, 0x668e2124
je 0x4696f0
cmp eax, 0x67d88a6c
jne 0x469620
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
mov edi, dword [esi + 0x10]
test cl, cl
cmove eax, edx
jmp 0x469620
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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, 0x392c4627
mov edi, 0x668e2124
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x10]
cmp ecx, 0xa
cmovge eax, edx
jmp 0x469620
mov eax, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x28], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x469760
or dl, cl
je 0x469760
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
jmp 0x4697c0
test eax, eax
setne cl
sete dl
cmp dword [esi + 0x28], 0xa
setge dh
setl ah
xor ah, dl
or dh, cl
xor dh, 1
or dh, ah
cmp dh, 1
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
je 0x469850
jmp 0x469868
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
mov edi, dword [esi + 0x10]
nop
cmp eax, 0x668e2123
jg 0x4697f0
cmp eax, 0xaf287e03
je 0x469804
cmp eax, 0x392c4627
jne 0x4697c0
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x4697c0
cmp eax, 0x668e2124
je 0x4695f0
cmp eax, 0x67d88a6c
jne 0x4697c0
jmp 0x46978f
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
jmp 0x4697b9
mov edi, ecx
mov ebx, eax
add eax, 1
adc ecx, 0
test dh, dh
jne 0x469100
add ebx, 2
adc edi, 0
mov eax, ebx
mov ecx, edi
jmp 0x469850
mov edi, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov eax, ecx
sub eax, edi
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
mov ebx, dword [esi + 0x18]
jb 0x469a31
mov dword [esi + 0x34], 1
mov dword [esi + 0x2c], 0
mov dword [esi + 0x3c], 0xffffffff
jmp 0x4698e0
mov edx, dword [esi + 0x34]
inc edx
mov edi, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov dword [esi + 0x38], ecx
sub ecx, edi
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x2c], 0xc
dec dword [esi + 0x3c]
mov dword [esi + 0x34], edx
cmp edx, ecx
jae 0x469a41
lea eax, [ebx + 1]
imul eax, ebx
test al, 1
sete dl
cmp dword [esi + 0x28], 0xa
setge dh
setl ch
xor ch, dl
jne 0x469911
or dh, al
mov edi, dword [esi + 0x3c]
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x1c], eax
test dh, 1
je 0x46992d
jmp 0x46af40
mov edi, dword [esi + 0x3c]
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x1c], eax
jmp 0x46992d
mov ecx, dword [esi + 0x10]
add ecx, 0xfffffff4
inc edi
je 0x469a10
mov dword [esi + 0x24], edi
mov edx, dword [esi + 0x220]
mov eax, dword [edx + ecx]
mov dword [esi + 0x14], eax
mov edi, ebx
inc ebx
imul ebx, edi
mov eax, ebx
xor eax, 0xfffffffe
and eax, ebx
mov dword [esi + 0x10], ecx
mov ecx, dword [edx + ecx + 0xc]
mov dword [esi + 0x20], ecx
mov ecx, dword [ecx]
mov ebx, dword [esi + 0x14]
cmp ecx, dword [ebx]
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 4]
mov ebx, dword [esi + 0x14]
sbb ecx, dword [ebx + 4]
jge 0x469a0e
dec dword [esi + 0x1c]
test eax, eax
sete ah
setne al
cmp dword [esi + 0x28], 0xa
setl ch
setge cl
cmp ch, ah
jne 0x4699a0
or cl, al
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x10]
jne 0x4699f8
jmp 0x4699b0
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x10]
nop word cs:[eax + eax]
lea ecx, [edx + ebx]
add ecx, 0xc
add edx, ebx
push edx
call fcn.0043a040
mov ebx, dword [0x60a948]
mov edx, dword [0x60a94c]
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
sete cl
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x469920
xor dl, cl
jne 0x469920
mov edx, dword [esi + 0x220]
mov ebx, dword [esi + 0x10]
lea ecx, [edx + ebx]
add ecx, 0xc
add edx, ebx
push edx
call fcn.0043a040
mov edx, dword [esi + 0x220]
jmp 0x4699b0
mov ebx, edi
test eax, eax
sete cl
cmp dword [esi + 0x28], 0xa
setl dl
test cl, dl
jne 0x4698b0
xor cl, dl
jne 0x4698b0
jmp 0x46af60
mov dword [esi + 0x38], ecx
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
test eax, eax
sete dl
setne al
cmp dword [esi + 0x28], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x469a69
or al, cl
je 0x469a69
jmp 0x46af90
mov edi, dword [esi + 0x2c]
add edi, 0xc
mov ebx, dword [esi + 0x18]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x18], ebx
lea eax, [ebx - 1]
imul eax, ebx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp dword [esi + 0x28], 0xa
setl cl
or cl, al
mov byte [esi + 0x20], cl
mov ecx, dword [0x60a960]
mov eax, dword [0x60a964]
mov dword [esi + 0x10], eax
mov dword [esi + 0x24], ecx
jne 0x469b74
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
test edi, edi
sete al
mov edx, dword [esi + 0x10]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmovne eax, ecx
test edi, edi
sete byte [esi + 0x40]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge edi, eax
mov eax, 0xd04893e1
mov ebx, dword [esi + 0x2c]
jmp 0x469b20
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov edx, ecx
xor dl, al
mov edx, 0x1bb2d94f
mov ebx, 0xf3871576
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
mov ebx, dword [esi + 0x2c]
test cl, cl
cmove eax, edx
nop word cs:[eax + eax]
cmp eax, 0x1e3fd20
jg 0x469b40
cmp eax, 0xd04893e1
je 0x469aeb
cmp eax, 0xf3871576
jne 0x469b20
mov eax, edi
jmp 0x469b20
cmp eax, 0x1e3fd21
je 0x469b60
cmp eax, 0x1bb2d94f
jne 0x469b20
mov eax, 0xf3871576
jmp 0x469b20
cmp ebx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov ecx, dword [esi + 0x24]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
mov ebx, edi
and ebx, eax
sete bl
mov edx, dword [esi + 0x10]
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmovne ebx, ecx
and edi, eax
sete byte [esi + 0x40]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge eax, ebx
mov ebx, 0xd04893e1
nop dword [eax + eax]
cmp ebx, 0x1e3fd20
jg 0x469be0
cmp ebx, 0xd04893e1
je 0x469bf7
cmp ebx, 0xf3871576
jne 0x469bc0
mov ebx, eax
jmp 0x469bc0
cmp ebx, 0x1e3fd21
je 0x469c30
cmp ebx, 0x1bb2d94f
jne 0x469bc0
mov ebx, 0xf3871576
jmp 0x469bc0
movzx edx, byte [esi + 0x40]
mov ch, byte [esi + 0xa0]
mov cl, dl
xor cl, ch
test ch, ch
mov ebx, 0x1bb2d94f
mov dword [esi + 0x14], edi
mov edi, 0xf3871576
cmovne ebx, edi
test dl, dl
mov edx, 0x1bb2d94f
cmove ebx, edx
test cl, cl
cmovne ebx, edi
mov edi, dword [esi + 0x14]
jmp 0x469bc0
mov eax, dword [esi + 0x38]
cmp dword [esi + 0x2c], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
cmp byte [esi + 0x20], 0
mov ebx, dword [esi + 0x18]
je 0x469aac
test al, 1
jne 0x46905e
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov dword [esi + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x20], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x469c84
add dword [esi + 0x10], 8
lea eax, [ebx + 1]
mov dword [esi + 0x18], ebx
imul eax, ebx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp dword [esi + 0x28], 0xa
setl cl
or cl, al
mov byte [esi + 0x34], cl
jne 0x469d64
mov eax, dword [esi + 0x1c]
lea ebx, [eax - 1]
imul ebx, eax
and ebx, 1
test ebx, ebx
sete byte [esi + 0x40]
sete al
mov ebx, 0xc0943188
mov edx, 0xcad2cb8d
cmove ebx, edx
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0xa0]
setl cl
mov edi, 0xc0943188
cmovge ebx, edi
xor cl, al
cmovne ebx, edx
mov edi, 0xff93f7cc
jmp 0x469cf0
mov edi, ebx
cmp edi, 0xcad2cb8c
jg 0x469d10
cmp edi, 0xa3d2977a
je 0x469cee
cmp edi, 0xc0943188
jne 0x469cf0
mov edi, 0xa3d2977a
jmp 0x469cf0
cmp edi, 0xcad2cb8d
je 0x469d50
cmp edi, 0xff93f7cc
jne 0x469cf0
movzx eax, byte [esi + 0x40]
movzx ecx, byte [esi + 0xa0]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xc0943188
mov ecx, 0xa3d2977a
cmovne edi, ecx
test al, al
mov eax, 0xc0943188
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x469cf0
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov ecx, dword [esi + 0x1c]
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
mov edi, ebx
and edi, eax
sete ch
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl cl
xor cl, ch
mov edi, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne edi, ecx
and ebx, eax
sete byte [esi + 0x40]
mov eax, edi
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge eax, edi
mov edi, 0xff93f7cc
nop
cmp edi, 0xcad2cb8c
jg 0x469dd0
cmp edi, 0xa3d2977a
je 0x469e10
cmp edi, 0xc0943188
jne 0x469db0
mov edi, 0xa3d2977a
jmp 0x469db0
cmp edi, 0xcad2cb8d
je 0x469e20
cmp edi, 0xff93f7cc
jne 0x469db0
mov dh, byte [esi + 0x40]
mov byte [esi + 0x24], dh
mov ch, byte [esi + 0xa0]
xor dh, ch
mov edx, 0xc0943188
mov edi, 0xa3d2977a
cmovne edx, edi
test ch, ch
mov edi, edx
mov ecx, 0xa3d2977a
cmovne edi, ecx
cmp byte [esi + 0x24], 0
cmove edi, edx
jmp 0x469db0
mov edi, eax
jmp 0x469db0
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
cmp byte [esi + 0x34], 0
je 0x469cb6
test al, 1
jne 0x469a60
mov ecx, dword [0x60a970]
mov eax, dword [0x60a974]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x7a659f1e
mov ebx, 0x3b451eaf
cmovne edi, ebx
test ecx, edx
sete byte [esi + 0x40]
mov edx, edi
cmove edx, ebx
cmp eax, 0xa
setl byte [esi + 0xa0]
cmovge edx, edi
mov eax, 0xdbf7d62a
mov ebx, dword [esi + 0x18]
nop word cs:[eax + eax]
cmp eax, 0x3b451eae
jg 0x469ec0
cmp eax, 0xdbf7d62a
je 0x469ed5
cmp eax, 0x23248e6d
jne 0x469ea0
mov eax, edx
jmp 0x469ea0
cmp eax, 0x3b451eaf
je 0x469f10
cmp eax, 0x7a659f1e
jne 0x469ea0
mov eax, 0x23248e6d
jmp 0x469ea0
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov ah, cl
xor ah, al
mov edi, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
mov ebx, dword [esi + 0x18]
test cl, cl
cmove eax, edi
jmp 0x469ea0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x469c80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov ebx, dword [0x60a948]
mov eax, dword [0x60a94c]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x469c80
mov edi, 0xa
jmp 0x469f7c
lea ecx, [esi + 0x220]
call fcn.0043a730
mov edi, dword [esi + 0x68]
cmp edi, 0x1f3
ja 0x46ae91
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60a94c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x469fb5
or cl, al
jne 0x469ff0
lea ecx, [esi + 0x220]
call fcn.004376b0
mov edx, dword [0x60a948]
mov ecx, dword [0x60a94c]
lea eax, [edx + 1]
mov ebx, edx
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
mov dword [esi + 0x28], ecx
cmp ecx, 0xa
setl cl
test cl, al
jne 0x469ffd
xor cl, al
jne 0x469ffd
lea ecx, [esi + 0x220]
call fcn.004376b0
jmp 0x469fb5
lea eax, [edi + 1]
mov dword [esi + 0x68], eax
imul eax, edi
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x3c], eax
xor edx, edx
div edi
mov dword [esi + 0x18], ebx
mov ebx, eax
nop word cs:[eax + eax]
mov eax, ebx
imul eax, ecx
mov edx, ebx
mov edi, ecx
mulx ecx, edx, ebx
add eax, eax
add eax, ecx
mov ecx, dword [esi + 0x3c]
cmp edx, ecx
sbb eax, 0
jae 0x46a78e
sub ecx, ebx
mov dword [esi + 0x1c], ecx
mov eax, 0
sbb eax, edi
mov dword [esi + 0x24], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebx
mov edi, ebx
add edi, 1
mov ebx, dword [esi + 0x10]
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005ce830
mov dword [esi + 0x20], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x34], edx
mov edx, eax
mov dword [esi + 0x38], ebx
imul edx, ebx
mov ebx, dword [esi + 0x20]
add ecx, edx
mov edx, ebx
mov dword [esi + 0x2c], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x1c]
sub ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x24]
sbb edi, edx
or edi, ecx
je 0x46a0c0
mov edi, dword [esi + 0x18]
lea ecx, [edi + 1]
imul ecx, edi
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov ebx, dword [esi + 0x14]
jmp 0x46a670
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x124], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x120], ecx
mov dword [esi + 0x12c], ebx
mov dword [esi + 0x24], eax
mov dword [esi + 0x128], eax
mov dword [esi + 0x4e8], 3
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov edi, 0x2e15417a
mov ebx, dword [esi + 0x14]
lea eax, [esi + 0xa0]
cmp edi, 0x17af7ff1
jg 0x46a160
cmp edi, 0x8241d35c
je 0x46a1b0
cmp edi, 0xe4607b2d
jne 0x46a140
jmp 0x46a210
cmp edi, 0x17af7ff2
je 0x46a240
cmp edi, 0x2e15417a
jne 0x46a140
movzx eax, byte [esi + 0x104]
movzx ecx, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xe4607b2d
mov ecx, 0x8241d35c
cmovne edi, ecx
test al, al
mov eax, 0xe4607b2d
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x46a13a
mov dword [esi + 0x4e8], 5
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ebx, dword [esi + 0x14]
mov eax, dword [0x60a950]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xe4607b2d
mov edx, 0x17af7ff2
cmove edi, edx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x46a13a
mov dword [esi + 0x4e8], 5
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov edi, 0x8241d35c
mov ebx, dword [esi + 0x14]
jmp 0x46a13a
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x24]
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x46a2a0
cmp eax, 0xaf287e03
je 0x46a2f0
cmp eax, 0x392c4627
jne 0x46a280
jmp 0x46a350
cmp eax, 0x668e2124
je 0x46a370
cmp eax, 0x67d88a6c
jne 0x46a280
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x46a26b
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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 edi, 0x392c4627
mov ebx, 0x668e2124
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
mov ebx, dword [esi + 0x14]
cmp ecx, 0xa
cmovge eax, edi
jmp 0x46a26b
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46a26b
mov eax, dword [esi + 0x20]
mov dword [esi + 0x124], eax
mov dword [esi + 0x120], edx
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x128], ebx
mov dword [esi + 0x4e8], 3
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov edi, 0x2e15417a
mov ebx, dword [esi + 0x14]
lea eax, [esi + 0xa0]
nop dword [eax]
cmp edi, 0x17af7ff1
jg 0x46a410
cmp edi, 0x8241d35c
je 0x46a460
cmp edi, 0xe4607b2d
jne 0x46a3f0
jmp 0x46a4c0
cmp edi, 0x17af7ff2
je 0x46a4f0
cmp edi, 0x2e15417a
jne 0x46a3f0
movzx eax, byte [esi + 0x104]
movzx ecx, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xe4607b2d
mov ecx, 0x8241d35c
cmovne edi, ecx
test al, al
mov eax, 0xe4607b2d
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x46a3e3
mov dword [esi + 0x4e8], 4
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov ebx, dword [esi + 0x14]
mov eax, dword [0x60a950]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xe4607b2d
mov edx, 0x17af7ff2
cmove edi, edx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x46a3e3
mov dword [esi + 0x4e8], 4
lea ecx, [esi + 0x220]
push eax
call fcn.00437f80
mov edi, 0x8241d35c
mov ebx, dword [esi + 0x14]
jmp 0x46a3e3
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60a94c], 0xa
setl cl
test cl, al
jne 0x46a520
xor cl, al
je 0x46a63d
nop dword [eax + eax]
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
nop dword [eax]
cmp eax, 0x668e2123
jg 0x46a580
cmp eax, 0xaf287e03
je 0x46a5bc
cmp eax, 0x392c4627
jne 0x46a550
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46a550
cmp eax, 0x668e2124
je 0x46a610
cmp eax, 0x67d88a6c
jne 0x46a550
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46a550
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x46a550
mov edi, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [edi + 1]
imul ecx, edi
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x46a670
xor dl, cl
jne 0x46a670
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x104]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
jmp 0x46a6f0
mov dword [esi + 0x18], edi
test eax, eax
sete cl
cmp dword [esi + 0x28], 0xa
setl al
or al, cl
cmp al, 1
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x2c]
mov edi, dword [esi + 0x38]
je 0x46a770
jmp 0x46a788
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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, 0x392c4627
mov edi, 0x668e2124
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x46a720
cmp eax, 0xaf287e03
je 0x46a697
cmp eax, 0x392c4627
jne 0x46a6f0
lea ecx, [esi + 0xa0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46a6f0
cmp eax, 0x668e2124
je 0x46a520
cmp eax, 0x67d88a6c
jne 0x46a6f0
movzx ecx, byte [esi + 0x104]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x46a6f0
mov edi, ecx
mov edx, ebx
add ebx, 1
adc ecx, 0
test al, al
jne 0x46a020
add edx, 2
adc edi, 0
mov ebx, edx
mov ecx, edi
jmp 0x46a770
mov ebx, dword [esi + 0x220]
mov edx, dword [esi + 0x224]
mov eax, edx
sub eax, ebx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
mov edi, dword [esi + 0x18]
jb 0x46a941
mov dword [esi + 0x1c], 1
mov dword [esi + 0x34], 0
mov dword [esi + 0x2c], 0xffffffff
jmp 0x46a802
mov edi, dword [esi + 0x1c]
inc edi
mov ebx, dword [esi + 0x220]
mov edx, dword [esi + 0x224]
mov ecx, edx
sub ecx, ebx
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x34], 0xc
dec dword [esi + 0x2c]
mov dword [esi + 0x1c], edi
cmp edi, ecx
mov edi, dword [esi + 0x18]
jae 0x46a94e
lea eax, [edi + 1]
mov dword [esi + 0x18], edi
imul eax, edi
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
setne al
cmp dword [esi + 0x28], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x46a83b
or cl, al
mov ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
je 0x46a85d
jmp 0x46af50
mov ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
jmp 0x46a85d
add edi, 0xfffffff4
mov ecx, dword [esi + 0x20]
inc ecx
je 0x46a920
mov dword [esi + 0x20], ecx
mov edx, dword [esi + 0x220]
mov eax, dword [edx + edi]
mov dword [esi + 0x10], eax
mov ebx, dword [edx + edi + 0xc]
mov dword [esi + 0x14], ebx
mov ecx, dword [esi + 0x18]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
mov ecx, dword [ebx]
mov ebx, dword [esi + 0x10]
cmp ecx, dword [ebx]
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 4]
sbb ecx, dword [ebx + 4]
jge 0x46a920
dec dword [esi + 0x24]
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test cl, al
jne 0x46a8b0
xor cl, al
je 0x46a8ff
nop dword [eax]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov eax, dword [0x60a948]
mov ebx, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov eax, ecx
and eax, 1
sete dh
mov dword [esi + 0x28], ebx
cmp ebx, 0xa
setl bl
setge dl
cmp bl, dh
jne 0x46a850
or dl, cl
test dl, 1
je 0x46a850
mov edx, dword [esi + 0x220]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov edx, dword [esi + 0x220]
jmp 0x46a8b0
test eax, eax
sete cl
cmp dword [esi + 0x28], 0xa
setl dl
test cl, dl
jne 0x46a7d0
xor cl, dl
jne 0x46a7d0
jmp 0x46af70
lea ecx, [edi + 1]
imul ecx, edi
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov dword [esi + 0x38], edx
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test al, cl
jne 0x46a979
xor al, cl
jne 0x46a979
jmp 0x46af80
mov ebx, dword [esi + 0x2c]
add ebx, 0xc
mov edi, dword [esi + 0x18]
lea ecx, [edi + 1]
mov dword [esi + 0x18], edi
imul ecx, edi
test cl, 1
sete dl
cmp dword [esi + 0x28], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov edx, dword [0x60a960]
mov ecx, dword [0x60a964]
mov dword [esi + 0x10], ecx
mov byte [esi + 0x20], al
test al, 1
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x24], edx
jne 0x46aa84
lea edi, [edx + 1]
imul edi, edx
and edi, 1
test edi, edi
sete cl
mov eax, dword [esi + 0x10]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x1bb2d94f
mov edx, 0x1e3fd21
cmovne ecx, edx
test edi, edi
sete byte [esi + 0x40]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 0xa0]
cmovge edi, ecx
mov ecx, 0xd04893e1
jmp 0x46aa30
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0xa0]
mov ah, dl
xor ah, cl
mov ebx, 0x1bb2d94f
mov eax, 0xf3871576
cmovne ebx, eax
test cl, cl
mov ecx, ebx
cmovne ecx, eax
test dl, dl
cmove ecx, ebx
mov ebx, dword [esi + 0x2c]
nop word [eax + eax]
cmp ecx, 0x1e3fd20
jg 0x46aa50
cmp ecx, 0xd04893e1
je 0x46a9ff
cmp ecx, 0xf3871576
jne 0x46aa30
mov ecx, edi
jmp 0x46aa30
cmp ecx, 0x1e3fd21
je 0x46aa70
cmp ecx, 0x1bb2d94f
jne 0x46aa30
mov ecx, 0xf3871576
jmp 0x46aa30
cmp ebx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
mov edx, dword [esi + 0x24]
lea ecx, [edx + 1]
imul ecx, edx
mov edi, ecx
xor edi, 0xfffffffe
mov ebx, edi
and ebx, ecx
sete ah
mov edx, dword [esi + 0x10]
cmp edx, 0xa
setl bl
xor bl, ah
mov ebx, 0x1bb2d94f
mov eax, 0x1e3fd21
cmovne ebx, eax
and edi, ecx
sete byte [esi + 0x40]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge ecx, ebx
mov ebx, 0xd04893e1
nop dword [eax + eax]
cmp ebx, 0x1e3fd20
jg 0x46aaf0
cmp ebx, 0xd04893e1
je 0x46ab07
cmp ebx, 0xf3871576
jne 0x46aad0
mov ebx, ecx
jmp 0x46aad0
cmp ebx, 0x1e3fd21
je 0x46ab40
cmp ebx, 0x1bb2d94f
jne 0x46aad0
mov ebx, 0xf3871576
jmp 0x46aad0
movzx edx, byte [esi + 0x40]
movzx ebx, byte [esi + 0xa0]
mov ah, dl
xor ah, bl
test bl, bl
mov ebx, 0x1bb2d94f
mov dword [esi + 0x14], edi
mov edi, 0xf3871576
cmovne ebx, edi
test dl, dl
mov edx, 0x1bb2d94f
cmove ebx, edx
test ah, ah
cmovne ebx, edi
mov edi, dword [esi + 0x14]
jmp 0x46aad0
mov ebx, dword [esi + 0x2c]
cmp ebx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
test byte [esi + 0x20], 1
je 0x46a9c3
test cl, 1
jne 0x469f6e
mov eax, dword [ebx]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0x18]
jmp 0x46ab94
add dword [esi + 0x10], 8
lea eax, [edi + 1]
mov dword [esi + 0x18], edi
imul eax, edi
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
setne al
sete ah
cmp dword [esi + 0x28], 0xa
setge cl
setl dh
xor dh, ah
or cl, al
xor cl, 1
or cl, dh
mov byte [esi + 0x34], cl
jne 0x46ac84
mov eax, dword [esi + 0x1c]
lea ebx, [eax - 1]
imul ebx, eax
and ebx, 1
test ebx, ebx
sete al
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne eax, ecx
test ebx, ebx
sete byte [esi + 0x40]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge edi, eax
mov eax, 0xff93f7cc
jmp 0x46ac10
mov eax, edi
cmp eax, 0xcad2cb8c
jg 0x46ac30
cmp eax, 0xa3d2977a
je 0x46ac0e
cmp eax, 0xc0943188
jne 0x46ac10
mov eax, 0xa3d2977a
jmp 0x46ac10
cmp eax, 0xcad2cb8d
je 0x46ac70
cmp eax, 0xff93f7cc
jne 0x46ac10
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov ah, cl
xor ah, al
mov ebx, 0xc0943188
mov edx, 0xa3d2977a
cmovne ebx, edx
test al, al
mov eax, ebx
cmovne eax, edx
test cl, cl
cmove eax, ebx
jmp 0x46ac10
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov eax, dword [esi + 0x1c]
lea ebx, [eax + 1]
imul ebx, eax
mov eax, ebx
and eax, 1
sete al
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl ah
xor ah, al
mov edi, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne edi, ecx
and ebx, 1
sete byte [esi + 0x40]
mov eax, edi
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0xa0]
cmovge eax, edi
mov edi, 0xff93f7cc
nop dword [eax + eax]
cmp edi, 0xcad2cb8c
jg 0x46acf0
cmp edi, 0xa3d2977a
je 0x46ad34
cmp edi, 0xc0943188
jne 0x46acd0
mov edi, 0xa3d2977a
jmp 0x46acd0
cmp edi, 0xcad2cb8d
je 0x46ad40
cmp edi, 0xff93f7cc
jne 0x46acd0
mov dh, byte [esi + 0x40]
movzx ecx, byte [esi + 0xa0]
mov ch, cl
xor ch, dh
test cl, cl
mov edi, 0xc0943188
mov dword [esi + 0x24], ebx
mov ebx, 0xa3d2977a
cmovne edi, ebx
test dh, dh
mov edx, 0xc0943188
cmove edi, edx
test ch, ch
cmovne edi, ebx
mov ebx, dword [esi + 0x24]
jmp 0x46acd0
mov edi, eax
jmp 0x46acd0
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
cmp byte [esi + 0x34], 0
je 0x46abd2
test al, 1
jne 0x46a970
mov eax, dword [0x60a970]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x60a974]
sete byte [esi + 0x40]
sete cl
mov edx, 0x7a659f1e
mov edi, 0x3b451eaf
cmove edx, edi
cmp eax, 0xa
setl byte [esi + 0xa0]
setl al
mov ebx, 0x7a659f1e
cmovge edx, ebx
xor al, cl
cmovne edx, edi
mov eax, 0xdbf7d62a
mov edi, dword [esi + 0x18]
nop word cs:[eax + eax]
cmp eax, 0x3b451eae
jg 0x46ade0
cmp eax, 0xdbf7d62a
je 0x46ae00
cmp eax, 0x23248e6d
jne 0x46adc0
mov eax, edx
jmp 0x46adc0
cmp eax, 0x3b451eaf
je 0x46ae30
cmp eax, 0x7a659f1e
jne 0x46adc0
mov eax, 0x23248e6d
jmp 0x46adc0
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0xa0]
mov ah, cl
xor ah, al
mov edi, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test cl, cl
cmove eax, edi
jmp 0x46adb0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x46ab90
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov edi, dword [0x60a948]
mov eax, dword [0x60a94c]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x46ab90
mov eax, 0x8f64b28b
jmp 0x4670f8
mov edx, dword [0x60a940]
mov ecx, dword [0x60a944]
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, 0xf6b010f0
mov edi, 0xcf0dcdb6
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4670f8
jmp 0x46aee0
jmp 0x46aef0
jmp 0x46af00
jmp 0x46af10
jmp 0x46af20
jmp 0x46af30
jmp 0x46af40
jmp 0x46af50
jmp 0x46af60
jmp 0x46af70
jmp 0x46af80
jmp 0x46af90
mov eax, 0xffbc6e03
mov ecx, 0x6fa90276
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov ecx, 0xf06d4638
mov eax, 0x8aea748b
mov dword [esi + 0x68], ecx
mov edx, 0x9ade0f6f
mov ecx, 0x6fa9361a
mov dword [esi + 0x70], edx
xor edi, edi
lea edx, [esi + 0x220]
mov edi, dword [0x60a848]
lea ebx, [edi + 1]
imul ebx, edi
mov edi, ebx
xor edi, 0xfffffffe
test edi, ebx
mov edi, dword [esi + 0x14]
mov dword [esi + 0xa4], edi
mov edi, dword [esi + 0x10]
mov dword [esi + 0xa0], edi
mov dword [esi + 0xac], eax
mov edi, dword [esi + 0x68]
mov dword [esi + 0xa8], edi
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x224], ecx
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x220], ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0x22c], eax
mov dword [esi + 0x228], edi
vmovaps xmm0, xmmword [edx]
sete byte [esi + 0x34c]
mov edx, 0x332b6ef5
mov eax, 0x224ba512
cmove eax, edx
sete bl
mov ecx, dword [0x60a84c]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ecx, 0x224ba512
cmovge eax, ecx
setl bh
xor bh, bl
cmovne eax, edx
vmovaps xmm1, xmmword [esi + 0xa0]
vandnps xmm2, xmm1, xmm0
vandnps xmm0, xmm0, xmm1
vorps xmm0, xmm2, xmm0
mov edi, 0x84a35f8c
mov edx, 0xf8d3d77
nop word cs:[eax + eax]
cmp edi, 0x224ba511
jle 0x46b0a0
cmp edi, 0x224ba512
je 0x46b0b4
cmp edi, 0x332b6ef5
jne 0x46b080
jmp 0x46b0e4
cmp edi, 0x84a35f8c
je 0x46b0bb
cmp edi, 0xf8d3d77
jne 0x46b080
mov edi, eax
jmp 0x46b080
mov edi, 0xf8d3d77
jmp 0x46b080
movzx ecx, byte [esi + 0x34c]
mov bh, byte [esi + 0x40]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0x224ba512
cmovne edi, edx
test cl, cl
mov ecx, 0x224ba512
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x46b080
vmovaps xmmword [esi + 0x120], xmm0
vmovaps xmm0, xmmword [esi + 0x120]
mov eax, dword [0x60a850]
mov ecx, dword [0x60a854]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
sete byte [esi + 0x40]
mov edx, 0x4bd4f086
mov eax, 0xae925cc1
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0xae925cc1
cmovge eax, ecx
setl cl
setl byte [esi + 0x120]
xor cl, bl
cmovne eax, edx
mov edx, 0x47ea23b6
mov ecx, 0x91a4fdaa
nop word cs:[eax + eax]
cmp edx, 0x47ea23b5
jg 0x46b180
cmp edx, 0x91a4fdaa
je 0x46b1b5
cmp edx, 0xae925cc1
jne 0x46b150
vmovaps xmmword [esi + 0xa0], xmm0
mov edx, 0x91a4fdaa
jmp 0x46b150
cmp edx, 0x4bd4f086
je 0x46b1c1
cmp edx, 0x47ea23b6
jne 0x46b150
movzx ebx, byte [esi + 0x40]
movzx edx, byte [esi + 0x120]
mov dh, bl
xor dh, dl
mov edi, 0xae925cc1
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x46b150
vmovaps xmmword [esi + 0xa0], xmm0
mov edx, eax
jmp 0x46b150
mov dword [esi + 0x4e8], 0xffffffff
lea ecx, [esi + 0x104]
lea eax, [esi + 0xa0]
push eax
call fcn.00413ae0
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60a97c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x46b212
or cl, al
je 0x46b212
nop word [eax + eax]
jmp 0x46b210
vmovddup xmm0, qword [0x5f0f40]
vmovaps xmmword [esi + 0x4c0], xmm0
vmovddup xmm0, qword [0x5f0f48]
vmovaps xmmword [esi + 0x4b0], xmm0
mov dword [esi + 0x4e8], 0xd
push 0x1bb
push 0x5555
lea eax, [esi + 0x34c]
push eax
call fcn.00464b10
add esp, 0xc
mov ecx, dword [0x60a978]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a97c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x46b282
or cl, al
test cl, 1
jne 0x471c10
cmp dword [esi + 0x35c], 0
je 0x46f4a1
mov eax, dword [0x60a980]
mov ecx, dword [0x60a984]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x33]
cmp ecx, 0xa
setl byte [esi + 0x310]
mov eax, 0x64257b3
nop word [eax + eax]
cmp eax, 0xa6ec8f3c
jg 0x46b2e0
cmp eax, 0x8b0e733d
je 0x46b321
cmp eax, 0xa0616e46
jne 0x46b2c0
jmp 0x46b3b8
cmp eax, 0xa6ec8f3d
je 0x46b386
cmp eax, 0x64257b3
jne 0x46b2c0
movzx ecx, byte [esi + 0x33]
movzx eax, byte [esi + 0x310]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xa6ec8f3d
mov edi, 0x8b0e733d
cmovne eax, edi
test cl, cl
mov ecx, 0xa6ec8f3d
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x46b2c0
lea eax, [esi + 0x80]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov ecx, 0xa9ea3b55
mov edx, 0x6fa9361a
mov dword [eax + 4], edx
mov dword [eax], ecx
mov ecx, dword [esi + 0x78]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x68]
mov dword [eax + 8], ecx
mov eax, dword [0x60a980]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xa6ec8f3d
mov edi, 0xa0616e46
cmove eax, edi
cmp dword [0x60a984], 0xa
mov edx, 0xa6ec8f3d
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x46b2c0
mov eax, 0xa9ea3b55
mov ecx, 0x6fa9361a
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x8c], eax
mov eax, 0x8b0e733d
jmp 0x46b2c0
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x314], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x310], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x31c], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x318], eax
xor eax, eax
lea ecx, [esi + 0x310]
vmovaps xmm0, xmmword [ecx]
mov eax, dword [0x60a848]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0xf1]
mov ecx, dword [0x60a84c]
mov eax, 0x224ba512
mov edi, 0x332b6ef5
cmove eax, edi
sete dl
cmp ecx, 0xa
vmovaps xmm1, xmmword [esi + 0x80]
setl cl
setl byte [esi + 0x33]
vmovaps xmm4, xmmword [esi + 0x4c0]
vandnps xmm2, xmm1, xmm4
vandnps xmm3, xmm0, xmm4
vandnps xmm1, xmm4, xmm1
vorps xmm1, xmm2, xmm1
vandnps xmm0, xmm4, xmm0
vorps xmm0, xmm3, xmm0
vxorps xmm0, xmm1, xmm0
mov ebx, 0x224ba512
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x84a35f8c
nop word cs:[eax + eax]
cmp ecx, 0x224ba511
jle 0x46b490
cmp ecx, 0x224ba512
je 0x46b4a4
cmp ecx, 0x332b6ef5
jne 0x46b470
jmp 0x46b4da
cmp ecx, 0x84a35f8c
je 0x46b4ab
cmp ecx, 0xf8d3d77
jne 0x46b470
mov ecx, eax
jmp 0x46b470
mov ecx, 0xf8d3d77
jmp 0x46b470
movzx edx, byte [esi + 0xf1]
movzx ecx, byte [esi + 0x33]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x224ba512
mov ebx, 0xf8d3d77
cmovne ecx, ebx
test dl, dl
mov edi, 0x224ba512
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x46b470
vmovaps xmmword [esi + 0x40], xmm0
vmovaps xmm0, xmmword [esi + 0x40]
mov eax, dword [0x60a850]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x60a854]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x33]
sete cl
mov eax, 0xae925cc1
mov edi, 0x4bd4f086
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x40]
setl dl
mov ebx, 0xae925cc1
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x47ea23b6
nop dword [eax]
cmp ecx, 0x47ea23b5
jg 0x46b560
cmp ecx, 0x91a4fdaa
je 0x46b597
cmp ecx, 0xae925cc1
jne 0x46b530
vmovaps xmmword [esi + 0x80], xmm0
mov ecx, 0x91a4fdaa
jmp 0x46b530
cmp ecx, 0x4bd4f086
je 0x46b5a3
cmp ecx, 0x47ea23b6
jne 0x46b530
movzx edx, byte [esi + 0x33]
movzx ecx, byte [esi + 0x40]
mov ch, dl
xor ch, cl
mov edi, 0xae925cc1
mov ebx, 0x91a4fdaa
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x46b530
vmovaps xmmword [esi + 0x80], xmm0
mov ecx, eax
jmp 0x46b530
mov dword [esi + 0x4e8], 0xe
lea eax, [esi + 0x80]
push eax
lea eax, [esi + 0x34c]
push eax
lea eax, [esi + 0xa0]
push eax
call fcn.004726e0
add esp, 0xc
mov dword [esi + 0x4e8], 0xf
lea ecx, [esi + 0x11c]
lea eax, [esi + 0xa0]
push eax
call fcn.00466100
lea ebx, [esi + 0xa0]
mov ecx, ebx
call fcn.0040f050
mov eax, 0x9a930f33
mov ecx, 0x6fca3673
mov dword [esi + 0x124], ecx
mov dword [esi + 0x120], eax
mov eax, 0xf002464a
mov ecx, 0x8a8574f8
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x128], eax
mov eax, 0xad3525ef
mov ecx, 0xc10398f8
mov dword [esi + 0x134], ecx
mov dword [esi + 0x130], eax
mov eax, 0xfe58aa8b
mov ecx, 0xaab9ca99
mov dword [esi + 0x13c], ecx
mov dword [esi + 0x138], eax
mov eax, 0xea2d3504
mov ecx, 0xd9382142
mov dword [esi + 0x144], ecx
mov dword [esi + 0x140], eax
mov eax, 0x160ceb35
mov ecx, 0xf497ad0b
mov dword [esi + 0x14c], ecx
mov dword [esi + 0x148], eax
mov eax, 0x63c6f060
mov ecx, 0x1a896d99
mov dword [esi + 0x154], ecx
mov dword [esi + 0x150], eax
mov eax, 0x7150da8d
mov ecx, 0xbe935984
mov dword [esi + 0x15c], ecx
mov dword [esi + 0x158], eax
mov eax, 0xe7f219b2
mov ecx, 0x1d350dd2
mov dword [esi + 0x164], ecx
mov dword [esi + 0x160], eax
mov eax, 0xc7fdfa0
mov ecx, 0x60240583
mov dword [esi + 0x16c], ecx
mov dword [esi + 0x168], eax
mov edx, dword [esi + 0x9c]
mov dword [esi + 0xa4], edx
mov edx, dword [esi + 0x70]
mov dword [esi + 0xa0], edx
mov edx, dword [esi + 0x78]
mov dword [esi + 0xac], edx
mov edx, dword [esi + 0x68]
mov dword [esi + 0xa8], edx
mov edx, 0xad412589
mov edi, 0xc15498a4
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov edx, 0xfe36aae2
mov edi, 0xaad6cafd
mov dword [esi + 0xbc], edi
mov dword [esi + 0xb8], edx
mov edx, 0xea5e3573
mov edi, 0xd94b211e
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x167feb4c
mov edi, 0xf4f2ad7f
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x63b2f00d
mov edi, 0x1afa6df8
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov edx, 0x717edae6
mov edi, 0xbeeb59e1
mov dword [esi + 0xdc], edi
mov dword [esi + 0xd8], edx
mov edx, 0xe7f219d7
mov edi, 0x1d350dd2
mov dword [esi + 0xe4], edi
mov dword [esi + 0xe0], edx
mov dword [esi + 0xec], ecx
xor ecx, ecx
mov dword [esi + 0x14], ebx
mov ecx, dword [0x60a868]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], ecx
test ecx, edx
sete byte [esi + 0x33]
mov edi, 0xbe868e6
mov edx, 0x9de09c3e
cmove edi, edx
sete cl
mov ebx, dword [0x60a86c]
mov dword [esi + 0x1c], ebx
cmp ebx, 0xa
setl byte [esi + 0x80]
mov dword [esi + 0xe8], eax
mov eax, 0xbe868e6
cmovge edi, eax
setl al
xor al, cl
cmovne edi, edx
mov dword [esi + 0x10], edi
mov eax, 0x4d65b260
nop dword [eax]
cmp eax, 0xbe868e5
jg 0x46b830
cmp eax, 0x9de09c3e
je 0x46b86f
cmp eax, 0xea947fd5
jne 0x46b800
mov eax, dword [esi + 0x14]
vmovaps ymm0, ymmword [eax]
mov eax, dword [esi + 0x10]
jmp 0x46b800
cmp eax, 0xbe868e6
je 0x46b868
cmp eax, 0x4d65b260
jne 0x46b800
movzx ecx, byte [esi + 0x33]
movzx eax, byte [esi + 0x80]
mov ah, cl
xor ah, al
mov ebx, 0xbe868e6
mov edx, 0xea947fd5
cmovne ebx, edx
test al, al
mov eax, ebx
cmovne eax, edx
test cl, cl
cmove eax, ebx
jmp 0x46b800
mov eax, 0xea947fd5
jmp 0x46b800
mov eax, dword [esi + 0x24]
test dword [esi + 0x20], eax
vmovaps ymmword [esi + 0x40], ymm0
vmovaps ymm0, ymmword [esi + 0x40]
sete byte [esi + 0x33]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x80]
mov eax, 0x4d65b260
vmovaps ymm1, ymmword [esi + 0x120]
nop dword [eax + eax]
cmp eax, 0xbe868e5
jg 0x46b8c0
cmp eax, 0x9de09c3e
je 0x46b904
cmp eax, 0xea947fd5
jne 0x46b8a0
mov eax, dword [esi + 0x10]
jmp 0x46b8a0
cmp eax, 0xbe868e6
je 0x46b8fd
cmp eax, 0x4d65b260
jne 0x46b8a0
movzx ecx, byte [esi + 0x33]
movzx eax, byte [esi + 0x80]
mov ch, al
xor ch, cl
test al, al
mov eax, 0xbe868e6
mov edi, 0xea947fd5
cmovne eax, edi
test cl, cl
mov edx, 0xbe868e6
cmove eax, edx
test ch, ch
cmovne eax, edi
jmp 0x46b8a0
mov eax, 0xea947fd5
jmp 0x46b8a0
vmovaps ymmword [esi + 0x40], ymm1
vmovaps ymm1, ymmword [esi + 0x40]
mov eax, dword [0x60a870]
mov edi, dword [0x60a874]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
mov dword [esi + 0x34], ecx
mov dword [esi + 0x28], eax
test eax, ecx
sete byte [esi + 0x33]
mov eax, 0x98ec2231
mov edx, 0x69a7c597
cmove eax, edx
sete cl
mov dword [esi + 0x18], edi
cmp edi, 0xa
setl byte [esi + 0x80]
mov ebx, 0x98ec2231
cmovge eax, ebx
setl ch
xor ch, cl
vandnps ymm2, ymm1, ymm0
vandnps ymm0, ymm0, ymm1
vorps ymm0, ymm2, ymm0
cmovne eax, edx
mov ecx, 0x9216b61c
nop
cmp ecx, 0x69a7c596
jg 0x46b990
cmp ecx, 0x9216b61c
je 0x46b9a4
cmp ecx, 0x98ec2231
jne 0x46b970
mov ecx, 0x76a25eed
jmp 0x46b970
cmp ecx, 0x69a7c597
je 0x46b9d3
cmp ecx, 0x76a25eed
jne 0x46b970
mov ecx, eax
jmp 0x46b970
movzx edx, byte [esi + 0x33]
movzx ecx, byte [esi + 0x80]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x98ec2231
mov edi, 0x76a25eed
cmovne ecx, edi
test dl, dl
mov ebx, 0x98ec2231
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x46b970
vmovaps ymmword [esi + 0x40], ymm0
mov ecx, dword [esi + 0x24]
test dword [esi + 0x20], ecx
vmovaps ymm0, ymmword [esi + 0x40]
vmovaps ymmword [esi + 0x120], ymm0
sete byte [esi + 0x33]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x80]
mov ecx, 0x4d65b260
nop
cmp ecx, 0xbe868e5
jg 0x46ba30
cmp ecx, 0x9de09c3e
je 0x46ba71
cmp ecx, 0xea947fd5
jne 0x46ba00
mov ecx, dword [esi + 0x14]
vmovaps ymm0, ymmword [ecx + 0x20]
mov ecx, dword [esi + 0x10]
jmp 0x46ba00
cmp ecx, 0xbe868e6
je 0x46ba6a
cmp ecx, 0x4d65b260
jne 0x46ba00
movzx edx, byte [esi + 0x33]
movzx ecx, byte [esi + 0x80]
mov ch, dl
xor ch, cl
mov ebx, 0xbe868e6
mov edi, 0xea947fd5
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x46ba00
mov ecx, 0xea947fd5
jmp 0x46ba00
mov ecx, dword [esi + 0x24]
test dword [esi + 0x20], ecx
vmovaps ymmword [esi + 0x40], ymm0
vmovaps ymm0, ymmword [esi + 0x40]
sete byte [esi + 0x33]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x80]
mov ecx, 0x4d65b260
vmovaps ymm1, ymmword [esi + 0x140]
nop dword [eax]
cmp ecx, 0xbe868e5
jg 0x46bac0
cmp ecx, 0x9de09c3e
je 0x46bb06
cmp ecx, 0xea947fd5
jne 0x46baa0
mov ecx, dword [esi + 0x10]
jmp 0x46baa0
cmp ecx, 0xbe868e6
je 0x46baff
cmp ecx, 0x4d65b260
jne 0x46baa0
movzx edx, byte [esi + 0x33]
movzx ecx, byte [esi + 0x80]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xbe868e6
mov edi, 0xea947fd5
cmovne ecx, edi
test dl, dl
mov ebx, 0xbe868e6
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x46baa0
mov ecx, 0xea947fd5
jmp 0x46baa0
mov ecx, dword [esi + 0x28]
test dword [esi + 0x34], ecx
vmovaps ymmword [esi + 0x40], ymm1
vmovaps ymm1, ymmword [esi + 0x40]
sete byte [esi + 0x33]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x80]
vandnps ymm2, ymm1, ymm0
vandnps ymm0, ymm0, ymm1
vorps ymm0, ymm2, ymm0
mov ecx, 0x9216b61c
nop word cs:[eax + eax]
cmp ecx, 0x69a7c596
jg 0x46bb60
cmp ecx, 0x9216b61c
je 0x46bb74
cmp ecx, 0x98ec2231
jne 0x46bb40
mov ecx, 0x76a25eed
jmp 0x46bb40
cmp ecx, 0x69a7c597
je 0x46bb9e
cmp ecx, 0x76a25eed
jne 0x46bb40
mov ecx, eax
jmp 0x46bb40
movzx edx, byte [esi + 0x33]
movzx ecx, byte [esi + 0x80]
mov ch, dl
xor ch, cl
mov edi, 0x98ec2231
mov ebx, 0x76a25eed
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x46bb40
mov edx, dword [0x60a848]
mov ecx, dword [0x60a84c]
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, 0x224ba512
mov edi, 0x332b6ef5
cmovne edx, edi
vmovaps ymmword [esi + 0x40], ymm0
cmp eax, 0xffffffff
vmovaps ymm0, ymmword [esi + 0x40]
vmovaps ymmword [esi + 0x140], ymm0
mov eax, dword [esi + 0x14]
vmovaps xmm0, xmmword [eax + 0x40]
sete byte [esi + 0x33]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x80]
vmovaps xmm1, xmmword [esi + 0x160]
vmovaps xmm4, xmmword [esi + 0x4b0]
vandnps xmm2, xmm1, xmm4
vandnps xmm3, xmm0, xmm4
vandnps xmm1, xmm4, xmm1
vorps xmm1, xmm2, xmm1
vandnps xmm0, xmm4, xmm0
vorps xmm0, xmm3, xmm0
vxorps xmm0, xmm1, xmm0
cmovge eax, edx
mov ecx, 0x84a35f8c
nop word cs:[eax + eax]
cmp ecx, 0x224ba511
jle 0x46bc60
cmp ecx, 0x224ba512
je 0x46bc74
cmp ecx, 0x332b6ef5
jne 0x46bc40
jmp 0x46bcaa
cmp ecx, 0x84a35f8c
je 0x46bc7b
cmp ecx, 0xf8d3d77
jne 0x46bc40
mov ecx, eax
jmp 0x46bc40
mov ecx, 0xf8d3d77
jmp 0x46bc40
movzx edx, byte [esi + 0x33]
movzx ecx, byte [esi + 0x80]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x224ba512
mov ebx, 0xf8d3d77
cmovne ecx, ebx
test dl, dl
mov edi, 0x224ba512
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x46bc40
mov edx, dword [0x60a850]
mov ecx, dword [0x60a854]
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, 0xae925cc1
mov ebx, 0x4bd4f086
cmovne edx, ebx
test edi, eax
vmovaps xmmword [esi + 0x40], xmm0
vmovaps xmm0, xmmword [esi + 0x40]
sete byte [esi + 0x80]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x40]
cmovge eax, edx
mov ecx, 0x47ea23b6
lea ebx, [esi + 0x1d8]
nop dword [eax + eax]
cmp ecx, 0x47ea23b5
jg 0x46bd40
cmp ecx, 0x91a4fdaa
je 0x46bd84
cmp ecx, 0xae925cc1
jne 0x46bd10
vmovaps xmmword [esi + 0x160], xmm0
mov ecx, 0x91a4fdaa
jmp 0x46bd10
cmp ecx, 0x4bd4f086
je 0x46bd90
cmp ecx, 0x47ea23b6
jne 0x46bd10
movzx edx, byte [esi + 0x80]
movzx ecx, byte [esi + 0x40]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xae925cc1
mov edi, 0x91a4fdaa
cmovne ecx, edi
test dl, dl
mov edi, 0xae925cc1
cmove ecx, edi
test dh, dh
mov edx, 0x91a4fdaa
cmovne ecx, edx
jmp 0x46bd10
vmovaps xmmword [esi + 0x160], xmm0
mov ecx, eax
jmp 0x46bd10
mov dword [esi + 0x4e8], 0x10
push ebx
vzeroupper
call fcn.00466e70
add esp, 4
mov dword [esi + 0x4e8], 0x11
lea eax, [esi + 0x120]
push eax
lea eax, [esi + 0x1d8]
push eax
lea eax, [esi + 0x310]
push eax
call fcn.00466f50
add esp, 0xc
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a97c], 0xa
setl cl
test cl, al
jne 0x46be00
xor cl, al
je 0x46bf05
nop dword [eax]
lea ecx, [esi + 0x1d8]
call fcn.0043d8e0
mov edx, dword [0x60a8f8]
mov ecx, dword [0x60a8fc]
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 edi, 0x2027a19a
mov ebx, 0x741ccedd
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x40]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0xa0]
cmovge eax, edi
mov ecx, 0x9a4e0b6a
nop dword [eax]
cmp ecx, 0x2dba4ba6
jle 0x46be80
cmp ecx, 0x2dba4ba7
je 0x46be97
cmp ecx, 0x741ccedd
jne 0x46be60
jmp 0x46bed0
cmp ecx, 0x9a4e0b6a
je 0x46be9b
cmp ecx, 0x2027a19a
jne 0x46be60
mov ecx, 0x2dba4ba7
jmp 0x46be60
mov ecx, eax
jmp 0x46be60
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0xa0]
mov ch, dl
xor ch, cl
mov edi, 0x2027a19a
mov ebx, 0x2dba4ba7
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x46be60
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60a97c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x46bfcf
or cl, al
je 0x46bfcf
lea ecx, [esi + 0x1d8]
call fcn.0043d8e0
mov edx, dword [0x60a8f8]
mov ecx, dword [0x60a8fc]
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, 0x2027a19a
mov edi, 0x741ccedd
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x40]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0xa0]
cmovge eax, edx
mov ecx, 0x9a4e0b6a
jmp 0x46bf70
mov ecx, eax
nop word cs:[eax + eax]
cmp ecx, 0x2dba4ba6
jg 0x46bf90
cmp ecx, 0x9a4e0b6a
je 0x46bfa5
cmp ecx, 0x2027a19a
jne 0x46bf70
mov ecx, 0x2dba4ba7
jmp 0x46bf70
cmp ecx, 0x2dba4ba7
je 0x46bf62
cmp ecx, 0x741ccedd
jne 0x46bf70
jmp 0x46be00
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0xa0]
mov ch, dl
xor ch, cl
mov edi, 0x2027a19a
mov ebx, 0x2dba4ba7
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x46bf70
lea ecx, [esi + 0x310]
call fcn.0044ae10
mov dword [esi + 0x4e8], 0x12
lea ecx, [esi + 0x220]
push 1
push 0x40
push 0x20
push eax
call fcn.0044f810
cmp dword [esi + 0x270], 0
je 0x46c19e
mov dword [esi + 0x4e8], 0x27
lea eax, [esi + 0x498]
push eax
call fcn.0043a9d0
add esp, 4
mov dword [esi + 0x4e8], 0x28
lea ecx, [esi + 0x120]
push 1
push 0x40
push 0x20
lea eax, [esi + 0x498]
push eax
call fcn.00472a60
lea ecx, [esi + 0x498]
call fcn.0043ac70
cmp dword [esi + 0x17c], 0
je 0x46c17e
mov ecx, dword [0x60a978]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a97c], 0xa
setge cl
setl ch
xor ch, dl
lea edi, [esi + 0x460]
lea ebx, [esi + 0x2d8]
jne 0x46c08d
or cl, al
test cl, 1
jne 0x46c0dd
jmp 0x46c08d
mov ecx, edi
lea eax, [esi + 0x120]
push eax
call fcn.0043b3c0
mov dword [esi + 0x39c], 0
mov word [esi + 0x3a0], 1
mov ecx, ebx
call fcn.0043b4c0
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a97c], 0xa
setl cl
test cl, al
jne 0x46c107
xor cl, al
jne 0x46c107
mov ecx, edi
lea eax, [esi + 0x120]
push eax
call fcn.0043b3c0
mov dword [esi + 0x39c], 0
mov word [esi + 0x3a0], 1
mov ecx, ebx
call fcn.0043b4c0
jmp 0x46c08d
mov dword [esi + 0x4e8], 0x29
sub esp, 0x14
vmovsd xmm0, qword [esi + 0x39c]
vmovsd qword [esp + 8], xmm0
vmovsd xmm0, qword [esi + 0x460]
vmovsd qword [esp], xmm0
mov dword [esp + 0x10], ebx
lea ecx, [esi + 0x480]
call fcn.0040d410
mov dword [esi + 0x4e8], 0x2a
lea eax, [esi + 0x480]
push eax
lea eax, [esi + 0x220]
push eax
call fcn.0040cec0
add esp, 8
lea ecx, [esi + 0x480]
call fcn.0040f050
mov dword [esi + 0x4e8], 0x29
lea ecx, [esi + 0x120]
call fcn.0043ad70
mov dword [esi + 0x4e8], 0x29
lea ecx, [esi + 0x220]
call fcn.0043b1b0
lea ecx, [esi + 0x120]
call fcn.0043afc0
mov ecx, dword [0x60a978]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a97c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x46c1d0
or cl, al
test cl, 1
jne 0x46c203
jmp 0x46c1d0
lea ecx, [esi + 0x220]
call fcn.0043b310
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a97c], 0xa
setl cl
test cl, al
jne 0x46c210
xor cl, al
jne 0x46c210
lea ecx, [esi + 0x220]
call fcn.0043b310
jmp 0x46c1d0
mov dword [esi + 0x4e8], 0x12
call fcn.0044ffc0
mov edx, dword [0x60a978]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x60a97c], 0xa
setge dl
setl dh
xor dh, ah
jne 0x46c24d
or dl, cl
test dl, 1
jne 0x471c40
test al, al
jne 0x46c2b8
lea ecx, [esi + 0x310]
lea eax, [esi + 0x458]
push eax
call fcn.0043b090
push dword [esi + 0x45c]
push dword [esi + 0x458]
call fcn.004539b0
add esp, 8
test eax, eax
jne 0x46c2b8
call fcn.00419530
push 0
push eax
call fcn.00421920
add esp, 8
mov ecx, dword [0x60a978]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a97c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x46c2b8
or cl, al
test cl, 1
jne 0x471c80
mov edi, 0xa
jmp 0x46c2ce
lea ecx, [esi + 0x1f0]
call fcn.0043a730
mov edi, dword [esi + 0x7c]
cmp edi, 0x1f3
ja 0x46d1d9
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60a94c], 0xa
setl cl
test cl, al
jne 0x46c310
xor cl, al
je 0x46c34c
nop word cs:[eax + eax]
lea ecx, [esi + 0x1f0]
call fcn.004376b0
mov edx, dword [0x60a948]
mov ecx, dword [0x60a94c]
lea eax, [edx + 1]
mov dword [esi + 0x18], edx
imul eax, edx
test al, 1
sete dl
mov dword [esi + 0x28], ecx
cmp ecx, 0xa
setl ch
setge cl
cmp ch, dl
jne 0x46c360
or cl, al
test cl, 1
je 0x46c360
lea ecx, [esi + 0x1f0]
call fcn.004376b0
jmp 0x46c310
lea eax, [edi + 1]
mov dword [esi + 0x7c], eax
imul eax, edi
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x3c], eax
xor edx, edx
div edi
nop word cs:[eax + eax]
mov dword [esi + 0x10], ecx
mov ebx, eax
imul ebx, ecx
mov edx, eax
mulx ecx, edx, eax
add ebx, ebx
add ebx, ecx
mov edi, dword [esi + 0x3c]
cmp edx, edi
sbb ebx, 0
jae 0x46cab0
sub edi, eax
mov edx, edi
mov dword [esi + 0x2c], edi
mov ecx, 0
mov ebx, dword [esi + 0x10]
sbb ecx, ebx
mov dword [esi + 0x34], ecx
mov edi, eax
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push edx
mov dword [esi + 0x14], eax
call fcn.005ce830
mov dword [esi + 0x20], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x38], edx
mov edx, eax
mov dword [esi + 0x1c], ebx
imul edx, ebx
mov ebx, dword [esi + 0x20]
add ecx, edx
mov edx, ebx
mov dword [esi + 0x24], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x2c]
sub ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
sbb edi, edx
or edi, ecx
mov ecx, dword [esi + 0x14]
je 0x46c410
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
jmp 0x46c9a0
mov edx, dword [esi + 0x10]
mov dword [esi + 0x3ec], edx
mov dword [esi + 0x3e8], ecx
mov dword [esi + 0x3f4], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x3f0], eax
mov dword [esi + 0x4e8], 0x14
lea ecx, [esi + 0x3a8]
lea eax, [esi + 0x2e0]
push eax
lea eax, [esi + 0x3f8]
push eax
lea eax, [esi + 0x3e8]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xf2]
cmp ecx, 0xa
setl byte [esi + 0xf3]
mov ecx, 0x2e15417a
mov ebx, dword [esi + 0x18]
nop word [eax + eax]
cmp ecx, 0x17af7ff1
jg 0x46c4d0
cmp ecx, 0x8241d35c
je 0x46c514
cmp ecx, 0xe4607b2d
jne 0x46c490
mov dword [esi + 0x4e8], 0x16
lea ecx, [esi + 0x1f0]
lea eax, [esi + 0x3a8]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
mov ebx, dword [esi + 0x18]
jmp 0x46c490
cmp ecx, 0x17af7ff2
je 0x46c580
cmp ecx, 0x2e15417a
jne 0x46c490
movzx eax, byte [esi + 0xf2]
movzx ecx, byte [esi + 0xf3]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x46c490
mov dword [esi + 0x4e8], 0x16
lea ecx, [esi + 0x1f0]
lea eax, [esi + 0x3a8]
push eax
call fcn.00437f80
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
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 edi, 0xe4607b2d
mov ebx, 0x17af7ff2
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
mov ebx, dword [esi + 0x18]
cmp eax, 0xa
cmovge ecx, edi
jmp 0x46c490
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x46c5e0
cmp eax, 0xaf287e03
je 0x46c630
cmp eax, 0x392c4627
jne 0x46c5c0
jmp 0x46c680
cmp eax, 0x668e2124
je 0x46c6a0
cmp eax, 0x67d88a6c
jne 0x46c5c0
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x46c5af
lea ecx, [esi + 0x3a8]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x46c5af
lea ecx, [esi + 0x3a8]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46c5af
mov eax, dword [esi + 0x20]
mov dword [esi + 0x3dc], eax
mov dword [esi + 0x3d8], ebx
mov dword [esi + 0x3e4], ecx
mov dword [esi + 0x3e0], edx
mov dword [esi + 0x4e8], 0x14
lea ecx, [esi + 0x364]
lea eax, [esi + 0x2dc]
push eax
lea eax, [esi + 0x3e8]
push eax
lea eax, [esi + 0x3d8]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xf4]
cmp ecx, 0xa
setl byte [esi + 0xf5]
mov edi, 0x2e15417a
nop word cs:[eax + eax]
cmp edi, 0x17af7ff1
jg 0x46c760
cmp edi, 0x8241d35c
je 0x46c7a9
cmp edi, 0xe4607b2d
jne 0x46c720
mov dword [esi + 0x4e8], 0x15
lea ecx, [esi + 0x1f0]
lea eax, [esi + 0x364]
push eax
call fcn.00437f80
mov edi, 0x8241d35c
jmp 0x46c720
cmp edi, 0x17af7ff2
je 0x46c810
cmp edi, 0x2e15417a
jne 0x46c720
movzx eax, byte [esi + 0xf4]
movzx ecx, byte [esi + 0xf5]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xe4607b2d
mov ecx, 0x8241d35c
cmovne edi, ecx
test al, al
mov eax, 0xe4607b2d
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x46c720
mov dword [esi + 0x4e8], 0x15
lea ecx, [esi + 0x1f0]
lea eax, [esi + 0x364]
push eax
call fcn.00437f80
mov eax, dword [0x60a950]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xe4607b2d
mov edx, 0x17af7ff2
cmove edi, edx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x46c720
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a94c], 0xa
setl cl
test cl, al
jne 0x46c840
xor cl, al
je 0x46c969
nop dword [eax]
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
nop
cmp eax, 0x668e2123
jg 0x46c8a0
cmp eax, 0xaf287e03
je 0x46c8df
cmp eax, 0x392c4627
jne 0x46c870
lea ecx, [esi + 0x364]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46c870
cmp eax, 0x668e2124
je 0x46c930
cmp eax, 0x67d88a6c
jne 0x46c870
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46c870
lea ecx, [esi + 0x364]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x46c870
mov eax, dword [0x60a948]
mov edi, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov eax, ecx
and eax, 1
sete dh
mov dword [esi + 0x28], edi
cmp edi, 0xa
setge dl
setl bl
xor bl, dh
jne 0x46c9a0
or dl, cl
test dl, 1
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x1c]
je 0x46c9a6
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
jmp 0x46ca20
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x1c]
test eax, eax
setne dh
cmp dword [esi + 0x28], 0xa
setge cl
mov dl, dh
xor dl, cl
or dh, cl
xor dh, 1
or dh, dl
cmp dh, 1
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
je 0x46ca90
jmp 0x46caa8
lea ecx, [esi + 0x364]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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 edi, 0x392c4627
mov ebx, 0x668e2124
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
nop word [eax + eax]
cmp eax, 0x668e2123
jg 0x46ca50
cmp eax, 0xaf287e03
je 0x46c9d1
cmp eax, 0x392c4627
jne 0x46ca20
lea ecx, [esi + 0x364]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46ca20
cmp eax, 0x668e2124
je 0x46c840
cmp eax, 0x67d88a6c
jne 0x46ca20
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46ca20
mov ebx, ecx
mov edi, eax
add eax, 1
adc ecx, 0
test dh, dh
jne 0x46c380
add edi, 2
adc ebx, 0
mov eax, edi
mov ecx, ebx
jmp 0x46ca90
mov ebx, dword [esi + 0x1f0]
mov edx, dword [esi + 0x1f4]
mov eax, edx
sub eax, ebx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
jb 0x46cc71
mov dword [esi + 0x1c], 1
mov dword [esi + 0x34], 0
mov dword [esi + 0x2c], 0xffffffff
jmp 0x46cb1f
mov edi, dword [esi + 0x1c]
inc edi
mov ebx, dword [esi + 0x1f0]
mov edx, dword [esi + 0x1f4]
mov ecx, edx
sub ecx, ebx
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x34], 0xc
dec dword [esi + 0x2c]
mov dword [esi + 0x1c], edi
cmp edi, ecx
jae 0x46cc81
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test cl, al
jne 0x46cb60
xor cl, al
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
jne 0x46cb7a
jmp 0x471bf0
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
jmp 0x46cb7a
add edi, 0xfffffff4
inc ebx
je 0x46cc50
mov dword [esi + 0x20], ebx
mov edx, dword [esi + 0x1f0]
mov eax, dword [edx + edi]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x18]
lea ebx, [eax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
and eax, ebx
mov ecx, dword [edx + edi + 0xc]
mov dword [esi + 0x14], ecx
mov ecx, dword [ecx]
mov ebx, dword [esi + 0x10]
cmp ecx, dword [ebx]
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 4]
mov ebx, dword [esi + 0x10]
sbb ecx, dword [ebx + 4]
jge 0x46cc50
dec dword [esi + 0x24]
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test cl, al
jne 0x46cbe0
xor cl, al
mov ebx, dword [esi + 0x20]
je 0x46cc38
jmp 0x46cbf0
mov ebx, dword [esi + 0x20]
nop word cs:[eax + eax]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov ecx, dword [0x60a948]
mov edx, dword [0x60a94c]
lea eax, [ecx + 1]
mov dword [esi + 0x18], ecx
imul eax, ecx
and eax, 1
sete cl
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x46cb70
xor dl, cl
jne 0x46cb70
mov edx, dword [esi + 0x1f0]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov edx, dword [esi + 0x1f0]
jmp 0x46cbf0
test eax, eax
sete cl
cmp dword [esi + 0x28], 0xa
setl dl
test cl, dl
jne 0x46caf0
xor cl, dl
jne 0x46caf0
jmp 0x471c00
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov dword [esi + 0x38], edx
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test al, cl
jne 0x46cca6
xor al, cl
jne 0x46cca6
jmp 0x471c20
mov ebx, dword [esi + 0x2c]
add ebx, 0xc
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [esi + 0x28], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, dword [0x60a960]
mov edx, dword [0x60a964]
mov dword [esi + 0x10], edx
mov byte [esi + 0x20], al
test al, 1
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x24], ecx
jne 0x46cdb4
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
test edi, edi
sete cl
mov eax, dword [esi + 0x10]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x1bb2d94f
mov edx, 0x1e3fd21
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xa0]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 0x220]
cmovge edi, ecx
mov edx, 0xd04893e1
jmp 0x46cd60
movzx ecx, byte [esi + 0xa0]
movzx edx, byte [esi + 0x220]
mov ah, cl
xor ah, dl
mov ebx, 0x1bb2d94f
mov eax, 0xf3871576
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
mov ebx, dword [esi + 0x2c]
nop dword [eax]
cmp edx, 0x1e3fd20
jg 0x46cd80
cmp edx, 0xd04893e1
je 0x46cd2f
cmp edx, 0xf3871576
jne 0x46cd60
mov edx, edi
jmp 0x46cd60
cmp edx, 0x1e3fd21
je 0x46cda0
cmp edx, 0x1bb2d94f
jne 0x46cd60
mov edx, 0xf3871576
jmp 0x46cd60
cmp ebx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
mov ecx, dword [esi + 0x24]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
sete byte [esi + 0xa0]
sete ah
mov edx, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmove edx, ecx
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x220]
setl bl
mov ecx, 0x1bb2d94f
cmovge edx, ecx
xor bl, ah
mov eax, 0x1e3fd21
cmovne edx, eax
mov ebx, 0xd04893e1
mov eax, dword [esi + 0x18]
nop dword [eax]
cmp ebx, 0x1e3fd20
jg 0x46ce20
cmp ebx, 0xd04893e1
je 0x46ce37
cmp ebx, 0xf3871576
jne 0x46ce00
mov ebx, edx
jmp 0x46ce00
cmp ebx, 0x1e3fd21
je 0x46ce70
cmp ebx, 0x1bb2d94f
jne 0x46ce00
mov ebx, 0xf3871576
jmp 0x46ce00
mov ah, byte [esi + 0xa0]
movzx ebx, byte [esi + 0x220]
mov bh, ah
xor bh, bl
mov ecx, 0x1bb2d94f
mov dword [esi + 0x14], edi
mov edi, 0xf3871576
cmovne ecx, edi
test bl, bl
mov ebx, ecx
cmovne ebx, edi
mov edi, dword [esi + 0x14]
test ah, ah
mov eax, dword [esi + 0x18]
cmove ebx, ecx
jmp 0x46ce00
mov ebx, dword [esi + 0x2c]
cmp ebx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx edx, byte [esi + 0x120]
test byte [esi + 0x20], 1
je 0x46ccf0
test dl, 1
jne 0x46c2c0
mov ecx, dword [ebx]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0x20], ecx
mov ecx, dword [0x60a968]
mov dword [esi + 0x1c], ecx
mov ecx, dword [0x60a96c]
mov dword [esi + 0x14], ecx
jmp 0x46cec7
add dword [esi + 0x10], 8
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
setne cl
cmp dword [esi + 0x28], 0xa
setge al
mov ch, al
xor ch, cl
or al, cl
xor al, 1
or al, ch
mov byte [esi + 0x34], al
jne 0x46cfd4
mov eax, dword [esi + 0x1c]
lea ecx, [eax + 1]
imul ecx, eax
mov ebx, ecx
xor ebx, 0xfffffffe
and ebx, ecx
test ebx, ebx
sete byte [esi + 0xa0]
sete al
mov ecx, 0xc0943188
mov edi, 0xcad2cb8d
cmove ecx, edi
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0x220]
setl ah
mov edx, 0xc0943188
cmovge ecx, edx
xor ah, al
cmovne ecx, edi
mov edi, 0xff93f7cc
jmp 0x46cf50
mov edi, ecx
nop word cs:[eax + eax]
cmp edi, 0xcad2cb8c
jg 0x46cf70
cmp edi, 0xa3d2977a
je 0x46cf3f
cmp edi, 0xc0943188
jne 0x46cf50
mov edi, 0xa3d2977a
jmp 0x46cf50
cmp edi, 0xcad2cb8d
je 0x46cfc0
cmp edi, 0xff93f7cc
jne 0x46cf50
movzx eax, byte [esi + 0xa0]
mov ah, byte [esi + 0x220]
mov dh, al
xor dh, ah
test ah, ah
mov edi, 0xc0943188
mov ebx, 0xa3d2977a
cmovne edi, ebx
test al, al
mov eax, 0xc0943188
cmove edi, eax
test dh, dh
cmovne edi, ebx
jmp 0x46cf50
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov eax, dword [esi + 0x1c]
lea ecx, [eax + 1]
imul ecx, eax
mov ebx, ecx
xor ebx, 0xfffffffe
and ebx, ecx
sete byte [esi + 0xa0]
sete cl
mov edi, 0xc0943188
mov eax, 0xcad2cb8d
cmove edi, eax
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0x220]
setl ch
mov edx, 0xc0943188
cmovge edi, edx
xor ch, cl
cmovne edi, eax
mov ecx, 0xff93f7cc
nop dword [eax + eax]
cmp ecx, 0xcad2cb8c
jg 0x46d040
cmp ecx, 0xa3d2977a
je 0x46d087
cmp ecx, 0xc0943188
jne 0x46d020
mov ecx, 0xa3d2977a
jmp 0x46d020
cmp ecx, 0xcad2cb8d
je 0x46d090
cmp ecx, 0xff93f7cc
jne 0x46d020
mov dh, byte [esi + 0xa0]
movzx ecx, byte [esi + 0x220]
mov eax, ecx
xor al, dh
test cl, cl
mov ecx, 0xc0943188
mov dword [esi + 0x24], ebx
mov ebx, 0xa3d2977a
cmovne ecx, ebx
test dh, dh
mov edx, 0xc0943188
cmove ecx, edx
test al, al
cmovne ecx, ebx
mov ebx, dword [esi + 0x24]
jmp 0x46d020
mov ecx, edi
jmp 0x46d020
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
cmp byte [esi + 0x34], 0
je 0x46cf04
test cl, 1
jne 0x46cca0
mov eax, dword [0x60a970]
mov edx, dword [0x60a974]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x7a659f1e
mov ebx, 0x3b451eaf
cmovne edi, ebx
test eax, ecx
sete byte [esi + 0xa0]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 0x220]
cmovge ecx, edi
mov edx, 0xdbf7d62a
nop word [eax + eax]
cmp edx, 0x3b451eae
jg 0x46d130
cmp edx, 0xdbf7d62a
je 0x46d147
cmp edx, 0x23248e6d
jne 0x46d110
mov edx, ecx
jmp 0x46d110
cmp edx, 0x3b451eaf
je 0x46d180
cmp edx, 0x7a659f1e
jne 0x46d110
mov edx, 0x23248e6d
jmp 0x46d110
movzx eax, byte [esi + 0xa0]
movzx edx, byte [esi + 0x220]
mov ah, al
xor ah, dl
mov edi, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x46d110
mov eax, dword [esi + 0x10]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x46cec0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x60a948]
mov dword [esi + 0x18], eax
mov eax, dword [0x60a94c]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x46cec0
mov eax, dword [0x60a988]
mov ecx, dword [0x60a98c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xa0]
cmp ecx, 0xa
setl byte [esi + 0x220]
mov eax, 0x3def23ff
lea ecx, [esi + 0x120]
nop dword [eax]
cmp eax, 0xde9169a
jg 0x46d240
cmp eax, 0x8e89d987
je 0x46d2de
cmp eax, 0xcc8e990
jne 0x46d210
mov word [esi + 0x40], 0x7a61
mov eax, 0xde9169b
jmp 0x46d210
cmp eax, 0xde9169b
je 0x46d281
cmp eax, 0x3def23ff
jne 0x46d210
movzx ecx, byte [esi + 0xa0]
movzx eax, byte [esi + 0x220]
mov edx, ecx
xor dl, al
mov edx, 0xcc8e990
mov edi, 0xde9169b
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
lea ecx, [esi + 0x120]
cmove eax, edx
jmp 0x46d210
lea eax, [esi + 0x40]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov word [eax], 0x7a61
mov edx, dword [0x60a988]
mov ecx, dword [0x60a98c]
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 edi, 0xcc8e990
mov ebx, 0x8e89d987
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
lea ecx, [esi + 0x120]
cmovge eax, edi
jmp 0x46d210
mov eax, dword [esi + 0x120]
sub esp, 4
movzx eax, byte [esi + 0x220]
mov byte [esp], al
mov edi, ecx
call fcn.0043dd20
mov ecx, edi
call fcn.0040d170
mov dword [esi + 0x4e8], 0x13
xor eax, eax
jmp 0x46d31c
mov eax, dword [esi + 0x14]
inc eax
cmp eax, 0x3e8
je 0x46d61b
mov dword [esi + 0x14], eax
movsx eax, byte [esi + 0x41]
movsx edx, byte [esi + 0x40]
mov dword [esi + 0x4e8], 0x13
lea ecx, [esi + 0x40]
push eax
push edx
lea eax, [esi + 0x6c]
push eax
call fcn.00435510
mov ecx, dword [0x60a990]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x60a994], 0xa
setl dl
test dl, cl
jne 0x46d36b
xor dl, cl
je 0x471c30
movsx eax, al
lea ecx, [esi + 0x120]
push eax
call fcn.00436970
lea ecx, [esi + 0x120]
call fcn.005664d0
cmp byte [eax], 0x6f
je 0x46d409
mov eax, dword [0x60a990]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60a994], 0xa
setl cl
test cl, al
jne 0x46d3c0
xor cl, al
je 0x46d3f3
nop word cs:[eax + eax]
lea ecx, [esi + 0x120]
call fcn.005664d0
mov ecx, dword [0x60a990]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x60a994], 0xa
setl dl
test dl, cl
jne 0x46d400
xor dl, cl
jne 0x46d400
lea ecx, [esi + 0x120]
call fcn.005664d0
jmp 0x46d3c0
cmp byte [eax], 0x75
jne 0x46d30d
lea edi, [esi + 0x120]
mov ecx, edi
call fcn.0040d830
mov dword [esi + 0xa0], eax
mov ecx, edi
call fcn.0040d830
add eax, dword [esi + 0x130]
mov dword [esi + 0x10], eax
jmp 0x46d436
mov eax, dword [esi + 0x220]
mov eax, dword [0x60a998]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x60a99c]
sete byte [esi + 0x1d8]
sete dl
mov eax, 0x4a293c83
mov ebx, 0x61c5fcf1
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x220]
setl cl
mov edi, 0x4a293c83
cmovge eax, edi
xor cl, dl
cmovne eax, ebx
mov ecx, 0x354728f5
nop word cs:[eax + eax]
cmp ecx, 0x4a293c82
jle 0x46d4b0
cmp ecx, 0x4a293c83
je 0x46d4f2
cmp ecx, 0x61c5fcf1
jne 0x46d490
jmp 0x46d500
cmp ecx, 0xb74ba074
je 0x46d4f9
cmp ecx, 0x354728f5
jne 0x46d490
movzx edx, byte [esi + 0x1d8]
movzx ecx, byte [esi + 0x220]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x4a293c83
mov edi, 0xb74ba074
cmovne ecx, edi
test dl, dl
mov ebx, 0x4a293c83
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x46d490
mov ecx, 0xb74ba074
jmp 0x46d490
mov ecx, eax
jmp 0x46d490
mov ebx, dword [esi + 0xa0]
cmp ebx, dword [esi + 0x10]
je 0x46d30d
movsx eax, byte [ebx]
push eax
call fcn.005de535
add esp, 4
and al, 0xa
mov byte [ebx], al
mov eax, dword [0x60a9a0]
mov ecx, dword [0x60a9a4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x80]
cmp ecx, 0xa
setl byte [esi + 0x1d8]
mov eax, 0xc2538ca0
nop dword [eax]
cmp eax, 0x1ec364a7
jg 0x46d580
cmp eax, 0xc2538ca0
je 0x46d5eb
cmp eax, 0xbc7d055
jne 0x46d550
inc dword [esi + 0xa0]
mov eax, 0x640d1264
jmp 0x46d550
cmp eax, 0x1ec364a8
je 0x46d430
cmp eax, 0x640d1264
jne 0x46d550
lea eax, [esi + 0xa0]
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x220]
inc dword [eax]
mov edx, dword [0x60a9a0]
mov ecx, dword [0x60a9a4]
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, 0xbc7d055
mov edi, 0x1ec364a8
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x46d550
movzx ecx, byte [esi + 0x80]
movzx eax, byte [esi + 0x1d8]
mov edx, ecx
xor dl, al
mov edx, 0xbc7d055
mov edi, 0x640d1264
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46d550
mov ecx, dword [0x60a990]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a994], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x46d64a
or cl, al
test cl, 1
jne 0x46d778
jmp 0x46d64a
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1d8]
cmp ecx, 0xa
setl byte [esi + 0xa0]
mov eax, 0x1d50f87a
lea ecx, [esi + 0x120]
nop
cmp eax, 0xb86c542
jg 0x46d6a0
cmp eax, 0xcb7dce01
je 0x46d727
cmp eax, 0xf454cecc
jne 0x46d680
jmp 0x46d736
cmp eax, 0xb86c543
je 0x46d6db
cmp eax, 0x1d50f87a
jne 0x46d680
movzx ecx, byte [esi + 0x1d8]
movzx eax, byte [esi + 0xa0]
mov edx, ecx
xor dl, al
mov edx, 0xcb7dce01
mov ebx, 0xb86c543
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x46d679
call fcn.0040d830
mov edi, eax
add edi, 0xd7
mov eax, dword [0x60a9a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xcb7dce01
mov ebx, 0xf454cecc
cmove eax, ebx
cmp dword [0x60a9ac], 0xa
mov edx, 0xcb7dce01
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x46d679
call fcn.0040d830
mov eax, 0xb86c543
jmp 0x46d679
mov dword [esi + 0x220], edi
mov eax, dword [esi + 0x220]
mov ecx, dword [0x60a990]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x60a994], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x46d87c
or dl, cl
je 0x46d87c
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1d8]
cmp ecx, 0xa
setl byte [esi + 0xa0]
mov eax, 0x1d50f87a
jmp 0x46d7fa
call fcn.0040d830
mov edi, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
mov dword [esi + 0x14], ecx
lea edx, [edi + 1]
imul edx, edi
mov ebx, edx
xor ebx, 0xfffffffe
test ebx, edx
sete byte [esi + 0x10]
cmp ecx, 0xa
setl cl
xor cl, byte [esi + 0x10]
mov ecx, 0xcb7dce01
mov edi, 0xf454cecc
cmovne ecx, edi
test ebx, edx
mov ebx, eax
mov eax, ecx
cmove eax, edi
cmp dword [esi + 0x14], 0xa
cmovge eax, ecx
add ebx, 0xd7
lea ecx, [esi + 0x120]
cmp eax, 0xb86c542
jg 0x46d820
cmp eax, 0xcb7dce01
je 0x46d85f
cmp eax, 0xf454cecc
jne 0x46d800
jmp 0x46d86b
cmp eax, 0xb86c543
je 0x46d7a9
cmp eax, 0x1d50f87a
jne 0x46d800
movzx ecx, byte [esi + 0x1d8]
movzx eax, byte [esi + 0xa0]
mov edx, ecx
xor dl, al
mov edx, 0xcb7dce01
mov edi, 0xb86c543
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46d7fa
call fcn.0040d830
mov eax, 0xb86c543
jmp 0x46d7fa
mov dword [esi + 0x220], ebx
mov eax, dword [esi + 0x220]
jmp 0x46d64a
cmp byte [eax], 0x31
jne 0x46d989
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1d8]
cmp ecx, 0xa
setl byte [esi + 0xa0]
mov eax, 0x1d50f87a
jmp 0x46d90a
call fcn.0040d830
mov edi, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [edi + 1]
imul edx, edi
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xcb7dce01
mov edi, 0xf454cecc
cmovne ebx, edi
mov edi, eax
cmp edx, 0xffffffff
mov eax, ebx
mov edx, 0xf454cecc
cmove eax, edx
cmp ecx, 0xa
cmovge eax, ebx
mov ebx, edi
add ebx, 0x2d0
lea ecx, [esi + 0x120]
cmp eax, 0xb86c542
jg 0x46d927
cmp eax, 0xcb7dce01
je 0x46d962
cmp eax, 0xf454cecc
jne 0x46d910
jmp 0x46d96e
cmp eax, 0xb86c543
je 0x46d8b6
cmp eax, 0x1d50f87a
jne 0x46d910
movzx ecx, byte [esi + 0x1d8]
movzx eax, byte [esi + 0xa0]
mov edx, ecx
xor dl, al
mov edx, 0xcb7dce01
mov edi, 0xb86c543
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46d90a
call fcn.0040d830
mov eax, 0xb86c543
jmp 0x46d90a
mov dword [esi + 0x220], ebx
mov eax, dword [esi + 0x220]
cmp byte [eax], 0x30
jne 0x46d989
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x120]
call fcn.0040f050
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a97c], 0xa
setl cl
or cl, al
mov byte [esi + 0x20], cl
mov ecx, dword [0x60a848]
mov eax, dword [0x60a84c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x24], ecx
jne 0x46dbe7
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x14], ecx
mov eax, 0xffb26629
mov ecx, 0x1fd06237
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xf06d465d
mov ecx, 0x8aea748b
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
xor eax, eax
lea ecx, [esi + 0xa0]
mov eax, dword [esi + 0x9c]
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0xa8], eax
vmovaps xmm0, xmmword [ecx]
cmp dword [esi + 0x14], 0
sete byte [esi + 0x6c]
sete al
mov edi, 0x224ba512
mov edx, 0x332b6ef5
cmove edi, edx
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x80]
vmovaps xmm1, xmmword [esi + 0x40]
setl cl
vmovddup xmm2, qword [0x5f0f50]
vandnps xmm3, xmm1, xmm2
vandnps xmm4, xmm0, xmm2
vandnps xmm1, xmm2, xmm1
vorps xmm1, xmm3, xmm1
vandnps xmm0, xmm2, xmm0
vorps xmm0, xmm4, xmm0
vxorps xmm0, xmm1, xmm0
mov ebx, 0x224ba512
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov eax, 0x84a35f8c
jmp 0x46dac0
movzx ecx, byte [esi + 0x6c]
movzx eax, byte [esi + 0x80]
mov edx, ecx
xor dl, al
mov edx, 0x224ba512
mov ebx, 0xf8d3d77
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
nop
cmp eax, 0x224ba511
jle 0x46dae0
cmp eax, 0x224ba512
je 0x46daf2
cmp eax, 0x332b6ef5
jne 0x46dac0
jmp 0x46daf9
cmp eax, 0x84a35f8c
je 0x46da96
cmp eax, 0xf8d3d77
jne 0x46dac0
mov eax, edi
jmp 0x46dac0
mov eax, 0xf8d3d77
jmp 0x46dac0
mov ecx, dword [0x60a850]
mov eax, dword [0x60a854]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xae925cc1
mov ebx, 0x4bd4f086
cmovne edx, ebx
test ecx, edi
vmovaps xmmword [esi + 0x220], xmm0
vmovaps xmm0, xmmword [esi + 0x220]
sete byte [esi + 0x80]
mov edi, edx
cmove edi, ebx
cmp eax, 0xa
setl byte [esi + 0x220]
cmovge edi, edx
mov ebx, 0x47ea23b6
nop dword [eax]
cmp ebx, 0x47ea23b5
jg 0x46db90
cmp ebx, 0x91a4fdaa
je 0x46dbd2
cmp ebx, 0xae925cc1
jne 0x46db60
vmovaps xmmword [esi + 0x40], xmm0
mov ebx, 0x91a4fdaa
jmp 0x46db60
cmp ebx, 0x4bd4f086
je 0x46dbdb
cmp ebx, 0x47ea23b6
jne 0x46db60
movzx eax, byte [esi + 0x80]
movzx ecx, byte [esi + 0x220]
mov edx, ecx
xor dl, al
test cl, cl
mov ebx, 0xae925cc1
mov ecx, 0x91a4fdaa
cmovne ebx, ecx
test al, al
mov eax, 0xae925cc1
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x46db60
vmovaps xmmword [esi + 0x40], xmm0
mov ebx, edi
jmp 0x46db60
lea eax, [esi + 0x40]
mov dword [esi + 0x1d8], eax
mov ecx, dword [esi + 0x24]
mov eax, 0xffb26629
mov edx, 0x1fd06237
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], eax
mov eax, 0xf06d465d
mov edx, 0x8aea748b
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x9c]
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0xa8], eax
xor eax, eax
lea edx, [esi + 0xa0]
vmovaps xmm0, xmmword [edx]
vmovaps xmm1, xmmword [esi + 0x40]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x14], ecx
sete dl
sete byte [esi + 0x6c]
mov eax, 0x224ba512
mov ecx, 0x332b6ef5
cmove eax, ecx
cmp dword [esi + 0x10], 0xa
setl dh
setl byte [esi + 0x80]
vandnps xmm2, xmm1, xmm0
vandnps xmm0, xmm0, xmm1
vorps xmm0, xmm2, xmm0
mov ebx, 0x224ba512
cmovge eax, ebx
xor dh, dl
cmovne eax, ecx
mov ebx, 0x84a35f8c
nop
cmp ebx, 0x224ba511
jle 0x46dcb0
cmp ebx, 0x224ba512
je 0x46dcc4
cmp ebx, 0x332b6ef5
jne 0x46dc90
jmp 0x46dcf9
cmp ebx, 0x84a35f8c
je 0x46dccb
cmp ebx, 0xf8d3d77
jne 0x46dc90
mov ebx, eax
jmp 0x46dc90
mov ebx, 0xf8d3d77
jmp 0x46dc90
movzx ecx, byte [esi + 0x6c]
mov dh, byte [esi + 0x80]
mov dl, cl
xor dl, dh
test dh, dh
mov ebx, 0x224ba512
mov edi, 0xf8d3d77
cmovne ebx, edi
test cl, cl
mov ecx, 0x224ba512
cmove ebx, ecx
test dl, dl
cmovne ebx, edi
jmp 0x46dc90
mov ecx, dword [0x60a850]
mov eax, dword [0x60a854]
lea ebx, [ecx + 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xae925cc1
mov edi, 0x4bd4f086
cmovne edx, edi
test ecx, ebx
vmovaps xmmword [esi + 0x220], xmm0
vmovaps xmm0, xmmword [esi + 0x220]
sete byte [esi + 0x80]
mov ebx, edx
cmove ebx, edi
cmp eax, 0xa
setl byte [esi + 0x220]
cmovge ebx, edx
mov eax, 0x47ea23b6
lea ecx, [esi + 0x120]
nop
cmp eax, 0x47ea23b5
jg 0x46dd90
cmp eax, 0x91a4fdaa
je 0x46ddd1
cmp eax, 0xae925cc1
jne 0x46dd60
vmovaps xmmword [esi + 0x40], xmm0
mov eax, 0x91a4fdaa
jmp 0x46dd60
cmp eax, 0x4bd4f086
je 0x46ddda
cmp eax, 0x47ea23b6
jne 0x46dd60
movzx ecx, byte [esi + 0x80]
movzx eax, byte [esi + 0x220]
mov edx, ecx
xor dl, al
mov edx, 0xae925cc1
mov edi, 0x91a4fdaa
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
lea ecx, [esi + 0x120]
cmove eax, edx
jmp 0x46dd60
vmovaps xmmword [esi + 0x40], xmm0
mov eax, ebx
jmp 0x46dd60
lea eax, [esi + 0x40]
mov dword [esi + 0x1d8], eax
cmp byte [esi + 0x20], 0
je 0x46d9e0
mov byte [esi + 0x77], 1
mov dword [esi + 0x4e8], 0x17
push 0x5f7f6a
lea eax, [esi + 0x1d8]
push eax
call fcn.00472b90
mov dword [esi + 0x4e8], 0x18
lea ecx, [esi + 0x394]
lea eax, [esi + 0x150]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.00472c80
mov eax, dword [0x60a9b0]
mov ecx, dword [0x60a9b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xa0]
cmp ecx, 0xa
setl byte [esi + 0x220]
mov eax, 0xce90a8dd
nop
cmp eax, 0xcf5150fe
jle 0x46de7a
cmp eax, 0xcf5150ff
je 0x46deba
cmp eax, 0x47a73d46
jne 0x46de60
jmp 0x46df32
cmp eax, 0xbd501124
je 0x46ded7
cmp eax, 0xce90a8dd
jne 0x46de60
movzx ecx, byte [esi + 0xa0]
movzx eax, byte [esi + 0x220]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xcf5150ff
mov edi, 0xbd501124
cmovne eax, edi
test cl, cl
mov ecx, 0xcf5150ff
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x46de60
lea ecx, [esi + 0x138]
call fcn.0040f050
lea ecx, [esi + 0x120]
call fcn.0040f050
mov eax, 0xbd501124
jmp 0x46de60
lea ecx, [esi + 0x138]
call fcn.0040f050
lea ecx, [esi + 0x120]
call fcn.0040f050
mov edx, dword [0x60a9b0]
mov ecx, dword [0x60a9b4]
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, 0xcf5150ff
mov edi, 0x47a73d46
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x46de60
mov eax, dword [0x60a9b8]
mov ecx, dword [0x60a9bc]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x40]
cmp ecx, 0xa
setl byte [esi + 0x220]
mov eax, 0x41487657
nop
cmp eax, 0x41487656
jg 0x46dff1
cmp eax, 0x87167a5c
je 0x46e066
cmp eax, 0xdefac5f3
jne 0x46df60
lea eax, [esi + 0x300]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, 0x1af64269
mov edx, 0xfba86e40
mov dword [eax + 4], ecx
mov dword [eax], edx
mov ecx, 0x8aea74ee
mov edx, 0x840c2248
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov edx, dword [0x60a9b8]
mov ecx, dword [0x60a9bc]
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 edi, 0x7a9dd121
mov ebx, 0x87167a5c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x46df60
cmp eax, 0x7a9dd121
je 0x46e030
cmp eax, 0x41487657
jne 0x46df60
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x220]
mov edx, ecx
xor dl, al
mov edx, 0x7a9dd121
mov edi, 0xdefac5f3
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46df60
mov eax, 0x1af64269
mov ecx, 0xfba86e40
mov dword [esi + 0x304], eax
mov dword [esi + 0x300], ecx
mov eax, 0x8aea74ee
mov ecx, 0x840c2248
mov dword [esi + 0x30c], eax
mov dword [esi + 0x308], ecx
mov eax, 0xdefac5f3
jmp 0x46df60
mov eax, dword [0x60a850]
mov edi, dword [0x60a854]
lea ebx, [eax + 1]
imul ebx, eax
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete al
cmp edi, 0xa
setl dl
xor dl, al
mov eax, 0xae925cc1
mov edx, 0x4bd4f086
cmovne eax, edx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], ecx
test ecx, ebx
mov ecx, eax
cmove ecx, edx
mov dword [esi + 0x10], edi
cmp edi, 0xa
cmovge ecx, eax
mov dword [esi + 0x24], ecx
mov eax, dword [0x60a848]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
mov edi, dword [0x60a84c]
cmp edi, 0xa
setl dl
xor dl, al
mov edx, 0x224ba512
mov eax, 0x332b6ef5
cmovne edx, eax
and ecx, 1
mov dword [esi + 0x1c], ecx
mov ecx, edx
cmove ecx, eax
mov dword [esi + 0x18], edi
cmp edi, 0xa
cmovge ecx, edx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x28], esp
mov edx, dword [esi + 0x120]
mov edx, dword [0x60a9c0]
lea edi, [edx + 1]
imul edi, edx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x80]
mov edx, 0x999f6679
mov ecx, 0x5226d206
cmove edx, ecx
sete al
mov edi, dword [0x60a9c4]
cmp edi, 0xa
setl byte [esi + 0x1d8]
mov edi, 0x999f6679
cmovge edx, edi
setl ah
xor ah, al
vmovaps xmm0, xmmword [esi + 0x300]
cmovne edx, ecx
mov edi, 0x1b789e27
jmp 0x46e160
mov edi, edx
nop dword [eax]
cmp edi, 0x1b789e26
jg 0x46e238
cmp edi, 0x999f6679
je 0x46e345
cmp edi, 0xd1174619
jne 0x46e160
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
mov eax, dword [esi + 0x9c]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x70]
mov dword [edi], eax
mov eax, dword [esi + 0x78]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x68]
mov dword [edi + 8], eax
xor eax, eax
cmp dword [esi + 0x1c], 0
vmovaps xmm1, xmmword [edi]
sete byte [esi + 0x40]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x220]
vandnps xmm2, xmm0, xmm1
vandnps xmm1, xmm1, xmm0
vorps xmm1, xmm2, xmm1
mov edi, 0x84a35f8c
nop
cmp edi, 0x224ba511
jle 0x46e1ed
cmp edi, 0x224ba512
je 0x46e202
cmp edi, 0x332b6ef5
jne 0x46e1d0
jmp 0x46e284
cmp edi, 0x84a35f8c
je 0x46e209
cmp edi, 0xf8d3d77
jne 0x46e1d0
mov edi, dword [esi + 0x34]
jmp 0x46e1d0
mov edi, 0xf8d3d77
jmp 0x46e1d0
movzx eax, byte [esi + 0x40]
movzx ecx, byte [esi + 0x220]
mov ah, al
xor ah, cl
test cl, cl
mov edi, 0x224ba512
mov ebx, 0xf8d3d77
cmovne edi, ebx
test al, al
mov ecx, 0x224ba512
cmove edi, ecx
test ah, ah
cmovne edi, ebx
jmp 0x46e1d0
cmp edi, 0x5226d206
je 0x46e4c8
cmp edi, 0x1b789e27
jne 0x46e160
movzx ecx, byte [esi + 0x80]
mov ah, byte [esi + 0x1d8]
mov al, cl
xor al, ah
mov ebx, 0x999f6679
mov edi, 0xd1174619
cmovne ebx, edi
test ah, ah
mov edi, ebx
mov eax, 0xd1174619
cmovne edi, eax
test cl, cl
cmove edi, ebx
jmp 0x46e160
mov eax, dword [esi + 0x20]
test dword [esi + 0x14], eax
vmovaps xmmword [esi + 0x120], xmm1
vmovaps xmm1, xmmword [esi + 0x120]
sete byte [esi + 0x220]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x120]
mov edi, 0x47ea23b6
nop word cs:[eax + eax]
cmp edi, 0x47ea23b5
jg 0x46e2eb
cmp edi, 0x91a4fdaa
je 0x46e331
cmp edi, 0xae925cc1
jne 0x46e2c0
mov edi, 0x91a4fdaa
vmovaps xmmword [esi + 0x300], xmm1
vmovaps xmm0, xmm1
jmp 0x46e2c0
cmp edi, 0x4bd4f086
je 0x46e157
cmp edi, 0x47ea23b6
jne 0x46e2c0
movzx eax, byte [esi + 0x220]
movzx ecx, byte [esi + 0x120]
mov ah, cl
xor ah, al
test cl, cl
mov edi, 0xae925cc1
mov ebx, 0x91a4fdaa
cmovne edi, ebx
test al, al
mov ecx, 0xae925cc1
cmove edi, ecx
test ah, ah
cmovne edi, ebx
jmp 0x46e2c0
vmovaps xmmword [esi + 0x300], xmm1
vmovaps xmm0, xmm1
mov edi, dword [esi + 0x24]
jmp 0x46e2c0
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
mov eax, dword [esi + 0x9c]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x70]
mov dword [edi], eax
mov eax, dword [esi + 0x78]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x68]
mov dword [edi + 8], eax
xor eax, eax
cmp dword [esi + 0x1c], 0
vmovaps xmm1, xmmword [edi]
sete byte [esi + 0x40]
cmp dword [esi + 0x18], 0xa
setl byte [esi + 0x220]
vandnps xmm2, xmm0, xmm1
vandnps xmm1, xmm1, xmm0
vorps xmm1, xmm2, xmm1
mov edi, 0x84a35f8c
nop word cs:[eax + eax]
cmp edi, 0x224ba511
jle 0x46e3ba
cmp edi, 0x224ba512
je 0x46e3cf
cmp edi, 0x332b6ef5
jne 0x46e3a0
jmp 0x46e405
cmp edi, 0x84a35f8c
je 0x46e3d6
cmp edi, 0xf8d3d77
jne 0x46e3a0
mov edi, dword [esi + 0x34]
jmp 0x46e3a0
mov edi, 0xf8d3d77
jmp 0x46e3a0
movzx eax, byte [esi + 0x40]
movzx ecx, byte [esi + 0x220]
mov ah, al
xor ah, cl
test cl, cl
mov edi, 0x224ba512
mov ebx, 0xf8d3d77
cmovne edi, ebx
test al, al
mov ecx, 0x224ba512
cmove edi, ecx
test ah, ah
cmovne edi, ebx
jmp 0x46e3a0
mov eax, dword [esi + 0x20]
test dword [esi + 0x14], eax
vmovaps xmmword [esi + 0x120], xmm1
vmovaps xmm1, xmmword [esi + 0x120]
sete byte [esi + 0x220]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x120]
mov edi, 0x47ea23b6
nop word cs:[eax + eax]
cmp edi, 0x47ea23b5
jg 0x46e46b
cmp edi, 0x91a4fdaa
je 0x46e4ad
cmp edi, 0xae925cc1
jne 0x46e440
mov edi, 0x91a4fdaa
vmovaps xmmword [esi + 0x300], xmm1
vmovaps xmm0, xmm1
jmp 0x46e440
cmp edi, 0x4bd4f086
je 0x46e4be
cmp edi, 0x47ea23b6
jne 0x46e440
movzx eax, byte [esi + 0x220]
movzx ecx, byte [esi + 0x120]
mov ah, cl
xor ah, al
test cl, cl
mov edi, 0xae925cc1
mov ebx, 0x91a4fdaa
cmovne edi, ebx
test al, al
mov ecx, 0xae925cc1
cmove edi, ecx
test ah, ah
cmovne edi, ebx
jmp 0x46e440
vmovaps xmmword [esi + 0x300], xmm1
vmovaps xmm0, xmm1
mov edi, dword [esi + 0x24]
jmp 0x46e440
mov edi, 0xd1174619
jmp 0x46e160
lea eax, [esi + 0x300]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov esp, dword [esi + 0x28]
mov dword [esi + 0x4e8], 0x19
lea ecx, [esi + 0x334]
push eax
call fcn.00413ae0
mov ecx, dword [esi + 0x11c]
mov dword [esi + 0x4e8], 0x1a
lea eax, [esi + 0x394]
push eax
lea eax, [esi + 0x334]
push eax
lea eax, [esi + 0xa0]
push eax
call fcn.00523660
mov eax, dword [0x60a978]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a97c], 0xa
setl cl
test cl, al
lea edi, [esi + 0x334]
jne 0x46e54d
xor cl, al
je 0x46e57c
jmp 0x46e54d
mov ecx, edi
call fcn.0040f050
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a97c], 0xa
setl cl
test cl, al
jne 0x46e585
xor cl, al
jne 0x46e585
mov ecx, edi
call fcn.0040f050
jmp 0x46e54d
lea edi, [esi + 0xa0]
mov ecx, edi
call fcn.00466240
test al, al
je 0x46f479
mov edi, 0xa
jmp 0x46e5af
lea ecx, [esi + 0x1fc]
call fcn.0043a730
mov edi, dword [esi + 0x7c]
cmp edi, 0x1f3
ja 0x46f536
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a94c], 0xa
setl cl
test cl, al
jne 0x46e5e3
xor cl, al
je 0x46e624
lea ecx, [esi + 0x1fc]
call fcn.004376b0
mov ecx, dword [0x60a948]
mov ebx, dword [0x60a94c]
lea eax, [ecx + 1]
mov dword [esi + 0x18], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
sete dl
mov dword [esi + 0x28], ebx
cmp ebx, 0xa
setge cl
setl ah
xor ah, dl
jne 0x46e631
or cl, al
je 0x46e631
lea ecx, [esi + 0x1fc]
call fcn.004376b0
jmp 0x46e5e3
lea eax, [edi + 1]
mov dword [esi + 0x7c], eax
imul eax, edi
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x3c], eax
xor edx, edx
div edi
nop word cs:[eax + eax]
mov dword [esi + 0x14], ecx
mov ebx, eax
imul ebx, ecx
mov edx, eax
mulx ecx, edx, eax
add ebx, ebx
add ebx, ecx
mov edi, dword [esi + 0x3c]
cmp edx, edi
sbb ebx, 0
jae 0x46ed8e
sub edi, eax
mov edx, edi
mov dword [esi + 0x2c], edi
mov ecx, 0
mov ebx, dword [esi + 0x14]
sbb ecx, ebx
mov dword [esi + 0x34], ecx
mov edi, eax
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push edx
mov dword [esi + 0x20], eax
call fcn.005ce830
mov dword [esi + 0x1c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x38], edx
mov edx, eax
mov dword [esi + 0x10], ebx
imul edx, ebx
mov ebx, dword [esi + 0x1c]
add ecx, edx
mov edx, ebx
mov dword [esi + 0x24], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x2c]
sub ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
sbb edi, edx
or edi, ecx
mov ecx, dword [esi + 0x20]
je 0x46e6ea
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 0x10]
jmp 0x46ec70
mov edx, dword [esi + 0x14]
mov dword [esi + 0x40c], edx
mov dword [esi + 0x408], ecx
mov dword [esi + 0x414], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x410], eax
mov dword [esi + 0x4e8], 0x22
lea ecx, [esi + 0x3b4]
lea eax, [esi + 0x2e8]
push eax
lea eax, [esi + 0x418]
push eax
lea eax, [esi + 0x408]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xf6]
cmp ecx, 0xa
setl byte [esi + 0xf7]
mov edi, 0x2e15417a
mov ebx, dword [esi + 0x18]
nop word cs:[eax + eax]
cmp edi, 0x17af7ff1
jg 0x46e7b0
cmp edi, 0x8241d35c
je 0x46e7f9
cmp edi, 0xe4607b2d
jne 0x46e770
mov dword [esi + 0x4e8], 0x24
lea ecx, [esi + 0x1fc]
lea eax, [esi + 0x3b4]
push eax
call fcn.00437f80
mov edi, 0x8241d35c
mov ebx, dword [esi + 0x18]
jmp 0x46e770
cmp edi, 0x17af7ff2
je 0x46e85e
cmp edi, 0x2e15417a
jne 0x46e770
movzx eax, byte [esi + 0xf6]
movzx ecx, byte [esi + 0xf7]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xe4607b2d
mov ecx, 0x8241d35c
cmovne edi, ecx
test al, al
mov eax, 0xe4607b2d
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x46e770
mov dword [esi + 0x4e8], 0x24
lea ecx, [esi + 0x1fc]
lea eax, [esi + 0x3b4]
push eax
call fcn.00437f80
mov ebx, dword [esi + 0x18]
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
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, 0xe4607b2d
mov edi, 0x17af7ff2
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
mov edi, ecx
cmp eax, 0xa
cmovge edi, edx
jmp 0x46e770
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x20]
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x46e8c0
cmp eax, 0xaf287e03
je 0x46e8ff
cmp eax, 0x392c4627
jne 0x46e8a0
jmp 0x46e949
cmp eax, 0x668e2124
je 0x46e95e
cmp eax, 0x67d88a6c
jne 0x46e8a0
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46e88d
lea ecx, [esi + 0x3b4]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x46e88d
lea ecx, [esi + 0x3b4]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46e88d
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x3fc], eax
mov dword [esi + 0x3f8], ebx
mov dword [esi + 0x404], ecx
mov dword [esi + 0x400], edx
mov dword [esi + 0x4e8], 0x22
lea ecx, [esi + 0x370]
lea eax, [esi + 0x2e4]
push eax
lea eax, [esi + 0x408]
push eax
lea eax, [esi + 0x3f8]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xf8]
cmp ecx, 0xa
setl byte [esi + 0xf9]
mov ecx, 0x2e15417a
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 0x10]
nop dword [eax + eax]
cmp ecx, 0x17af7ff1
jg 0x46ea30
cmp ecx, 0x8241d35c
je 0x46ea77
cmp ecx, 0xe4607b2d
jne 0x46e9e0
mov dword [esi + 0x4e8], 0x23
lea ecx, [esi + 0x1fc]
lea eax, [esi + 0x370]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x24]
jmp 0x46e9e0
cmp ecx, 0x17af7ff2
je 0x46eadf
cmp ecx, 0x2e15417a
jne 0x46e9e0
movzx eax, byte [esi + 0xf8]
movzx ecx, byte [esi + 0xf9]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
mov edi, dword [esi + 0x10]
test al, al
cmove ecx, edx
jmp 0x46e9e0
mov dword [esi + 0x4e8], 0x23
lea ecx, [esi + 0x1fc]
lea eax, [esi + 0x370]
push eax
call fcn.00437f80
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x24]
mov eax, dword [0x60a950]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
mov eax, 0xe4607b2d
mov ecx, 0x17af7ff2
cmove eax, ecx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge eax, ecx
setl cl
xor cl, dl
mov ecx, eax
mov eax, 0x17af7ff2
cmovne ecx, eax
jmp 0x46e9e0
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60a94c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x46eb10
or cl, al
jne 0x46ec35
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
nop
cmp eax, 0x668e2123
jg 0x46eb70
cmp eax, 0xaf287e03
je 0x46ebb2
cmp eax, 0x392c4627
jne 0x46eb40
lea ecx, [esi + 0x370]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46eb40
cmp eax, 0x668e2124
je 0x46ec06
cmp eax, 0x67d88a6c
jne 0x46eb40
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
mov edi, dword [esi + 0x10]
test cl, cl
cmove eax, edx
jmp 0x46eb40
lea ecx, [esi + 0x370]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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 edi, 0x392c4627
mov ebx, 0x668e2124
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
mov ebx, dword [esi + 0x24]
cmp ecx, 0xa
cmovge eax, edi
mov edi, dword [esi + 0x10]
jmp 0x46eb40
mov eax, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x46ec70
xor dl, cl
jne 0x46ec70
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
jmp 0x46ece0
test eax, eax
setne cl
sete dl
cmp dword [esi + 0x28], 0xa
setge dh
setl ah
xor ah, dl
or dh, cl
xor dh, 1
or dh, ah
cmp dh, 1
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
je 0x46ed70
jmp 0x46ed88
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
mov edi, dword [esi + 0x10]
nop word cs:[eax + eax]
cmp eax, 0x668e2123
jg 0x46ed10
cmp eax, 0xaf287e03
je 0x46ed27
cmp eax, 0x392c4627
jne 0x46ece0
lea ecx, [esi + 0x370]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46ece0
cmp eax, 0x668e2124
je 0x46eb10
cmp eax, 0x67d88a6c
jne 0x46ece0
jmp 0x46ec9f
lea ecx, [esi + 0x370]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
jmp 0x46eccc
mov edi, ecx
mov ebx, eax
add eax, 1
adc ecx, 0
test dh, dh
jne 0x46e650
add ebx, 2
adc edi, 0
mov eax, ebx
mov ecx, edi
jmp 0x46ed70
mov ebx, dword [esi + 0x1fc]
mov edx, dword [esi + 0x200]
mov eax, edx
sub eax, ebx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
jb 0x46ef2c
mov dword [esi + 0x1c], 1
mov dword [esi + 0x34], 0
mov dword [esi + 0x2c], 0xffffffff
jmp 0x46edf6
mov edi, dword [esi + 0x1c]
inc edi
mov ebx, dword [esi + 0x1fc]
mov edx, dword [esi + 0x200]
mov ecx, edx
sub ecx, ebx
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x34], 0xc
dec dword [esi + 0x2c]
mov dword [esi + 0x1c], edi
cmp edi, ecx
jae 0x46ef3c
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test cl, al
jne 0x46ee29
xor cl, al
mov ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
jne 0x46ee4d
jmp 0x471c60
mov ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
jmp 0x46ee4d
add edi, 0xfffffff4
mov ecx, dword [esi + 0x20]
inc ecx
je 0x46ef05
mov dword [esi + 0x20], ecx
mov edx, dword [esi + 0x1fc]
mov eax, dword [edx + edi]
mov dword [esi + 0x10], eax
mov ebx, dword [edx + edi + 0xc]
mov dword [esi + 0x14], ebx
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
mov ecx, dword [ebx]
mov ebx, dword [esi + 0x10]
cmp ecx, dword [ebx]
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 4]
sbb ecx, dword [ebx + 4]
jge 0x46ef05
dec dword [esi + 0x24]
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test cl, al
jne 0x46eea0
xor cl, al
je 0x46eeef
nop dword [eax]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov eax, dword [0x60a948]
mov ebx, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov eax, ecx
and eax, 1
sete dh
mov dword [esi + 0x28], ebx
cmp ebx, 0xa
setge dl
setl bl
xor bl, dh
jne 0x46ee40
or dl, cl
test dl, 1
je 0x46ee40
mov edx, dword [esi + 0x1fc]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov edx, dword [esi + 0x1fc]
jmp 0x46eea0
test eax, eax
setne cl
sete ch
cmp dword [esi + 0x28], 0xa
setge dl
setl dh
xor dh, ch
jne 0x46edc7
or cl, dl
je 0x46edc7
jmp 0x471c70
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov dword [esi + 0x38], edx
test eax, eax
setne al
sete dl
cmp dword [esi + 0x28], 0xa
setge cl
setl ah
xor ah, dl
jne 0x46ef64
or al, cl
je 0x46ef64
jmp 0x471c90
mov ebx, dword [esi + 0x2c]
add ebx, 0xc
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [esi + 0x28], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov edx, dword [0x60a960]
mov ecx, dword [0x60a964]
mov dword [esi + 0x10], ecx
mov byte [esi + 0x20], al
test al, 1
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x24], edx
jne 0x46f074
lea edi, [edx - 1]
imul edi, edx
and edi, 1
test edi, edi
sete cl
mov eax, dword [esi + 0x10]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x1bb2d94f
mov edx, 0x1e3fd21
cmovne ecx, edx
test edi, edi
sete byte [esi + 0x40]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 0x220]
cmovge edi, ecx
mov ecx, 0xd04893e1
jmp 0x46f020
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x220]
mov ah, dl
xor ah, cl
mov ebx, 0x1bb2d94f
mov eax, 0xf3871576
cmovne ebx, eax
test cl, cl
mov ecx, ebx
cmovne ecx, eax
test dl, dl
cmove ecx, ebx
mov ebx, dword [esi + 0x2c]
nop word cs:[eax + eax]
cmp ecx, 0x1e3fd20
jg 0x46f040
cmp ecx, 0xd04893e1
je 0x46efea
cmp ecx, 0xf3871576
jne 0x46f020
mov ecx, edi
jmp 0x46f020
cmp ecx, 0x1e3fd21
je 0x46f060
cmp ecx, 0x1bb2d94f
jne 0x46f020
mov ecx, 0xf3871576
jmp 0x46f020
cmp ebx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
mov edx, dword [esi + 0x24]
lea ecx, [edx + 1]
imul ecx, edx
mov edi, ecx
xor edi, 0xfffffffe
mov ebx, edi
and ebx, ecx
sete ah
mov edx, dword [esi + 0x10]
cmp edx, 0xa
setl bl
xor bl, ah
mov ebx, 0x1bb2d94f
mov eax, 0x1e3fd21
cmovne ebx, eax
and edi, ecx
sete byte [esi + 0x40]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 0x220]
cmovge ecx, ebx
mov ebx, 0xd04893e1
mov eax, dword [esi + 0x18]
nop
cmp ebx, 0x1e3fd20
jg 0x46f0e0
cmp ebx, 0xd04893e1
je 0x46f0f7
cmp ebx, 0xf3871576
jne 0x46f0c0
mov ebx, ecx
jmp 0x46f0c0
cmp ebx, 0x1e3fd21
je 0x46f130
cmp ebx, 0x1bb2d94f
jne 0x46f0c0
mov ebx, 0xf3871576
jmp 0x46f0c0
mov ah, byte [esi + 0x40]
movzx ebx, byte [esi + 0x220]
mov edx, ebx
xor dl, ah
test bl, bl
mov ebx, 0x1bb2d94f
mov dword [esi + 0x14], edi
mov edi, 0xf3871576
cmovne ebx, edi
test ah, ah
mov eax, 0x1bb2d94f
cmove ebx, eax
mov eax, dword [esi + 0x18]
test dl, dl
cmovne ebx, edi
mov edi, dword [esi + 0x14]
jmp 0x46f0c0
mov ebx, dword [esi + 0x2c]
cmp ebx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
test byte [esi + 0x20], 1
je 0x46efae
test cl, 1
jne 0x46e5a1
mov ecx, dword [ebx]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0x20], ecx
mov ecx, dword [0x60a968]
mov dword [esi + 0x1c], ecx
mov ecx, dword [0x60a96c]
mov dword [esi + 0x14], ecx
jmp 0x46f187
add dword [esi + 0x10], 8
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [esi + 0x28], 0xa
setge al
mov ch, al
xor ch, cl
or al, cl
xor al, 1
or al, ch
mov byte [esi + 0x34], al
jne 0x46f274
mov eax, dword [esi + 0x1c]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
test ebx, ebx
sete byte [esi + 0x40]
sete al
mov ebx, 0xc0943188
mov edi, 0xcad2cb8d
cmove ebx, edi
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0x220]
setl cl
mov edx, 0xc0943188
cmovge ebx, edx
xor cl, al
cmovne ebx, edi
mov ecx, 0xff93f7cc
jmp 0x46f200
mov ecx, ebx
nop dword [eax + eax]
cmp ecx, 0xcad2cb8c
jg 0x46f220
cmp ecx, 0xa3d2977a
je 0x46f1f9
cmp ecx, 0xc0943188
jne 0x46f200
mov ecx, 0xa3d2977a
jmp 0x46f200
cmp ecx, 0xcad2cb8d
je 0x46f260
cmp ecx, 0xff93f7cc
jne 0x46f200
movzx eax, byte [esi + 0x40]
movzx ecx, byte [esi + 0x220]
mov ah, cl
xor ah, al
test cl, cl
mov ecx, 0xc0943188
mov edx, 0xa3d2977a
cmovne ecx, edx
test al, al
mov edi, 0xc0943188
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x46f200
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov eax, dword [esi + 0x1c]
lea ecx, [eax + 1]
imul ecx, eax
mov ebx, ecx
xor ebx, 0xfffffffe
and ebx, ecx
sete byte [esi + 0x40]
sete cl
mov edi, 0xc0943188
mov eax, 0xcad2cb8d
cmove edi, eax
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0x220]
setl ch
mov edx, 0xc0943188
cmovge edi, edx
xor ch, cl
cmovne edi, eax
mov ecx, 0xff93f7cc
nop dword [eax + eax]
cmp ecx, 0xcad2cb8c
jg 0x46f2e0
cmp ecx, 0xa3d2977a
je 0x46f31f
cmp ecx, 0xc0943188
jne 0x46f2c0
mov ecx, 0xa3d2977a
jmp 0x46f2c0
cmp ecx, 0xcad2cb8d
je 0x46f330
cmp ecx, 0xff93f7cc
jne 0x46f2c0
mov dh, byte [esi + 0x40]
movzx ecx, byte [esi + 0x220]
mov ch, dh
xor ch, cl
mov eax, 0xc0943188
mov dword [esi + 0x24], ebx
mov ebx, 0xa3d2977a
cmovne eax, ebx
test cl, cl
mov ecx, eax
cmovne ecx, ebx
mov ebx, dword [esi + 0x24]
test dh, dh
cmove ecx, eax
jmp 0x46f2c0
mov ecx, edi
jmp 0x46f2c0
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
cmp byte [esi + 0x34], 0
je 0x46f1c1
test cl, 1
jne 0x46ef5e
mov eax, dword [0x60a970]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x60a974]
sete byte [esi + 0x40]
sete dl
mov ecx, 0x7a659f1e
mov edi, 0x3b451eaf
cmove ecx, edi
cmp eax, 0xa
setl byte [esi + 0x220]
setl al
mov ebx, 0x7a659f1e
cmovge ecx, ebx
xor al, dl
cmovne ecx, edi
mov edx, 0xdbf7d62a
nop word cs:[eax + eax]
cmp edx, 0x3b451eae
jg 0x46f3d0
cmp edx, 0xdbf7d62a
je 0x46f3e7
cmp edx, 0x23248e6d
jne 0x46f3b0
mov edx, ecx
jmp 0x46f3b0
cmp edx, 0x3b451eaf
je 0x46f420
cmp edx, 0x7a659f1e
jne 0x46f3b0
mov edx, 0x23248e6d
jmp 0x46f3b0
movzx eax, byte [esi + 0x40]
movzx edx, byte [esi + 0x220]
mov ah, al
xor ah, dl
mov edi, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x46f3b0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x46f180
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x60a948]
mov dword [esi + 0x18], eax
mov eax, dword [0x60a94c]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x46f180
mov ecx, edi
call fcn.00466ab0
lea ecx, [esi + 0x394]
call fcn.00473240
lea ecx, [esi + 0x310]
call fcn.0043ac70
lea ecx, [esi + 0x11c]
call fcn.00466d70
mov ecx, dword [0x60a978]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a97c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x46f4ce
or cl, al
test cl, 1
jne 0x471c50
lea ecx, [esi + 0x34c]
call fcn.0040f050
mov dword [esi + 0x4e8], 0xc
mov dword [esi + 0x40], 1
mov dword [esi + 0x4e8], 0xc
lea eax, [esi + 0x40]
push eax
call fcn.00473330
add esp, 4
mov ecx, dword [0x60a978]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a97c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x46b232
or cl, al
test cl, 1
je 0x46b232
jmp 0x46b210
mov eax, dword [0x60a9c8]
mov ecx, dword [0x60a9cc]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xfa]
cmp ecx, 0xa
setl byte [esi + 0xfb]
mov eax, 0xcd70254d
cmp eax, 0xf789952d
jg 0x46f585
cmp eax, 0xcd70254d
je 0x4703a9
cmp eax, 0xd8474401
jne 0x46f565
mov edi, 0xa
jmp 0x46f5aa
cmp eax, 0xf789952e
je 0x4703d9
cmp eax, 0x1c2aad5b
jne 0x46f565
jmp 0x47123a
lea ecx, [esi + 0x214]
call fcn.0043a730
mov edi, dword [esi + 0x7c]
cmp edi, 0x1f3
ja 0x4711ed
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60a94c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x46f5e3
or cl, al
jne 0x46f61c
lea ecx, [esi + 0x214]
call fcn.004376b0
mov edx, dword [0x60a948]
mov ecx, dword [0x60a94c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
mov dword [esi + 0x28], ecx
cmp ecx, 0xa
setl cl
test cl, al
jne 0x46f629
xor cl, al
jne 0x46f629
lea ecx, [esi + 0x214]
call fcn.004376b0
jmp 0x46f5e3
mov dword [esi + 0x34], edx
lea eax, [edi + 1]
mov dword [esi + 0x7c], eax
imul eax, edi
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x3c], eax
xor edx, edx
div edi
mov ebx, eax
mov dword [esi + 0x14], ecx
mov eax, ebx
imul eax, ecx
mov edx, ebx
mulx ecx, edx, ebx
add eax, eax
add eax, ecx
mov edi, dword [esi + 0x3c]
cmp edx, edi
sbb eax, 0
jae 0x46fcf0
sub edi, ebx
mov ecx, edi
mov dword [esi + 0x18], edi
mov edi, ebx
mov eax, 0
mov ebx, dword [esi + 0x14]
sbb eax, ebx
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], edi
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005ce830
mov dword [esi + 0x24], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x2c], edx
mov edx, eax
mov dword [esi + 0x10], ebx
imul edx, ebx
mov ebx, dword [esi + 0x24]
add ecx, edx
mov edx, ebx
mov dword [esi + 0x38], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x18]
sub ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x1c]
sbb edi, edx
or edi, ecx
je 0x46f6d9
mov eax, dword [esi + 0x34]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x10]
jmp 0x46fbf5
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x44c], ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x448], ecx
mov dword [esi + 0x454], ebx
mov dword [esi + 0x1c], eax
mov dword [esi + 0x450], eax
mov dword [esi + 0x4e8], 0x1c
lea ecx, [esi + 0x3cc]
lea eax, [esi + 0x2f8]
push eax
lea eax, [esi + 0x458]
push eax
lea eax, [esi + 0x448]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x100]
cmp ecx, 0xa
setl byte [esi + 0x101]
mov ecx, 0x2e15417a
mov ebx, dword [esi + 0x20]
cmp ecx, 0x17af7ff1
jg 0x46f793
cmp ecx, 0x8241d35c
je 0x46f7d4
cmp ecx, 0xe4607b2d
jne 0x46f755
mov dword [esi + 0x4e8], 0x1e
lea ecx, [esi + 0x214]
lea eax, [esi + 0x3cc]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
mov ebx, dword [esi + 0x20]
jmp 0x46f755
cmp ecx, 0x17af7ff2
je 0x46f837
cmp ecx, 0x2e15417a
jne 0x46f755
movzx eax, byte [esi + 0x100]
movzx ecx, byte [esi + 0x101]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x46f755
mov dword [esi + 0x4e8], 0x1e
lea ecx, [esi + 0x214]
lea eax, [esi + 0x3cc]
push eax
call fcn.00437f80
mov ebx, dword [esi + 0x20]
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
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, 0xe4607b2d
mov edi, 0x17af7ff2
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x46f755
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x1c]
cmp eax, 0x668e2123
jg 0x46f886
cmp eax, 0xaf287e03
je 0x46f8c5
cmp eax, 0x392c4627
jne 0x46f86c
jmp 0x46f90f
cmp eax, 0x668e2124
je 0x46f924
cmp eax, 0x67d88a6c
jne 0x46f86c
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46f866
lea ecx, [esi + 0x3cc]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x46f866
lea ecx, [esi + 0x3cc]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46f866
mov eax, dword [esi + 0x24]
mov dword [esi + 0x43c], eax
mov dword [esi + 0x438], edx
mov dword [esi + 0x444], ecx
mov dword [esi + 0x440], ebx
mov dword [esi + 0x4e8], 0x1c
lea ecx, [esi + 0x388]
lea eax, [esi + 0x2f4]
push eax
lea eax, [esi + 0x448]
push eax
lea eax, [esi + 0x438]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x102]
cmp ecx, 0xa
setl byte [esi + 0x103]
mov ecx, 0x2e15417a
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
cmp ecx, 0x17af7ff1
jg 0x46f9b7
cmp ecx, 0x8241d35c
je 0x46fa28
cmp ecx, 0xe4607b2d
jne 0x46f99d
jmp 0x46f9ff
cmp ecx, 0x17af7ff2
je 0x46fa86
cmp ecx, 0x2e15417a
jne 0x46f99d
movzx eax, byte [esi + 0x102]
movzx ecx, byte [esi + 0x103]
mov edx, eax
xor dl, cl
test cl, cl
mov ebx, 0xe4607b2d
mov ecx, 0x8241d35c
cmovne ebx, ecx
test al, al
mov eax, 0xe4607b2d
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
mov ecx, ebx
jmp 0x46f99a
mov dword [esi + 0x4e8], 0x1d
lea ecx, [esi + 0x214]
lea eax, [esi + 0x388]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
mov edi, dword [esi + 0x10]
jmp 0x46f99a
mov dword [esi + 0x4e8], 0x1d
lea ecx, [esi + 0x214]
lea eax, [esi + 0x388]
push eax
call fcn.00437f80
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
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 edi, 0xe4607b2d
mov ebx, 0x17af7ff2
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
jmp 0x46f997
mov eax, dword [0x60a948]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a94c], 0xa
setl cl
test cl, al
jne 0x46fab2
xor cl, al
je 0x46fbc5
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
cmp eax, 0x668e2123
jg 0x46fb07
cmp eax, 0xaf287e03
je 0x46fb49
cmp eax, 0x392c4627
jne 0x46fae0
lea ecx, [esi + 0x388]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46fae0
cmp eax, 0x668e2124
je 0x46fb96
cmp eax, 0x67d88a6c
jne 0x46fae0
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
mov edi, dword [esi + 0x10]
test cl, cl
cmove eax, edx
jmp 0x46fae0
lea ecx, [esi + 0x388]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
mov edi, dword [esi + 0x10]
jmp 0x46fae0
mov eax, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x34], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x46fbf5
xor dl, cl
jne 0x46fbf5
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
jmp 0x46fc69
test eax, eax
setne cl
sete dl
cmp dword [esi + 0x28], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
cmp al, 1
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x38]
je 0x46fcd2
jmp 0x46fcea
lea ecx, [esi + 0x388]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
mov edi, dword [esi + 0x10]
cmp eax, 0x668e2123
jg 0x46fc90
cmp eax, 0xaf287e03
je 0x46fc22
cmp eax, 0x392c4627
jne 0x46fc69
lea ecx, [esi + 0x388]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x46fc69
cmp eax, 0x668e2124
je 0x46fab2
cmp eax, 0x67d88a6c
jne 0x46fc69
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
mov edi, dword [esi + 0x10]
test cl, cl
cmove eax, edx
jmp 0x46fc69
mov edi, ecx
mov edx, ebx
add ebx, 1
adc ecx, 0
test al, al
jne 0x46f642
add edx, 2
adc edi, 0
mov ebx, edx
mov ecx, edi
jmp 0x46fcd2
mov ecx, dword [esi + 0x214]
mov eax, dword [esi + 0x218]
mov ebx, eax
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
jb 0x46fe9a
mov dword [esi + 0x1c], 1
mov dword [esi + 0x18], 0
mov dword [esi + 0x2c], 0xffffffff
mov edx, dword [esi + 0x34]
jmp 0x46fd5e
mov edx, dword [esi + 0x1c]
inc edx
mov edi, dword [esi + 0x214]
mov ebx, dword [esi + 0x218]
mov ecx, ebx
sub ecx, edi
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x18], 0xc
dec dword [esi + 0x2c]
mov dword [esi + 0x1c], edx
cmp edx, ecx
mov edx, dword [esi + 0x34]
jae 0x46fea8
lea eax, [edx + 1]
mov dword [esi + 0x34], edx
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test cl, al
jne 0x46fd8f
xor cl, al
mov ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x1c]
jne 0x46fda7
jmp 0x471c94
mov ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x1c]
jmp 0x46fda7
add edi, 0xfffffff4
mov ecx, dword [esi + 0x14]
inc ecx
je 0x46fe73
mov dword [esi + 0x20], ebx
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0x214]
mov eax, dword [edx + edi]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x34]
lea ebx, [eax + 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
and eax, ebx
mov dword [esi + 0x24], edi
mov ebx, dword [edx + edi + 0xc]
mov ecx, dword [ebx]
mov edi, dword [esi + 0x10]
cmp ecx, dword [edi]
mov ecx, dword [ebx + 4]
mov ebx, dword [esi + 0x10]
sbb ecx, dword [ebx + 4]
jge 0x46fe73
mov ebx, dword [esi + 0x20]
dec ebx
test eax, eax
setne al
sete ah
cmp dword [esi + 0x28], 0xa
setge cl
setl ch
xor ch, ah
jne 0x46fe09
or cl, al
mov edi, dword [esi + 0x24]
jne 0x46fe5d
jmp 0x46fe0c
mov edi, dword [esi + 0x24]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov eax, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x34], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x28], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x46fd9a
or dl, cl
je 0x46fd9a
mov edx, dword [esi + 0x214]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov edx, dword [esi + 0x214]
jmp 0x46fe0c
test eax, eax
sete ch
setne cl
cmp dword [esi + 0x28], 0xa
setl dh
setge dl
cmp ch, dh
jne 0x46fd2c
or cl, dl
je 0x46fd2c
jmp 0x471c9a
mov edi, ecx
mov edx, dword [esi + 0x34]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
mov dword [esi + 0x38], ebx
mov dword [esi + 0x2c], edi
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test al, cl
jne 0x46fece
xor al, cl
jne 0x46fece
jmp 0x471c9c
add dword [esi + 0x2c], 0xc
mov edx, dword [esi + 0x34]
lea eax, [edx + 1]
mov dword [esi + 0x34], edx
imul eax, edx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne cl
sete dl
cmp dword [esi + 0x28], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, dword [0x60a960]
mov edx, dword [0x60a964]
mov dword [esi + 0x10], edx
mov dword [esi + 0x20], ecx
jne 0x46ffd6
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
and edi, edx
test edi, edi
sete cl
mov ebx, dword [esi + 0x10]
cmp ebx, 0xa
setl dl
xor dl, cl
mov ecx, 0x1bb2d94f
mov edx, 0x1e3fd21
cmovne ecx, edx
test edi, edi
sete byte [esi + 0x40]
mov edi, ecx
cmove edi, edx
cmp ebx, 0xa
setl byte [esi + 0x220]
cmovge edi, ecx
mov ebx, 0xd04893e1
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
jmp 0x46ff90
movzx ecx, byte [esi + 0x40]
movzx edx, byte [esi + 0x220]
mov ah, dl
xor ah, cl
test dl, dl
mov ebx, 0x1bb2d94f
mov edx, 0xf3871576
cmovne ebx, edx
test cl, cl
mov ecx, 0x1bb2d94f
cmove ebx, ecx
test ah, ah
cmovne ebx, edx
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x2c]
cmp ebx, 0x1e3fd20
jg 0x46ffac
cmp ebx, 0xd04893e1
je 0x46ff5d
cmp ebx, 0xf3871576
jne 0x46ff90
mov ebx, edi
jmp 0x46ff90
cmp ebx, 0x1e3fd21
je 0x46ffc3
cmp ebx, 0x1bb2d94f
jne 0x46ff90
mov ebx, 0xf3871576
jmp 0x46ff90
cmp ecx, edx
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
mov ecx, dword [esi + 0x20]
lea edi, [ecx - 1]
imul edi, ecx
and edi, 1
sete byte [esi + 0x40]
sete ah
mov edx, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmove edx, ecx
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x220]
setl bl
mov ecx, 0x1bb2d94f
cmovge edx, ecx
xor bl, ah
mov ecx, 0x1e3fd21
cmovne edx, ecx
mov ebx, 0xd04893e1
nop dword [eax + eax]
cmp ebx, 0x1e3fd20
jg 0x47003c
cmp ebx, 0xd04893e1
je 0x470053
cmp ebx, 0xf3871576
jne 0x470020
mov ebx, edx
jmp 0x470020
cmp ebx, 0x1e3fd21
je 0x470082
cmp ebx, 0x1bb2d94f
jne 0x470020
mov ebx, 0xf3871576
jmp 0x470020
mov ah, byte [esi + 0x40]
movzx ebx, byte [esi + 0x220]
mov bh, ah
xor bh, bl
mov ecx, 0x1bb2d94f
mov dword [esi + 0x14], edi
mov edi, 0xf3871576
cmovne ecx, edi
test bl, bl
mov ebx, ecx
cmovne ebx, edi
mov edi, dword [esi + 0x14]
test ah, ah
cmove ebx, ecx
jmp 0x470020
mov ecx, dword [esi + 0x38]
cmp dword [esi + 0x2c], ecx
sete byte [esi + 0x120]
movzx edx, byte [esi + 0x120]
test al, al
je 0x46ff1b
test dl, 1
jne 0x46f59c
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov dword [esi + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x20], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x34]
jmp 0x4700ce
add dword [esi + 0x10], 8
lea eax, [ecx + 1]
mov dword [esi + 0x34], ecx
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
setne al
cmp dword [esi + 0x28], 0xa
setge cl
mov ah, cl
xor ah, al
or cl, al
xor cl, 1
or cl, ah
mov byte [esi + 0x18], cl
jne 0x4701c4
mov ecx, dword [esi + 0x1c]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
and edx, eax
test edx, edx
sete byte [esi + 0x40]
sete al
mov ebx, 0xc0943188
mov edx, 0xcad2cb8d
cmove ebx, edx
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0x220]
setl cl
mov edi, 0xc0943188
cmovge ebx, edi
xor cl, al
cmovne ebx, edx
mov eax, 0xff93f7cc
jmp 0x470150
mov eax, ebx
nop word [eax + eax]
cmp eax, 0xcad2cb8c
jg 0x470170
cmp eax, 0xa3d2977a
je 0x470145
cmp eax, 0xc0943188
jne 0x470150
mov eax, 0xa3d2977a
jmp 0x470150
cmp eax, 0xcad2cb8d
je 0x4701b0
cmp eax, 0xff93f7cc
jne 0x470150
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x220]
mov edx, ecx
xor dl, al
mov edx, 0xc0943188
mov edi, 0xa3d2977a
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x470150
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov eax, dword [esi + 0x1c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
and eax, 1
sete al
mov ebx, dword [esi + 0x14]
cmp ebx, 0xa
setl ah
xor ah, al
mov edi, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne edi, ecx
and edx, 1
sete byte [esi + 0x40]
mov eax, edi
cmove eax, ecx
cmp ebx, 0xa
setl byte [esi + 0x220]
cmovge eax, edi
mov edi, 0xff93f7cc
nop dword [eax + eax]
cmp edi, 0xcad2cb8c
jg 0x470230
cmp edi, 0xa3d2977a
je 0x470270
cmp edi, 0xc0943188
jne 0x470210
mov edi, 0xa3d2977a
jmp 0x470210
cmp edi, 0xcad2cb8d
je 0x470280
cmp edi, 0xff93f7cc
jne 0x470210
mov ch, byte [esi + 0x40]
mov byte [esi + 0x24], ch
mov cl, byte [esi + 0x220]
xor ch, cl
mov ebx, 0xc0943188
mov edi, 0xa3d2977a
cmovne ebx, edi
test cl, cl
mov edi, ebx
mov ecx, 0xa3d2977a
cmovne edi, ecx
cmp byte [esi + 0x24], 0
cmove edi, ebx
jmp 0x470210
mov edi, eax
jmp 0x470210
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
cmp byte [esi + 0x18], 0
je 0x47010d
test al, 1
jne 0x46fec7
mov eax, dword [0x60a970]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x60a974]
sete byte [esi + 0x40]
sete cl
mov edx, 0x7a659f1e
mov edi, 0x3b451eaf
cmove edx, edi
cmp eax, 0xa
setl byte [esi + 0x220]
setl al
mov ebx, 0x7a659f1e
cmovge edx, ebx
xor al, cl
cmovne edx, edi
mov eax, 0xdbf7d62a
cmp eax, 0x3b451eae
jg 0x470310
cmp eax, 0xdbf7d62a
je 0x470325
cmp eax, 0x23248e6d
jne 0x4702f0
mov eax, edx
jmp 0x4702f0
cmp eax, 0x3b451eaf
je 0x47034f
cmp eax, 0x7a659f1e
jne 0x4702f0
mov eax, 0x23248e6d
jmp 0x4702f0
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x220]
mov ah, cl
xor ah, al
mov edi, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test cl, cl
cmove eax, edi
jmp 0x4702f0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
mov ecx, dword [esi + 0x34]
jne 0x4700ca
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x60a948]
mov eax, dword [0x60a94c]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x4700ca
movzx ecx, byte [esi + 0xfa]
movzx eax, byte [esi + 0xfb]
mov edx, ecx
xor dl, al
mov edx, 0xd8474401
mov edi, 0xf789952e
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x46f565
mov eax, 0xa
jmp 0x4703f1
lea ecx, [esi + 0x208]
call fcn.0043a730
mov eax, dword [esi + 0x3a4]
mov dword [esi + 0x10], eax
cmp eax, 0x1f3
ja 0x4711f7
mov ecx, dword [0x60a948]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a94c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x470428
or cl, al
test cl, 1
jne 0x470468
lea ecx, [esi + 0x208]
call fcn.004376b0
mov ecx, dword [0x60a948]
mov ebx, dword [0x60a94c]
lea eax, [ecx + 1]
mov edi, ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
setne al
mov dword [esi + 0x28], ebx
cmp ebx, 0xa
setl ah
setge cl
cmp ah, dl
jne 0x470475
or cl, al
je 0x470475
lea ecx, [esi + 0x208]
call fcn.004376b0
jmp 0x470428
mov ebx, dword [esi + 0x10]
lea eax, [ebx + 1]
mov dword [esi + 0x3a4], eax
imul eax, ebx
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x3c], eax
xor edx, edx
div ebx
mov dword [esi + 0x18], edi
mov dword [esi + 0x10], ecx
mov edi, eax
imul edi, ecx
mov edx, eax
mov dword [esi + 0x14], eax
mulx ecx, edx, edx
add edi, edi
add edi, ecx
mov eax, dword [esi + 0x3c]
cmp edx, eax
sbb edi, 0
jae 0x470b3b
mov edi, dword [esi + 0x14]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x34], eax
mov eax, 0
mov ebx, dword [esi + 0x10]
sbb eax, ebx
mov dword [esi + 0x1c], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005ce830
mov dword [esi + 0x20], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x2c], edx
mov edx, eax
mov dword [esi + 0x38], ebx
imul edx, ebx
mov ebx, dword [esi + 0x20]
add ecx, edx
mov edx, ebx
mov dword [esi + 0x24], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x1c]
sbb edi, edx
or edi, ecx
je 0x470523
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
mov dword [esi + 0x18], ecx
imul eax, ecx
and eax, 1
jmp 0x470a42
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x42c], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x428], ecx
mov dword [esi + 0x434], ebx
mov dword [esi + 0x1c], eax
mov dword [esi + 0x430], eax
mov dword [esi + 0x4e8], 0x1f
lea ecx, [esi + 0x3c0]
lea eax, [esi + 0x2f0]
push eax
lea eax, [esi + 0x438]
push eax
lea eax, [esi + 0x428]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xfc]
cmp ecx, 0xa
setl byte [esi + 0xfd]
mov edi, 0x2e15417a
mov ebx, dword [esi + 0x1c]
cmp edi, 0x17af7ff1
jg 0x4705dd
cmp edi, 0x8241d35c
je 0x470626
cmp edi, 0xe4607b2d
jne 0x47059f
mov dword [esi + 0x4e8], 0x21
lea ecx, [esi + 0x208]
lea eax, [esi + 0x3c0]
push eax
call fcn.00437f80
mov edi, 0x8241d35c
mov ebx, dword [esi + 0x1c]
jmp 0x47059f
cmp edi, 0x17af7ff2
je 0x470689
cmp edi, 0x2e15417a
jne 0x47059f
movzx eax, byte [esi + 0xfc]
movzx ecx, byte [esi + 0xfd]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xe4607b2d
mov ecx, 0x8241d35c
cmovne edi, ecx
test al, al
mov eax, 0xe4607b2d
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x47059f
mov dword [esi + 0x4e8], 0x21
lea ecx, [esi + 0x208]
lea eax, [esi + 0x3c0]
push eax
call fcn.00437f80
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
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 edi, 0xe4607b2d
mov ebx, 0x17af7ff2
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
mov ebx, dword [esi + 0x1c]
cmp eax, 0xa
cmovge ecx, edi
mov edi, ecx
jmp 0x47059f
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
cmp eax, 0x668e2123
jg 0x4706d7
cmp eax, 0xaf287e03
je 0x47071b
cmp eax, 0x392c4627
jne 0x4706bd
jmp 0x470764
cmp eax, 0x668e2124
je 0x470779
cmp eax, 0x67d88a6c
jne 0x4706bd
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x4706b7
lea ecx, [esi + 0x3c0]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x4706b7
lea ecx, [esi + 0x3c0]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x4706b7
mov eax, dword [esi + 0x20]
mov dword [esi + 0x41c], eax
mov dword [esi + 0x418], ebx
mov dword [esi + 0x424], ecx
mov dword [esi + 0x420], edx
mov dword [esi + 0x4e8], 0x1f
lea ecx, [esi + 0x37c]
lea eax, [esi + 0x2ec]
push eax
lea eax, [esi + 0x428]
push eax
lea eax, [esi + 0x418]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xfe]
cmp ecx, 0xa
setl byte [esi + 0xff]
mov ecx, 0x2e15417a
cmp ecx, 0x17af7ff1
jg 0x470827
cmp ecx, 0x8241d35c
je 0x470868
cmp ecx, 0xe4607b2d
jne 0x4707ec
mov dword [esi + 0x4e8], 0x20
lea ecx, [esi + 0x208]
lea eax, [esi + 0x37c]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
jmp 0x4707ec
cmp ecx, 0x17af7ff2
je 0x4708c6
cmp ecx, 0x2e15417a
jne 0x4707ec
movzx eax, byte [esi + 0xfe]
movzx ecx, byte [esi + 0xff]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x4707ec
mov dword [esi + 0x4e8], 0x20
lea ecx, [esi + 0x208]
lea eax, [esi + 0x37c]
push eax
call fcn.00437f80
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
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 edi, 0xe4607b2d
mov ebx, 0x17af7ff2
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
jmp 0x4707ec
mov ecx, dword [0x60a948]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a94c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x4708f3
or cl, al
test cl, 1
jne 0x470a11
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
cmp eax, 0x668e2123
jg 0x470949
cmp eax, 0xaf287e03
je 0x47098d
cmp eax, 0x392c4627
jne 0x470922
lea ecx, [esi + 0x37c]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x470922
cmp eax, 0x668e2124
je 0x4709db
cmp eax, 0x67d88a6c
jne 0x470922
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x470922
lea ecx, [esi + 0x37c]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
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 edi, 0x392c4627
mov ebx, 0x668e2124
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x470922
mov eax, dword [0x60a948]
mov edi, dword [0x60a94c]
lea ecx, [eax + 1]
mov dword [esi + 0x18], eax
imul ecx, eax
mov eax, ecx
and eax, 1
sete dh
mov dword [esi + 0x28], edi
cmp edi, 0xa
setge dl
setl bl
xor bl, dh
jne 0x470a42
or dl, cl
test dl, 1
mov ebx, dword [esi + 0x24]
je 0x470a45
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x220]
cmp ecx, 0xa
setl byte [esi + 0x120]
mov eax, 0x67d88a6c
jmp 0x470ab7
mov ebx, dword [esi + 0x24]
test eax, eax
setne dh
cmp dword [esi + 0x28], 0xa
setge cl
mov dl, dh
xor dl, cl
or dh, cl
xor dh, 1
or dh, dl
cmp dh, 1
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x38]
je 0x470b1d
jmp 0x470b35
lea ecx, [esi + 0x37c]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
cmp eax, 0x668e2123
jg 0x470ade
cmp eax, 0xaf287e03
je 0x470a73
cmp eax, 0x392c4627
jne 0x470ab7
lea ecx, [esi + 0x37c]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x470ab7
cmp eax, 0x668e2124
je 0x4708f3
cmp eax, 0x67d88a6c
jne 0x470ab7
movzx ecx, byte [esi + 0x220]
movzx eax, byte [esi + 0x120]
mov edx, ecx
xor dl, al
mov edx, 0x392c4627
mov edi, 0xaf287e03
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x470ab7
mov edi, ecx
mov ebx, eax
add eax, 1
adc ecx, 0
test dh, dh
jne 0x470492
add ebx, 2
adc edi, 0
mov eax, ebx
mov ecx, edi
jmp 0x470b1d
mov ecx, dword [esi + 0x208]
mov eax, dword [esi + 0x20c]
mov edi, eax
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
mov ebx, dword [esi + 0x18]
jb 0x470cdc
mov dword [esi + 0x34], 1
mov dword [esi + 0x3c], 0
mov dword [esi + 0x7c], 0xffffffff
jmp 0x470baa
mov edi, dword [esi + 0x34]
inc edi
mov edx, dword [esi + 0x208]
mov ecx, dword [esi + 0x20c]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x2c], edx
sub ecx, edx
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x3c], 0xc
dec dword [esi + 0x7c]
mov dword [esi + 0x34], edi
cmp edi, ecx
jae 0x470ced
lea eax, [ebx + 1]
imul eax, ebx
test al, 1
sete dl
cmp dword [esi + 0x28], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x470bdb
or cl, al
mov edx, dword [esi + 0x7c]
mov edi, dword [esi + 0x3c]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x1c], eax
test cl, 1
je 0x470bf6
jmp 0x471c96
mov edx, dword [esi + 0x7c]
mov edi, dword [esi + 0x3c]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x1c], eax
jmp 0x470bf6
add edi, 0xfffffff4
mov edx, dword [esi + 0x20]
inc edx
je 0x470cbb
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x208]
mov eax, dword [edx + edi]
mov dword [esi + 0x10], eax
mov dword [esi + 0x24], edi
mov ecx, dword [edx + edi + 0xc]
mov dword [esi + 0x14], ecx
lea eax, [ebx - 1]
imul eax, ebx
and eax, 1
mov ecx, dword [ecx]
mov edi, dword [esi + 0x10]
cmp ecx, dword [edi]
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 0x10]
sbb ecx, dword [edi + 4]
jge 0x470cbb
dec dword [esi + 0x1c]
test eax, eax
sete ah
setne al
cmp dword [esi + 0x28], 0xa
setl ch
setge cl
cmp ch, ah
jne 0x470c53
or cl, al
mov edi, dword [esi + 0x24]
jne 0x470ca5
jmp 0x470c56
mov edi, dword [esi + 0x24]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov ebx, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete ch
setne cl
mov dword [esi + 0x28], edx
cmp edx, 0xa
setl dh
setge dl
cmp dh, ch
jne 0x470be9
or dl, cl
je 0x470be9
mov edx, dword [esi + 0x208]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov edx, dword [esi + 0x208]
jmp 0x470c56
test eax, eax
sete cl
cmp dword [esi + 0x28], 0xa
setl dl
test cl, dl
jne 0x470b77
xor cl, dl
jne 0x470b77
jmp 0x471c98
mov edx, ecx
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x38], edi
test eax, eax
sete al
cmp dword [esi + 0x28], 0xa
setl cl
test al, cl
jne 0x470d0d
xor al, cl
jne 0x470d0d
jmp 0x471c9e
add dword [esi + 0x2c], 0xc
mov ebx, dword [esi + 0x18]
lea ecx, [ebx + 1]
mov dword [esi + 0x18], ebx
imul ecx, ebx
test cl, 1
sete dl
cmp dword [esi + 0x28], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, dword [0x60a960]
mov edx, dword [0x60a964]
mov dword [esi + 0x10], edx
test al, 1
mov dword [esi + 0x20], ecx
jne 0x470e0a
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
and edi, edx
test edi, edi
sete cl
mov ebx, dword [esi + 0x10]
cmp ebx, 0xa
setl dl
xor dl, cl
mov ecx, 0x1bb2d94f
mov edx, 0x1e3fd21
cmovne ecx, edx
test edi, edi
sete byte [esi + 0x40]
mov edi, ecx
cmove edi, edx
cmp ebx, 0xa
setl byte [esi + 0x220]
cmovge edi, ecx
mov ebx, 0xd04893e1
jmp 0x470dc0
movzx ecx, byte [esi + 0x40]
movzx edx, byte [esi + 0x220]
mov ah, cl
xor ah, dl
test dl, dl
mov ebx, 0x1bb2d94f
mov edx, 0xf3871576
cmovne ebx, edx
test cl, cl
mov ecx, 0x1bb2d94f
cmove ebx, ecx
test ah, ah
cmovne ebx, edx
nop
cmp ebx, 0x1e3fd20
jg 0x470ddc
cmp ebx, 0xd04893e1
je 0x470d91
cmp ebx, 0xf3871576
jne 0x470dc0
mov ebx, edi
jmp 0x470dc0
cmp ebx, 0x1e3fd21
je 0x470df3
cmp ebx, 0x1bb2d94f
jne 0x470dc0
mov ebx, 0xf3871576
jmp 0x470dc0
mov ecx, dword [esi + 0x38]
cmp dword [esi + 0x2c], ecx
sete byte [esi + 0x120]
movzx ecx, byte [esi + 0x120]
mov ecx, dword [esi + 0x20]
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
sete byte [esi + 0x40]
sete ah
mov edx, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmove edx, ecx
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x220]
setl bl
mov ecx, 0x1bb2d94f
cmovge edx, ecx
xor bl, ah
mov ecx, 0x1e3fd21
cmovne edx, ecx
mov ebx, 0xd04893e1
nop dword [eax]
cmp ebx, 0x1e3fd20
jg 0x470e6c
cmp ebx, 0xd04893e1
je 0x470e83
cmp ebx, 0xf3871576
jne 0x470e50
mov ebx, edx
jmp 0x470e50
cmp ebx, 0x1e3fd21
je 0x470eb2
cmp ebx, 0x1bb2d94f
jne 0x470e50
mov ebx, 0xf3871576
jmp 0x470e50
mov ah, byte [esi + 0x40]
movzx ebx, byte [esi + 0x220]
mov bh, ah
xor bh, bl
mov ecx, 0x1bb2d94f
mov dword [esi + 0x14], edi
mov edi, 0xf3871576
cmovne ecx, edi
test bl, bl
mov ebx, ecx
cmovne ebx, edi
mov edi, dword [esi + 0x14]
test ah, ah
cmove ebx, ecx
jmp 0x470e50
mov ecx, dword [esi + 0x2c]
cmp ecx, dword [esi + 0x38]
sete byte [esi + 0x120]
movzx edx, byte [esi + 0x120]
test al, 1
je 0x470d55
test dl, 1
jne 0x4703e0
mov eax, dword [ecx]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
mov ebx, dword [esi + 0x18]
jmp 0x470efb
add dword [esi + 0x10], 8
lea eax, [ebx + 1]
mov dword [esi + 0x18], ebx
imul eax, ebx
test al, 1
sete dh
cmp dword [esi + 0x28], 0xa
setge cl
setl bl
or cl, al
xor bl, dh
xor cl, 1
or cl, bl
mov byte [esi + 0x34], cl
test cl, 1
jne 0x470ff4
mov ecx, dword [esi + 0x1c]
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
test ebx, ebx
sete byte [esi + 0x40]
sete al
mov ebx, 0xc0943188
mov edx, 0xcad2cb8d
cmove ebx, edx
cmp dword [esi + 0x14], 0xa
setl byte [esi + 0x220]
setl cl
mov edi, 0xc0943188
cmovge ebx, edi
xor cl, al
cmovne ebx, edx
mov eax, 0xff93f7cc
jmp 0x470f80
mov eax, ebx
nop word cs:[eax + eax]
cmp eax, 0xcad2cb8c
jg 0x470fa0
cmp eax, 0xa3d2977a
je 0x470f70
cmp eax, 0xc0943188
jne 0x470f80
mov eax, 0xa3d2977a
jmp 0x470f80
cmp eax, 0xcad2cb8d
je 0x470fe0
cmp eax, 0xff93f7cc
jne 0x470f80
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x220]
mov edx, ecx
xor dl, al
mov edx, 0xc0943188
mov edi, 0xa3d2977a
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x470f80
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
mov ecx, dword [esi + 0x1c]
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
mov edi, ebx
and edi, eax
sete ch
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl cl
xor cl, ch
mov edi, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne edi, ecx
and ebx, eax
sete byte [esi + 0x40]
mov eax, edi
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0x220]
cmovge eax, edi
mov edi, 0xff93f7cc
nop
cmp edi, 0xcad2cb8c
jg 0x471060
cmp edi, 0xa3d2977a
je 0x4710a0
cmp edi, 0xc0943188
jne 0x471040
mov edi, 0xa3d2977a
jmp 0x471040
cmp edi, 0xcad2cb8d
je 0x4710b0
cmp edi, 0xff93f7cc
jne 0x471040
mov dh, byte [esi + 0x40]
mov byte [esi + 0x24], dh
mov ch, byte [esi + 0x220]
xor dh, ch
mov edx, 0xc0943188
mov edi, 0xa3d2977a
cmovne edx, edi
test ch, ch
mov edi, edx
mov ecx, 0xa3d2977a
cmovne edi, ecx
cmp byte [esi + 0x24], 0
cmove edi, edx
jmp 0x471040
mov edi, eax
jmp 0x471040
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x10], eax
sete byte [esi + 0x120]
movzx eax, byte [esi + 0x120]
test byte [esi + 0x34], 1
je 0x470f38
test al, 1
jne 0x470d06
mov ecx, dword [0x60a970]
mov eax, dword [0x60a974]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x7a659f1e
mov edi, 0x3b451eaf
cmovne ecx, edi
cmp edx, 0xffffffff
sete byte [esi + 0x40]
mov edx, ecx
cmove edx, edi
cmp eax, 0xa
setl byte [esi + 0x220]
cmovge edx, ecx
mov edi, 0xdbf7d62a
mov ebx, dword [esi + 0x18]
nop dword [eax + eax]
cmp edi, 0x3b451eae
jg 0x471150
cmp edi, 0xdbf7d62a
je 0x471167
cmp edi, 0x23248e6d
jne 0x471130
mov edi, edx
jmp 0x471130
cmp edi, 0x3b451eaf
je 0x471196
cmp edi, 0x7a659f1e
jne 0x471130
mov edi, 0x23248e6d
jmp 0x471130
movzx eax, byte [esi + 0x40]
movzx ecx, byte [esi + 0x220]
mov ah, cl
xor ah, al
test cl, cl
mov edi, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne edi, ebx
test al, al
mov ecx, 0x7a659f1e
cmove edi, ecx
test ah, ah
cmovne edi, ebx
jmp 0x471125
mov eax, dword [esi + 0x10]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov ecx, dword [eax + 4]
mov edx, 0x136
xor ecx, edx
mov eax, dword [eax]
mov edx, 0xf74f03be
xor eax, edx
or eax, ecx
jne 0x470ef7
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov ebx, dword [0x60a948]
mov eax, dword [0x60a94c]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x1c], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x14], eax
jmp 0x470ef7
mov eax, 0xf789952e
jmp 0x46f565
mov edx, dword [0x60a9c8]
mov ecx, dword [0x60a9cc]
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 edi, 0xd8474401
mov ebx, 0x1c2aad5b
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x46f565
mov ecx, dword [esi + 0x11c]
mov dword [esi + 0x4e8], 0x1b
call fcn.005237c0
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a97c], 0xa
setl cl
test cl, al
jne 0x47127b
xor cl, al
je 0x471ca0
lea ecx, [esi + 0xa0]
call fcn.004666c0
add eax, 0x3c
push eax
lea eax, [esi + 0x468]
push eax
call fcn.0043b590
add esp, 8
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60a97c], 0xa
setl cl
test cl, al
lea ebx, [esi + 0x468]
jne 0x4712c9
xor cl, al
je 0x471311
jmp 0x4712c9
mov ecx, ebx
call fcn.00472ff0
mov edi, eax
mov ecx, ebx
call fcn.0040d830
push 0
push edi
push eax
call fcn.0045ae00
add esp, 0xc
mov edx, dword [0x60a978]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
cmp dword [0x60a97c], 0xa
mov dword [esi + 0x10], eax
setge al
setl ah
xor ah, dl
jne 0x47132f
or al, cl
test al, 1
je 0x47132f
mov ecx, ebx
call fcn.00472ff0
mov edi, eax
mov ecx, ebx
call fcn.0040d830
push 0
push edi
push eax
call fcn.0045ae00
add esp, 0xc
jmp 0x4712c9
cmp dword [esi + 0x10], 0
je 0x4717c1
mov eax, 0xde8d433b
mov ecx, 0x3cc8427b
mov dword [esi + 0x20], ecx
mov dword [esi + 0x14], eax
mov eax, 0x841f274c
mov ecx, 0x8aea748b
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x24], eax
xor eax, eax
lea ecx, [esi + 0x220]
mov dword [esi + 0x18], ecx
jmp 0x471375
lea eax, [esi + 0x40]
push eax
push dword [esi + 0x10]
call fcn.00460650
add esp, 8
mov eax, dword [esi + 0x14]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x22c], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x228], eax
mov eax, dword [esi + 0x18]
vmovaps xmm0, xmmword [eax]
mov eax, dword [0x60a848]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete byte [esi + 0x334]
mov ecx, dword [0x60a84c]
mov eax, 0x224ba512
mov edi, 0x332b6ef5
cmove eax, edi
sete dl
cmp ecx, 0xa
vmovaps xmm1, xmmword [esi + 0x40]
setl cl
setl byte [esi + 0x1d8]
vandnps xmm2, xmm1, xmm0
vandnps xmm0, xmm0, xmm1
vorps xmm0, xmm2, xmm0
mov ebx, 0x224ba512
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x84a35f8c
cmp ecx, 0x224ba511
jle 0x471434
cmp ecx, 0x224ba512
je 0x471448
cmp ecx, 0x332b6ef5
jne 0x47141a
jmp 0x47147c
cmp ecx, 0x84a35f8c
je 0x47144f
cmp ecx, 0xf8d3d77
jne 0x47141a
mov ecx, eax
jmp 0x47141a
mov ecx, 0xf8d3d77
jmp 0x47141a
movzx edx, byte [esi + 0x334]
movzx ecx, byte [esi + 0x1d8]
mov ch, dl
xor ch, cl
mov ebx, 0x224ba512
mov edi, 0xf8d3d77
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x47141a
mov edx, dword [0x60a850]
mov ecx, dword [0x60a854]
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, 0xae925cc1
mov edi, 0x4bd4f086
cmovne edx, edi
cmp eax, 0xffffffff
vmovaps xmmword [esi + 0x120], xmm0
vmovaps xmm0, xmmword [esi + 0x120]
sete byte [esi + 0x1d8]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x120]
cmovge eax, edx
mov ecx, 0x47ea23b6
cmp ecx, 0x47ea23b5
jg 0x471503
cmp ecx, 0x91a4fdaa
je 0x471540
cmp ecx, 0xae925cc1
jne 0x4714df
vmovaps xmmword [esi + 0x40], xmm0
mov ecx, 0x91a4fdaa
jmp 0x4714df
cmp ecx, 0x4bd4f086
je 0x471549
cmp ecx, 0x47ea23b6
jne 0x4714df
movzx edx, byte [esi + 0x1d8]
movzx ecx, byte [esi + 0x120]
mov ch, dl
xor ch, cl
mov ebx, 0xae925cc1
mov edi, 0x91a4fdaa
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x4714df
vmovaps xmmword [esi + 0x40], xmm0
mov ecx, eax
jmp 0x4714df
lea eax, [esi + 0x40]
push eax
push dword [esi + 0x10]
call fcn.00460650
add esp, 8
mov edi, eax
mov ecx, dword [0x60a978]
mov eax, dword [0x60a97c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete bl
setne dl
cmp eax, 0xa
setl bh
setge dh
cmp bh, bl
jne 0x471763
or dh, dl
je 0x471763
mov eax, dword [esi + 0x14]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x22c], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x228], eax
xor eax, eax
lea ecx, [esi + 0x220]
vmovaps xmm0, xmmword [ecx]
mov eax, dword [0x60a848]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x1d8]
mov ecx, dword [0x60a84c]
mov eax, 0x224ba512
mov edi, 0x332b6ef5
cmove eax, edi
sete dl
cmp ecx, 0xa
vmovaps xmm1, xmmword [esi + 0x40]
setl cl
setl byte [esi + 0x40]
vandnps xmm2, xmm1, xmm0
vandnps xmm0, xmm0, xmm1
vorps xmm0, xmm2, xmm0
mov ebx, 0x224ba512
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x84a35f8c
cmp ecx, 0x224ba511
jle 0x471653
cmp ecx, 0x224ba512
je 0x471667
cmp ecx, 0x332b6ef5
jne 0x471639
jmp 0x471698
cmp ecx, 0x84a35f8c
je 0x47166e
cmp ecx, 0xf8d3d77
jne 0x471639
mov ecx, eax
jmp 0x471639
mov ecx, 0xf8d3d77
jmp 0x471639
movzx edx, byte [esi + 0x1d8]
movzx ecx, byte [esi + 0x40]
mov ch, dl
xor ch, cl
mov edi, 0x224ba512
mov ebx, 0xf8d3d77
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x471639
mov edx, dword [0x60a850]
mov ecx, dword [0x60a854]
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, 0xae925cc1
mov edi, 0x4bd4f086
cmovne edx, edi
cmp eax, 0xffffffff
vmovaps xmmword [esi + 0x120], xmm0
vmovaps xmm0, xmmword [esi + 0x120]
sete byte [esi + 0x40]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x120]
cmovge eax, edx
mov ecx, 0x47ea23b6
cmp ecx, 0x47ea23b5
jg 0x47171c
cmp ecx, 0x91a4fdaa
je 0x47175a
cmp ecx, 0xae925cc1
jne 0x4716f8
vmovaps xmmword [esi + 0x40], xmm0
mov ecx, 0x91a4fdaa
jmp 0x4716f8
cmp ecx, 0x4bd4f086
je 0x471366
cmp ecx, 0x47ea23b6
jne 0x4716f8
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x120]
mov ch, dl
xor ch, cl
mov edi, 0xae925cc1
mov ebx, 0x91a4fdaa
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x4716f8
vmovaps xmmword [esi + 0x40], xmm0
mov ecx, eax
jmp 0x4716f8
test edi, edi
je 0x4717a4
lea ecx, [esi + 0x104]
call fcn.004730c0
mov ebx, eax
lea ecx, [esi + 0x310]
call fcn.0044ae10
mov dword [esi + 0x4e8], 0x25
push ebx
push eax
call edi
add esp, 8
mov edx, dword [0x60a978]
mov eax, dword [0x60a97c]
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
test ecx, ecx
sete dl
setne cl
cmp eax, 0xa
setl ah
setge al
cmp ah, dl
jne 0x4717c1
or al, cl
jne 0x471ca2
mov eax, dword [0x60a988]
mov ecx, dword [0x60a98c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x40]
cmp ecx, 0xa
setl byte [esi + 0x220]
mov eax, 0x3def23ff
cmp eax, 0xde9169a
jg 0x471815
cmp eax, 0x8e89d987
je 0x4718a9
cmp eax, 0xcc8e990
jne 0x4717ec
mov word [esi + 0x1d8], 0x7a61
mov eax, 0xde9169b
jmp 0x4717ec
cmp eax, 0xde9169b
je 0x47184d
cmp eax, 0x3def23ff
jne 0x4717ec
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x220]
mov edx, ecx
xor dl, al
mov edx, 0xcc8e990
mov edi, 0xde9169b
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4717ec
lea eax, [esi + 0x1d8]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x120]
mov word [eax], 0x7a61
mov edx, dword [0x60a988]
mov ecx, dword [0x60a98c]
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, 0xcc8e990
mov edi, 0x8e89d987
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4717ec
mov eax, dword [esi + 0x120]
sub esp, 4
movzx eax, byte [esi + 0x220]
mov byte [esp], al
lea edi, [esi + 0x120]
mov ecx, edi
call fcn.0043dd20
mov ecx, edi
call fcn.0040d170
mov dword [esi + 0x4e8], 0x26
mov dword [esi + 0x14], 0
jmp 0x4718f5
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
cmp eax, 0x3e8
je 0x471ca4
movsx eax, byte [esi + 0x1d9]
movsx edx, byte [esi + 0x1d8]
mov dword [esi + 0x4e8], 0x26
lea ecx, [esi + 0x1d8]
push eax
push edx
lea eax, [esi + 0x2fc]
push eax
call fcn.00435510
mov ecx, dword [0x60a990]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x60a994], 0xa
setl dl
test dl, cl
jne 0x47194e
xor dl, cl
je 0x471c92
movsx eax, al
lea ecx, [esi + 0x120]
push eax
call fcn.00436970
lea ecx, [esi + 0x120]
call fcn.005664d0
cmp byte [eax], 0x6f
je 0x4719e0
mov ecx, dword [0x60a990]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a994], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x471996
or cl, al
test cl, 1
jne 0x4719ca
lea ecx, [esi + 0x120]
call fcn.005664d0
mov ecx, dword [0x60a990]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x60a994], 0xa
setl dl
test dl, cl
jne 0x4719d7
xor dl, cl
jne 0x4719d7
lea ecx, [esi + 0x120]
call fcn.005664d0
jmp 0x471996
cmp byte [eax], 0x75
jne 0x4718e3
lea edi, [esi + 0x120]
mov ecx, edi
call fcn.0040d830
mov dword [esi + 0x40], eax
mov ecx, edi
call fcn.0040d830
add eax, dword [esi + 0x130]
mov dword [esi + 0x10], eax
jmp 0x471a08
mov eax, dword [esi + 0x220]
mov edx, dword [0x60a998]
mov ecx, dword [0x60a99c]
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, 0x4a293c83
mov edi, 0x61c5fcf1
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x334]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x220]
cmovge eax, ebx
mov ecx, 0x354728f5
nop dword [eax]
cmp ecx, 0x4a293c82
jle 0x471a80
cmp ecx, 0x4a293c83
je 0x471ac2
cmp ecx, 0x61c5fcf1
jne 0x471a60
jmp 0x471acd
cmp ecx, 0xb74ba074
je 0x471ac9
cmp ecx, 0x354728f5
jne 0x471a60
movzx edx, byte [esi + 0x334]
movzx ecx, byte [esi + 0x220]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x4a293c83
mov ebx, 0xb74ba074
cmovne ecx, ebx
test dl, dl
mov edi, 0x4a293c83
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x471a60
mov ecx, 0xb74ba074
jmp 0x471a60
mov ecx, eax
jmp 0x471a60
mov ebx, dword [esi + 0x40]
cmp ebx, dword [esi + 0x10]
je 0x4718e3
movsx eax, byte [ebx]
push eax
call fcn.005de535
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [ebx], cl
mov eax, dword [0x60a9a0]
mov ecx, dword [0x60a9a4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x80]
cmp ecx, 0xa
setl byte [esi + 0x334]
mov eax, 0xc2538ca0
nop dword [eax]
cmp eax, 0x1ec364a7
jg 0x471b40
cmp eax, 0xc2538ca0
je 0x471ba8
cmp eax, 0xbc7d055
jne 0x471b20
inc dword [esi + 0x40]
mov eax, 0x640d1264
jmp 0x471b20
cmp eax, 0x1ec364a8
je 0x471a02
cmp eax, 0x640d1264
jne 0x471b20
lea eax, [esi + 0x40]
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x220]
inc dword [eax]
mov edx, dword [0x60a9a0]
mov ecx, dword [0x60a9a4]
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, 0xbc7d055
mov edi, 0x1ec364a8
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x471b20
movzx ecx, byte [esi + 0x80]
movzx eax, byte [esi + 0x334]
mov edx, ecx
xor dl, al
mov edx, 0xbc7d055
mov edi, 0x640d1264
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x471b20
jmp 0x471bf0
jmp 0x471c00
jmp 0x471c10
jmp 0x471c20
jmp 0x471c30
jmp 0x471c40
jmp 0x471c50
jmp 0x471c60
jmp 0x471c70
jmp 0x471c80
jmp 0x471c90
jmp 0x471c92
jmp 0x471c94
jmp 0x471c96
jmp 0x471c98
jmp 0x471c9a
jmp 0x471c9c
jmp 0x471c9e
jmp 0x471ca0
jmp 0x471ca2
mov eax, dword [0x60a990]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60a994], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x471cd7
or cl, al
jne 0x471e09
jmp 0x471cd7
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x334]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ebx, 0x1d50f87a
cmp ebx, 0xb86c542
jg 0x471d1f
cmp ebx, 0xcb7dce01
je 0x471d59
cmp ebx, 0xf454cecc
jne 0x471d02
jmp 0x471dca
cmp ebx, 0xb86c543
je 0x471d6b
cmp ebx, 0x1d50f87a
jne 0x471d02
movzx ecx, byte [esi + 0x334]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0xcb7dce01
mov edi, 0xb86c543
cmovne edx, edi
test al, al
mov ebx, edx
cmovne ebx, edi
test cl, cl
cmove ebx, edx
jmp 0x471d02
lea ecx, [esi + 0x120]
call fcn.0040d830
mov ebx, 0xb86c543
jmp 0x471d02
lea ecx, [esi + 0x120]
call fcn.0040d830
mov ebx, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
mov dword [esi + 0x10], ecx
lea edx, [ebx + 1]
imul edx, ebx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ecx, 0xcb7dce01
mov ebx, 0xf454cecc
cmovne ecx, ebx
test edi, edx
mov ebx, ecx
mov edx, 0xf454cecc
cmove ebx, edx
cmp dword [esi + 0x10], 0xa
cmovge ebx, ecx
add eax, 0xd7
mov dword [esi + 0x10], eax
jmp 0x471d02
mov eax, dword [esi + 0x10]
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x220]
mov ecx, dword [0x60a990]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x60a994], 0xa
setl dl
test dl, cl
jne 0x471ef9
xor dl, cl
jne 0x471ef9
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x334]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x1d50f87a
jmp 0x471e82
lea ecx, [esi + 0x120]
call fcn.0040d830
mov ebx, eax
add ebx, 0xd7
mov eax, dword [0x60a9a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xcb7dce01
mov edi, 0xf454cecc
cmove eax, edi
cmp dword [0x60a9ac], 0xa
mov edx, 0xcb7dce01
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
cmp eax, 0xb86c542
jg 0x471e99
cmp eax, 0xcb7dce01
je 0x471ed6
cmp eax, 0xf454cecc
jne 0x471e82
jmp 0x471ee8
cmp eax, 0xb86c543
je 0x471e36
cmp eax, 0x1d50f87a
jne 0x471e82
movzx ecx, byte [esi + 0x334]
movzx eax, byte [esi + 0x40]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xcb7dce01
mov edi, 0xb86c543
cmovne eax, edi
test cl, cl
mov ecx, 0xcb7dce01
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x471e82
lea ecx, [esi + 0x120]
call fcn.0040d830
mov eax, 0xb86c543
jmp 0x471e82
cmp byte [eax], 0x31
jne 0x47200b
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x334]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x1d50f87a
cmp eax, 0xb86c542
jg 0x471f48
cmp eax, 0xcb7dce01
je 0x471f80
cmp eax, 0xf454cecc
jne 0x471f2e
jmp 0x471ff0
cmp eax, 0xb86c543
je 0x471f92
cmp eax, 0x1d50f87a
jne 0x471f2e
movzx ecx, byte [esi + 0x334]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0xcb7dce01
mov edi, 0xb86c543
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x471f2e
lea ecx, [esi + 0x120]
call fcn.0040d830
mov eax, 0xb86c543
jmp 0x471f2e
lea ecx, [esi + 0x120]
call fcn.0040d830
mov ebx, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
mov dword [esi + 0x10], ecx
lea edx, [ebx + 1]
imul edx, ebx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0xcb7dce01
mov ebx, 0xf454cecc
cmovne edi, ebx
mov ecx, eax
cmp edx, 0xffffffff
mov eax, edi
cmove eax, ebx
cmp dword [esi + 0x10], 0xa
cmovge eax, edi
add ecx, 0x2d0
mov ebx, ecx
jmp 0x471f2e
mov dword [esi + 0x220], ebx
mov eax, dword [esi + 0x220]
cmp byte [eax], 0x30
jne 0x47200b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x120]
call fcn.0040f050
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60a97c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x472043
or cl, al
jne 0x47207b
lea ecx, [esi + 0x468]
call fcn.0040f050
mov eax, dword [0x60a978]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60a97c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x472088
or cl, al
je 0x472088
lea ecx, [esi + 0x468]
call fcn.0040f050
jmp 0x472043
lea ecx, [esi + 0xa0]
call fcn.00466ab0
lea ecx, [esi + 0x394]
call fcn.00473240
lea ecx, [esi + 0x310]
call fcn.0043ac70
lea ecx, [esi + 0x11c]
call fcn.00466d70
lea ecx, [esi + 0x34c]
call fcn.0040f050
lea ecx, [esi + 0x104]
call fcn.0040f050
mov eax, dword [esi + 0x4e0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret