Function at 0x53c7b0
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf8
mov esi, esp
mov dword [esi + 0xe0], ebp
mov dword [esi + 0xe4], esp
mov dword [esi + 0xf0], 0xffffffff
lea eax, [esi + 0xe8]
mov dword [esi + 0xec], 0x5883e0
mov ecx, dword fs:[0]
mov dword [esi + 0xe8], ecx
mov dword fs:[0], eax
mov eax, dword [0x5c6990]
mov ecx, dword [0x5c6994]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xd6]
cmp ecx, 0xa
setl byte [esi + 0xd7]
mov eax, 0x9b90cc88
mov edi, 0x52b7e1e4
nop dword [eax]
cmp eax, 0xdb1f0692
jg 0x53c850
cmp eax, 0x9b90cc88
je 0x56115e
cmp eax, 0xa69aa85c
jne 0x53c830
jmp 0x585c72
cmp eax, 0xdb1f0693
je 0x561189
cmp eax, 0x52b7e1e4
jne 0x53c830
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xdc], eax
mov esp, eax
mov dword [esi + 0xd8], esp
mov eax, dword [0x5c6998]
mov ecx, dword [0x5c699c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xd4]
cmp ecx, 0xa
setl byte [esi + 0xd5]
mov eax, 0x7a3dcd10
nop word cs:[eax + eax]
cmp eax, 0x3c79427f
jg 0x53c9b0
cmp eax, 0x882b8ee6
je 0x585950
cmp eax, 0x3a573551
jne 0x53c8b0
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
xor edi, edi
nop word cs:[eax + eax]
cmp edi, 0x64
jae 0x53cac3
mov dword [esi + 4], edi
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x39
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
mov edi, dword [esi + 4]
inc edi
cmp ah, dl
jne 0x53c910
or cl, al
je 0x53c910
jmp 0x585a10
cmp eax, 0x3c794280
je 0x53c9f2
cmp eax, 0x7a3dcd10
jne 0x53c8b0
movzx ecx, byte [esi + 0xd4]
movzx eax, byte [esi + 0xd5]
mov edx, ecx
xor dl, al
mov edx, 0x3a573551
mov ebx, 0x3c794280
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x53c8b0
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
xor edx, edx
nop dword [eax + eax]
cmp edx, 0x64
jae 0x53d1d2
mov dword [esi + 4], edx
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
mov edx, dword [esi + 4]
inc edx
test cl, al
jne 0x53ca30
xor cl, al
jne 0x53ca30
jmp 0x585a20
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop
cmp ecx, 0x5722fc0e
jg 0x53cb60
cmp ecx, 0xc56a9b93
je 0x53cbc3
cmp ecx, 0xd3cadfc0
jne 0x53cb10
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x53cb10
cmp ecx, 0x5722fc0f
je 0x53cbd0
cmp ecx, 0x615aa6db
jne 0x53cb10
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x53cb10
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x53cb10
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
nop
cmp ecx, 0x1aabc940
jg 0x53cc60
cmp ecx, 0x80dc4cc9
je 0x53cc77
cmp ecx, 0x7f3e42f
jne 0x53cc20
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53cc20
cmp ecx, 0x1aabc941
je 0x53cc80
cmp ecx, 0x5add25f0
jne 0x53cc20
mov ecx, 0x80dc4cc9
jmp 0x53cc20
mov ecx, eax
jmp 0x53cc20
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x53d90d
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
nop word [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x53cd20
cmp ecx, 0xc56a9b93
je 0x53cd7d
cmp ecx, 0xd3cadfc0
jne 0x53ccd0
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53ccd0
cmp ecx, 0x5722fc0f
je 0x53cd90
cmp ecx, 0x615aa6db
jne 0x53ccd0
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x53ccd0
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x53ccd0
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x53cda3
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x30], cl
mov eax, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov dword [esi + 0x10], eax
jne 0x53cea3
mov ecx, eax
inc eax
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete al
mov ecx, dword [esi + 4]
cmp ecx, 0xa
setl dl
xor dl, al
mov eax, 0x5add25f0
mov edx, 0x1aabc941
cmovne eax, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, edx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov eax, 0x7f3e42f
jmp 0x53ce30
mov eax, edi
nop word cs:[eax + eax]
cmp eax, 0x1aabc940
jg 0x53ce80
cmp eax, 0x80dc4cc9
je 0x53ce24
cmp eax, 0x7f3e42f
jne 0x53ce30
movzx edx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne eax, ebx
test dl, dl
mov ecx, 0x5add25f0
cmove eax, ecx
test dh, dh
cmovne eax, ebx
jmp 0x53ce30
cmp eax, 0x1aabc941
je 0x53cea0
cmp eax, 0x5add25f0
jne 0x53ce30
mov eax, 0x80dc4cc9
jmp 0x53ce30
mov eax, dword [esi + 0x10]
lea edi, [eax - 1]
imul edi, eax
and edi, 1
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov edx, 0x1aabc941
cmove eax, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov ecx, 0x5add25f0
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov ebx, 0x7f3e42f
nop dword [eax]
cmp ebx, 0x1aabc940
jg 0x53cf30
cmp ebx, 0x80dc4cc9
je 0x53cf47
cmp ebx, 0x7f3e42f
jne 0x53cee0
movzx edx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test dl, dl
mov ecx, 0x5add25f0
cmove ebx, ecx
test dh, dh
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
jmp 0x53cee0
cmp ebx, 0x1aabc941
je 0x53cf50
cmp ebx, 0x5add25f0
jne 0x53cee0
mov ebx, 0x80dc4cc9
jmp 0x53cee0
mov ebx, eax
jmp 0x53cee0
cmp byte [esi + 0x30], 0
je 0x53cdeb
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x53d070
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x53d0c0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
nop dword [eax]
cmp eax, 0x3d9eb8cc
jg 0x53cfe0
cmp eax, 0x9f04b71e
je 0x53d036
cmp eax, 0xaf18808
jne 0x53cfc0
jmp 0x53cda0
cmp eax, 0x3d9eb8cd
je 0x53d060
cmp eax, 0x6301b93d
jne 0x53cfc0
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x53cfc0
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x53cfc0
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x53cfc0
mov dword [esi + 0xf0], 0x3a
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x53d0f5
xor cl, al
jne 0x53d0f5
jmp 0x585a40
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x53d0f5
xor cl, al
je 0x585a80
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
nop
cmp eax, 0x3d9eb8cc
jg 0x53d140
cmp eax, 0x9f04b71e
je 0x53d195
cmp eax, 0xaf18808
jne 0x53d120
jmp 0x53cbd0
cmp eax, 0x3d9eb8cd
je 0x53d1c4
cmp eax, 0x6301b93d
jne 0x53d120
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x53d120
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x53d120
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x53d120
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop dword [eax]
cmp ecx, 0x5722fc0e
jg 0x53d270
cmp ecx, 0xc56a9b93
je 0x53d2cd
cmp ecx, 0xd3cadfc0
jne 0x53d220
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53d220
cmp ecx, 0x5722fc0f
je 0x53d2e0
cmp ecx, 0x615aa6db
jne 0x53d220
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x53d220
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x53d220
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3f7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
sete cl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x7f3e42f
nop dword [eax]
cmp ecx, 0x1aabc940
jg 0x53d380
cmp ecx, 0x80dc4cc9
je 0x53d397
cmp ecx, 0x7f3e42f
jne 0x53d330
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x53d330
cmp ecx, 0x1aabc941
je 0x53d3a0
cmp ecx, 0x5add25f0
jne 0x53d330
mov ecx, 0x80dc4cc9
jmp 0x53d330
mov ecx, eax
jmp 0x53d330
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x53da44
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x53d440
cmp ecx, 0xc56a9b93
je 0x53d4a3
cmp ecx, 0xd3cadfc0
jne 0x53d3f0
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x53d3f0
cmp ecx, 0x5722fc0f
je 0x53d4b0
cmp ecx, 0x615aa6db
jne 0x53d3f0
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x53d3f0
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x53d3f0
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x53d4c3
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c3f64], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x1c], al
mov ecx, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
mov dword [esi + 4], edx
mov dword [esi + 0x10], ecx
jne 0x53d5c3
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
mov dword [esi + 0x30], edx
cmp dword [esi + 0x30], 0
sete byte [esi + 0xf]
sete cl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge edi, eax
xor dl, cl
cmovne edi, ebx
mov ebx, 0x7f3e42f
jmp 0x53d550
mov ebx, edi
nop dword [eax]
cmp ebx, 0x1aabc940
jg 0x53d5a0
cmp ebx, 0x80dc4cc9
je 0x53d54b
cmp ebx, 0x7f3e42f
jne 0x53d550
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, dl
xor ah, cl
test dl, dl
mov ebx, 0x5add25f0
mov edx, 0x80dc4cc9
cmovne ebx, edx
test cl, cl
mov ecx, 0x5add25f0
cmove ebx, ecx
test ah, ah
cmovne ebx, edx
jmp 0x53d550
cmp ebx, 0x1aabc941
je 0x53d5c0
cmp ebx, 0x5add25f0
jne 0x53d550
mov ebx, 0x80dc4cc9
jmp 0x53d550
mov ecx, dword [esi + 0x10]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and ecx, 1
sete cl
mov edi, dword [esi + 4]
cmp edi, 0xa
setl ah
xor ah, cl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
and edx, 1
mov dword [esi + 0x30], edx
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, eax
cmp edi, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
nop word [eax + eax]
cmp ebx, 0x1aabc940
jg 0x53d650
cmp ebx, 0x80dc4cc9
je 0x53d667
cmp ebx, 0x7f3e42f
jne 0x53d610
mov ah, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov bh, ah
xor bh, bl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov ebx, edx
cmovne ebx, edi
test ah, ah
cmove ebx, edx
jmp 0x53d610
cmp ebx, 0x1aabc941
je 0x53d670
cmp ebx, 0x5add25f0
jne 0x53d610
mov ebx, 0x80dc4cc9
jmp 0x53d610
mov ebx, ecx
jmp 0x53d610
cmp byte [esi + 0x1c], 0
je 0x53d514
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x53d790
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x53d7e0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
nop dword [eax + eax]
cmp eax, 0x3d9eb8cc
jg 0x53d700
cmp eax, 0x9f04b71e
je 0x53d756
cmp eax, 0xaf18808
jne 0x53d6e0
jmp 0x53d4c0
cmp eax, 0x3d9eb8cd
je 0x53d780
cmp eax, 0x6301b93d
jne 0x53d6e0
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x53d6e0
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x53d6e0
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x53d6e0
mov dword [esi + 0xf0], 1
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x53d81a
or cl, al
je 0x53d81a
jmp 0x585a60
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x53d81a
or cl, al
jne 0x585ab0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
nop word cs:[eax + eax]
cmp eax, 0x3d9eb8cc
jg 0x53d870
cmp eax, 0x9f04b71e
je 0x53d8d0
cmp eax, 0xaf18808
jne 0x53d850
jmp 0x53d2e0
cmp eax, 0x3d9eb8cd
je 0x53d8ff
cmp eax, 0x6301b93d
jne 0x53d850
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x53d850
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x53d850
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x53d850
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x53d938
xor cl, al
je 0x585bc0
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop word cs:[eax + eax]
cmp ecx, 0x5722fc0e
jg 0x53d9d0
cmp ecx, 0xc56a9b93
je 0x53da37
cmp ecx, 0xd3cadfc0
jne 0x53d980
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53d980
cmp ecx, 0x5722fc0f
je 0x53db6e
cmp ecx, 0x615aa6db
jne 0x53d980
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x53d980
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x53d980
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53da71
or cl, al
test cl, 1
jne 0x585bf0
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop dword [eax]
cmp ecx, 0x5722fc0e
jg 0x53db00
cmp ecx, 0xc56a9b93
je 0x53db61
cmp ecx, 0xd3cadfc0
jne 0x53dab0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53dab0
cmp ecx, 0x5722fc0f
je 0x53de77
cmp ecx, 0x615aa6db
jne 0x53dab0
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x53dab0
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x53dab0
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x53db83
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
mov eax, dword [esi + 4]
nop
cmp edx, 0x1aabc940
jg 0x53dc20
cmp edx, 0x80dc4cc9
je 0x53dc37
cmp edx, 0x7f3e42f
jne 0x53dbd0
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
mov eax, dword [esi + 4]
test bl, bl
cmove edx, edi
jmp 0x53dbd0
cmp edx, 0x1aabc941
je 0x53dc40
cmp edx, 0x5add25f0
jne 0x53dbd0
mov edx, 0x80dc4cc9
jmp 0x53dbd0
mov edx, ecx
jmp 0x53dbd0
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x53dd74
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x53dc7b
mov ebx, edi
sub ebx, edx
add eax, ebx
mov ebx, edi
sub ebx, edx
add eax, ebx
test cl, cl
je 0x53dc79
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
mov dword [esi + 4], eax
nop word cs:[eax + eax]
cmp ecx, 0x3d9eb8cc
jg 0x53dce0
cmp ecx, 0x9f04b71e
je 0x53dd3c
cmp ecx, 0xaf18808
jne 0x53dcc0
jmp 0x53db80
cmp ecx, 0x3d9eb8cd
je 0x53dd66
cmp ecx, 0x6301b93d
jne 0x53dcc0
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x53dcc0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x53dcc0
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x53dcc0
cmp eax, 0x12345678
jne 0x53dd85
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x94], esp
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
xor edx, edx
nop word cs:[eax + eax]
cmp edx, 0x64
jae 0x53e175
mov dword [esi + 4], edx
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x3b
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
mov edx, dword [esi + 4]
inc edx
test ch, ch
jne 0x53dde0
or cl, al
test cl, 1
je 0x53dde0
jmp 0x585ad0
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x53de93
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
mov eax, dword [esi + 4]
nop
cmp edx, 0x1aabc940
jg 0x53df30
cmp edx, 0x80dc4cc9
je 0x53df47
cmp edx, 0x7f3e42f
jne 0x53dee0
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
mov eax, dword [esi + 4]
test bl, bl
cmove edx, edi
jmp 0x53dee0
cmp edx, 0x1aabc941
je 0x53df50
cmp edx, 0x5add25f0
jne 0x53dee0
mov edx, 0x80dc4cc9
jmp 0x53dee0
mov edx, ecx
jmp 0x53dee0
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x53e084
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x53df94
mov ebx, edi
sub ebx, edx
add eax, ebx
mov ebx, edi
sub ebx, edx
add eax, ebx
test cl, cl
je 0x53df92
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
mov dword [esi + 4], eax
nop dword [eax + eax]
cmp ecx, 0x3d9eb8cc
jg 0x53dff0
cmp ecx, 0x9f04b71e
je 0x53e04c
cmp ecx, 0xaf18808
jne 0x53dfd0
jmp 0x53de90
cmp ecx, 0x3d9eb8cd
je 0x53e076
cmp ecx, 0x6301b93d
jne 0x53dfd0
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x53dfd0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x53dfd0
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x53dfd0
cmp eax, 0x12345678
jne 0x53e095
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x3c], esp
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
xor edi, edi
nop
cmp edi, 0x64
jae 0x53e8b2
mov dword [esi + 4], edi
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 2
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
mov edi, dword [esi + 4]
inc edi
cmp ch, dl
jne 0x53e0e0
or cl, al
test cl, 1
je 0x53e0e0
jmp 0x585ae0
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop word cs:[eax + eax]
cmp ecx, 0x5722fc0e
jg 0x53e220
cmp ecx, 0xc56a9b93
je 0x53e283
cmp ecx, 0xd3cadfc0
jne 0x53e1d0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53e1d0
cmp ecx, 0x5722fc0f
je 0x53e2a0
cmp ecx, 0x615aa6db
jne 0x53e1d0
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov eax, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov edx, 0x5722fc0f
cmovne ebx, edx
test edi, ecx
mov ecx, ebx
cmove ecx, edx
cmp eax, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x53e1d0
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x53e1d0
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3f7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
sete cl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x7f3e42f
nop dword [eax]
cmp ecx, 0x1aabc940
jg 0x53e330
cmp ecx, 0x80dc4cc9
je 0x53e347
cmp ecx, 0x7f3e42f
jne 0x53e2f0
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53e2f0
cmp ecx, 0x1aabc941
je 0x53e350
cmp ecx, 0x5add25f0
jne 0x53e2f0
mov ecx, 0x80dc4cc9
jmp 0x53e2f0
mov ecx, eax
jmp 0x53e2f0
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x53efed
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x53e3f0
cmp ecx, 0xc56a9b93
je 0x53e454
cmp ecx, 0xd3cadfc0
jne 0x53e3a0
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x53e3a0
cmp ecx, 0x5722fc0f
je 0x53e470
cmp ecx, 0x615aa6db
jne 0x53e3a0
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x53e3a0
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x53e3a0
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x53e483
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
mov eax, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov dword [esi + 0x1c], eax
jne 0x53e583
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
and edi, edx
test edi, edi
sete cl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov edx, 0x7f3e42f
jmp 0x53e520
mov edx, edi
nop word cs:[eax + eax]
cmp edx, 0x1aabc940
jg 0x53e560
cmp edx, 0x80dc4cc9
je 0x53e510
cmp edx, 0x7f3e42f
jne 0x53e520
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
jmp 0x53e520
cmp edx, 0x1aabc941
je 0x53e580
cmp edx, 0x5add25f0
jne 0x53e520
mov edx, 0x80dc4cc9
jmp 0x53e520
mov eax, dword [esi + 0x1c]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
nop word cs:[eax + eax]
cmp ebx, 0x1aabc940
jg 0x53e620
cmp ebx, 0x80dc4cc9
je 0x53e637
cmp ebx, 0x7f3e42f
jne 0x53e5d0
mov ah, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov bh, ah
xor bh, bl
mov ecx, 0x5add25f0
mov dword [esi + 0x30], edi
mov edi, 0x80dc4cc9
cmovne ecx, edi
test bl, bl
mov ebx, ecx
cmovne ebx, edi
mov edi, dword [esi + 0x30]
test ah, ah
cmove ebx, ecx
jmp 0x53e5d0
cmp ebx, 0x1aabc941
je 0x53e640
cmp ebx, 0x5add25f0
jne 0x53e5d0
mov ebx, 0x80dc4cc9
jmp 0x53e5d0
mov ebx, edx
jmp 0x53e5d0
cmp byte [esi + 0x10], 0
je 0x53e4d7
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x53e75e
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x53e7a0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
nop dword [eax]
cmp eax, 0x3d9eb8cc
jg 0x53e6d0
cmp eax, 0x9f04b71e
je 0x53e726
cmp eax, 0xaf18808
jne 0x53e6b0
jmp 0x53e480
cmp eax, 0x3d9eb8cd
je 0x53e750
cmp eax, 0x6301b93d
jne 0x53e6b0
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x53e6b0
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x53e6b0
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x53e6b0
mov dword [esi + 0xf0], 0x3c
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x53e7d5
xor cl, al
jne 0x53e7d5
jmp 0x585b60
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x53e7d5
xor cl, al
je 0x585bb0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
nop
cmp eax, 0x3d9eb8cc
jg 0x53e820
cmp eax, 0x9f04b71e
je 0x53e87a
cmp eax, 0xaf18808
jne 0x53e800
jmp 0x53e2a0
cmp eax, 0x3d9eb8cd
je 0x53e8a4
cmp eax, 0x6301b93d
jne 0x53e800
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x53e800
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x53e800
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x53e800
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop dword [eax]
cmp ecx, 0x5722fc0e
jg 0x53e950
cmp ecx, 0xc56a9b93
je 0x53e9ae
cmp ecx, 0xd3cadfc0
jne 0x53e900
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53e900
cmp ecx, 0x5722fc0f
je 0x53e9c0
cmp ecx, 0x615aa6db
jne 0x53e900
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x53e900
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x53e900
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3f7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
sete cl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x7f3e42f
nop dword [eax]
cmp ecx, 0x1aabc940
jg 0x53ea50
cmp ecx, 0x80dc4cc9
je 0x53ea67
cmp ecx, 0x7f3e42f
jne 0x53ea10
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53ea10
cmp ecx, 0x1aabc941
je 0x53ea70
cmp ecx, 0x5add25f0
jne 0x53ea10
mov ecx, 0x80dc4cc9
jmp 0x53ea10
mov ecx, eax
jmp 0x53ea10
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x53f11c
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x53eb10
cmp ecx, 0xc56a9b93
je 0x53eb73
cmp ecx, 0xd3cadfc0
jne 0x53eac0
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x53eac0
cmp ecx, 0x5722fc0f
je 0x53eb80
cmp ecx, 0x615aa6db
jne 0x53eac0
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x53eac0
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x53eac0
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x53eb93
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x30], al
mov eax, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov dword [esi + 0x10], eax
jne 0x53eca3
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
and edi, ecx
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov ecx, 0x7f3e42f
jmp 0x53ec30
mov ecx, edi
nop word cs:[eax + eax]
cmp ecx, 0x1aabc940
jg 0x53ec80
cmp ecx, 0x80dc4cc9
je 0x53ec20
cmp ecx, 0x7f3e42f
jne 0x53ec30
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov ah, cl
xor ah, al
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test al, al
mov edx, 0x5add25f0
cmove ecx, edx
test ah, ah
cmovne ecx, ebx
jmp 0x53ec30
cmp ecx, 0x1aabc941
je 0x53eca0
cmp ecx, 0x5add25f0
jne 0x53ec30
mov ecx, 0x80dc4cc9
jmp 0x53ec30
mov eax, dword [esi + 0x10]
lea edi, [eax - 1]
imul edi, eax
mov ecx, edi
and ecx, 1
sete cl
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, cl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
and edi, 1
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
nop word cs:[eax + eax]
cmp ebx, 0x1aabc940
jg 0x53ed40
cmp ebx, 0x80dc4cc9
je 0x53ed57
cmp ebx, 0x7f3e42f
jne 0x53ecf0
movzx eax, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, al
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edx, 0x80dc4cc9
cmovne ebx, edx
test al, al
mov edx, 0x5add25f0
cmove ebx, edx
test ah, ah
mov eax, 0x80dc4cc9
cmovne ebx, eax
jmp 0x53ecf0
cmp ebx, 0x1aabc941
je 0x53ed60
cmp ebx, 0x5add25f0
jne 0x53ecf0
mov ebx, 0x80dc4cc9
jmp 0x53ecf0
mov ebx, ecx
jmp 0x53ecf0
cmp byte [esi + 0x30], 0
je 0x53ebe7
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x53ee8d
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x53eed0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
nop dword [eax + eax]
cmp eax, 0x3d9eb8cc
jg 0x53edf0
cmp eax, 0x9f04b71e
je 0x53ee50
cmp eax, 0xaf18808
jne 0x53edd0
jmp 0x53eb90
cmp eax, 0x3d9eb8cd
je 0x53ee7f
cmp eax, 0x6301b93d
jne 0x53edd0
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x53edd0
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x53edd0
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x53edd0
mov dword [esi + 0xf0], 3
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x53ef06
or cl, al
test cl, 1
je 0x53ef06
jmp 0x585b70
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53ef06
or cl, al
test cl, 1
jne 0x585b80
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
nop
cmp eax, 0x3d9eb8cc
jg 0x53ef50
cmp eax, 0x9f04b71e
je 0x53efb0
cmp eax, 0xaf18808
jne 0x53ef30
jmp 0x53e9c0
cmp eax, 0x3d9eb8cd
je 0x53efdf
cmp eax, 0x6301b93d
jne 0x53ef30
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x53ef30
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x53ef30
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x53ef30
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53f01a
or cl, al
test cl, 1
jne 0x585c10
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop word cs:[eax + eax]
cmp ecx, 0x5722fc0e
jg 0x53f0a8
cmp ecx, 0xc56a9b93
je 0x53f10f
cmp ecx, 0xd3cadfc0
jne 0x53f060
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x53f060
cmp ecx, 0x5722fc0f
je 0x53f24a
cmp ecx, 0x615aa6db
jne 0x53f060
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x53f060
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x53f060
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x53f147
xor cl, al
je 0x585c30
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop word cs:[eax + eax]
cmp ecx, 0x5722fc0e
jg 0x53f1d3
cmp ecx, 0xc56a9b93
je 0x53f23a
cmp ecx, 0xd3cadfc0
jne 0x53f190
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53f190
cmp ecx, 0x5722fc0f
je 0x53fae1
cmp ecx, 0x615aa6db
jne 0x53f190
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov eax, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov edx, 0x5722fc0f
cmovne ebx, edx
test edi, ecx
mov ecx, ebx
cmove ecx, edx
cmp eax, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x53f190
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x53f190
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x53f263
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
mov eax, dword [esi + 4]
nop word cs:[eax + eax]
cmp edx, 0x1aabc940
jg 0x53f310
cmp edx, 0x80dc4cc9
je 0x53f327
cmp edx, 0x7f3e42f
jne 0x53f2c0
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov eax, 0x5add25f0
cmove edx, eax
mov eax, dword [esi + 4]
test bh, bh
cmovne edx, edi
jmp 0x53f2c0
cmp edx, 0x1aabc941
je 0x53f330
cmp edx, 0x5add25f0
jne 0x53f2c0
mov edx, 0x80dc4cc9
jmp 0x53f2c0
mov edx, ecx
jmp 0x53f2c0
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x53f461
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x53f36b
mov ebx, edi
sub ebx, edx
add eax, ebx
mov ebx, edi
sub ebx, edx
add eax, ebx
test cl, cl
je 0x53f369
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
mov dword [esi + 4], eax
nop word cs:[eax + eax]
cmp ecx, 0x3d9eb8cc
jg 0x53f3d0
cmp ecx, 0x9f04b71e
je 0x53f429
cmp ecx, 0xaf18808
jne 0x53f3b0
jmp 0x53f260
cmp ecx, 0x3d9eb8cd
je 0x53f453
cmp ecx, 0x6301b93d
jne 0x53f3b0
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x53f3b0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x53f3b0
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x53f3b0
cmp eax, 0x12345678
jne 0x53f472
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c3fa0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3fa4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0xf963c607
mov edi, 0x77192157
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov ebx, 0xf963c607
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xa0dba2a4
nop dword [eax + eax]
cmp ecx, 0x734bd94a
jle 0x53f4ea
cmp ecx, 0x734bd94b
je 0x53f507
cmp ecx, 0x77192157
jne 0x53f4d0
jmp 0x53f53d
cmp ecx, 0xa0dba2a4
je 0x53f511
cmp ecx, 0xf963c607
jne 0x53f4d0
mov word [esi + 8], 0x7a61
mov ecx, 0x734bd94b
jmp 0x53f4d0
mov word [esi + 8], 0x7a61
mov ecx, eax
jmp 0x53f4d0
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xf963c607
mov ebx, 0x734bd94b
cmovne ecx, ebx
test dl, dl
mov edi, 0xf963c607
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x53f4d0
lea ecx, [esi + 0x60]
call fcn.0040ab10
mov dword [esi + 0xf0], 0x3d
xor eax, eax
jmp 0x53f562
mov eax, dword [esi + 0x20]
inc eax
cmp eax, 0x3e8
je 0x54035e
mov dword [esi + 0x20], eax
movsx eax, byte [esi + 9]
movsx edx, byte [esi + 8]
mov dword [esi + 0xf0], 0x3d
lea ecx, [esi + 8]
push eax
push edx
lea eax, [esi + 0x14]
push eax
call fcn.0041c940
movsx eax, al
lea ecx, [esi + 0x60]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x44], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
mov dword [esi + 0x3c], edx
cmp edx, 0xa
setge dl
mov ecx, edx
xor cl, al
or dl, al
xor dl, 1
or dl, cl
mov byte [esi + 0x10], dl
mov ecx, dword [0x5c3fb0]
mov eax, dword [0x5c3fb4]
mov dword [esi + 0x30], eax
mov dword [esi + 0x1c], ecx
jne 0x53f6ac
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
test ebx, ebx
setne al
sete cl
cmp dword [esi + 0x30], 0xa
setge dl
setl ah
xor ah, cl
or dl, al
xor dl, 1
or dl, ah
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
mov edx, 0x17e23197
jmp 0x53f640
mov edx, 0x8e14a9ab
nop word cs:[eax + eax]
cmp edx, 0xff38d62f
jg 0x53f670
cmp edx, 0x8e14a9ab
je 0x53f6a9
cmp edx, 0xae9be2ed
je 0x53f69e
cmp edx, 0xfef5751f
jne 0x53f640
mov edx, dword [esi + 0x24]
mov edx, 0x116ab669
jmp 0x53f640
cmp edx, 0xff38d630
je 0x53f630
cmp edx, 0x116ab669
je 0x53f6a2
cmp edx, 0x17e23197
jne 0x53f640
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov edi, 0xae9be2ed
cmovae edx, edi
jmp 0x53f640
mov edx, ecx
jmp 0x53f640
mov edx, dword [esi + 0x24]
mov edx, eax
jmp 0x53f640
mov ecx, dword [esi + 0x1c]
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x24]
lea ebx, [ecx - 1]
imul ebx, ecx
and ebx, 1
sete al
cmp dword [esi + 0x30], 0xa
setl cl
or cl, al
mov ecx, 0xfef5751f
mov eax, 0xff38d630
cmovne ecx, eax
mov dword [esi + 4], ecx
mov ecx, 0xfef5751f
mov eax, 0x116ab669
cmovne ecx, eax
mov eax, 0x17e23197
nop dword [eax]
cmp eax, 0xff38d62f
jg 0x53f720
cmp eax, 0x8e14a9ab
je 0x53f760
cmp eax, 0xae9be2ed
je 0x53f752
cmp eax, 0xfef5751f
jne 0x53f6f0
mov eax, 0x116ab669
jmp 0x53f759
cmp eax, 0xff38d630
je 0x53f74b
cmp eax, 0x116ab669
je 0x53f756
cmp eax, 0x17e23197
jne 0x53f6f0
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x14], 0x10
mov eax, 0x8e14a9ab
mov edx, 0xae9be2ed
cmovae eax, edx
jmp 0x53f6f0
mov eax, 0x8e14a9ab
jmp 0x53f6f0
mov eax, ecx
jmp 0x53f6f0
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x53f6f0
cmp byte [esi + 0x10], 0
je 0x53f5eb
mov eax, dword [esi + 0x70]
mov edx, 0xd264ff4b
add eax, edx
cmp byte [edi + eax + 0x2d9b00b4], 0x6f
je 0x53f811
lea edi, [esi + 0x60]
mov dword [esi + 0x24], edi
mov edi, 0x17e23197
mov ebx, dword [esi + 0x24]
cmp edi, 0xff38d62f
jg 0x53f7c0
cmp edi, 0x8e14a9ab
je 0x53f803
cmp edi, 0xae9be2ed
je 0x53f7f5
cmp edi, 0xfef5751f
jne 0x53f790
mov edi, 0x116ab669
jmp 0x53f7fc
cmp edi, 0xff38d630
je 0x53f7ee
cmp edi, 0x116ab669
je 0x53f7f9
cmp edi, 0x17e23197
jne 0x53f790
mov edi, dword [esi + 0x24]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
mov edx, 0xae9be2ed
cmovae edi, edx
jmp 0x53f790
mov edi, 0x8e14a9ab
jmp 0x53f790
mov edi, ecx
jmp 0x53f790
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0x24]
mov ebx, dword [ebx]
jmp 0x53f790
cmp byte [ebx + eax + 0x2d9b00b4], 0x75
jne 0x53f553
lea edi, [esi + 0x60]
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0xa8]
push eax
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ah
xor ah, dl
jne 0x53f8c8
or cl, al
je 0x53f8c8
nop word [eax + eax]
lea edi, [esi + 0x60]
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
lea ebx, [esi + 0xa8]
push ebx
call fcn.00432f10
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
push ebx
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x53f8c8
xor cl, al
je 0x53f860
jmp 0x53f8c8
lea ecx, [esi + 0x34]
call fcn.00539cc0
mov ecx, dword [0x5c3fb8]
mov eax, dword [0x5c3fbc]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 0x7c]
mov ecx, 0x6ca8d283
mov edx, 0xe88306d3
cmove ecx, edx
cmp eax, 0xa
setl bh
setl byte [esi + 0x50]
mov eax, dword [esi + 0x34]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x30], eax
mov eax, 0x6ca8d283
cmovge ecx, eax
xor bh, bl
cmovne ecx, edx
mov edi, 0x243324be
cmp edi, 0x243324bd
jg 0x53f940
cmp edi, 0x9538d02c
je 0x53f97b
cmp edi, 0xe88306d3
jne 0x53f920
jmp 0x53f990
cmp edi, 0x6ca8d283
je 0x53f97f
cmp edi, 0x243324be
jne 0x53f920
movzx eax, byte [esi + 0x7c]
mov bh, byte [esi + 0x50]
mov bl, al
xor bl, bh
mov edx, 0x6ca8d283
mov edi, 0x9538d02c
cmovne edx, edi
test bh, bh
mov edi, edx
mov ebx, 0x9538d02c
cmovne edi, ebx
test al, al
cmove edi, edx
jmp 0x53f920
mov edi, ecx
jmp 0x53f920
mov edi, 0x9538d02c
jmp 0x53f920
mov eax, dword [esi + 0x30]
cmp dword [esi + 4], eax
sete byte [esi + 0x24]
movzx eax, byte [esi + 0x24]
cmp al, 1
je 0x53faa3
mov eax, dword [0x5c3fc0]
mov edx, dword [0x5c3fc4]
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, 0x19354864
mov ebx, 0x99b50cb6
cmovne edi, ebx
test eax, ecx
sete byte [esi + 0x7c]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 0x50]
cmovge ecx, edi
mov edx, 0x78873f8d
cmp edx, 0x6bae78ea
jg 0x53fa10
cmp edx, 0x99b50cb6
je 0x53fa50
cmp edx, 0x19354864
jne 0x53f9f0
mov edx, 0x6bae78eb
jmp 0x53f9f0
cmp edx, 0x6bae78eb
je 0x53fa4c
cmp edx, 0x78873f8d
jne 0x53f9f0
movzx eax, byte [esi + 0x7c]
movzx edx, byte [esi + 0x50]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x19354864
mov ebx, 0x6bae78eb
cmovne edx, ebx
test al, al
mov edi, 0x19354864
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x53f9f0
mov edx, ecx
jmp 0x53f9f0
mov eax, dword [esi + 4]
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x24]
movsx eax, byte [edi]
push eax
call fcn.00599035
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [edi], cl
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x53f8c0
xor cl, al
jne 0x53f8c0
jmp 0x585b10
mov edx, dword [0x5c3fa8]
mov ecx, dword [0x5c3fac]
lea eax, [edx + 1]
mov dword [esi + 0x44], edx
imul eax, edx
test al, 1
sete dl
mov dword [esi + 0x3c], ecx
cmp ecx, 0xa
setge cl
setl ch
xor ch, dl
jne 0x53f553
or cl, al
test cl, 1
je 0x53f553
jmp 0x585c60
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x53faf3
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x53fb80
cmp edx, 0x80dc4cc9
je 0x53fb97
cmp edx, 0x7f3e42f
jne 0x53fb40
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x53fb40
cmp edx, 0x1aabc941
je 0x53fba0
cmp edx, 0x5add25f0
jne 0x53fb40
mov edx, 0x80dc4cc9
jmp 0x53fb40
mov edx, eax
jmp 0x53fb40
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x53fcd0
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x53fbe5
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x53fbe2
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
nop dword [eax]
cmp ecx, 0x3d9eb8cc
jg 0x53fc40
cmp ecx, 0x9f04b71e
je 0x53fc98
cmp ecx, 0xaf18808
jne 0x53fc20
jmp 0x53faf0
cmp ecx, 0x3d9eb8cd
je 0x53fcc2
cmp ecx, 0x6301b93d
jne 0x53fc20
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x53fc20
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x53fc20
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x53fc20
cmp dword [esi + 4], 0x12345678
jne 0x53fce3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c3fa0]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c3fa4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0xf963c607
mov edi, 0x77192157
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov ebx, 0xf963c607
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xa0dba2a4
nop dword [eax]
cmp ecx, 0x734bd94a
jle 0x53fd5a
cmp ecx, 0x734bd94b
je 0x53fd77
cmp ecx, 0x77192157
jne 0x53fd40
jmp 0x53fdad
cmp ecx, 0xa0dba2a4
je 0x53fd81
cmp ecx, 0xf963c607
jne 0x53fd40
mov word [esi + 8], 0x7a61
mov ecx, 0x734bd94b
jmp 0x53fd40
mov word [esi + 8], 0x7a61
mov ecx, eax
jmp 0x53fd40
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xf963c607
mov ebx, 0x734bd94b
cmovne ecx, ebx
test dl, dl
mov edi, 0xf963c607
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x53fd40
lea ecx, [esi + 0x60]
call fcn.0040ab10
mov dword [esi + 0xf0], 4
xor eax, eax
jmp 0x53fdd2
mov eax, dword [esi + 0x20]
inc eax
cmp eax, 0x3e8
je 0x54043c
mov dword [esi + 0x20], eax
movsx eax, byte [esi + 9]
movsx edx, byte [esi + 8]
mov dword [esi + 0xf0], 4
lea ecx, [esi + 8]
push eax
push edx
lea eax, [esi + 0x14]
push eax
call fcn.0041c940
movsx eax, al
lea ecx, [esi + 0x60]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x44], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
sete cl
mov dword [esi + 0x94], edx
cmp edx, 0xa
setge ah
setl dl
xor dl, cl
or ah, al
xor ah, 1
or ah, dl
mov byte [esi + 0x10], ah
mov ecx, dword [0x5c3fb0]
mov eax, dword [0x5c3fb4]
mov dword [esi + 4], eax
mov dword [esi + 0x1c], ecx
jne 0x53ff0c
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
test ebx, ebx
sete al
cmp dword [esi + 4], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
mov edx, 0x17e23197
jmp 0x53fea0
mov edx, 0x8e14a9ab
nop
cmp edx, 0xff38d62f
jg 0x53fed0
cmp edx, 0x8e14a9ab
je 0x53ff09
cmp edx, 0xae9be2ed
je 0x53fefe
cmp edx, 0xfef5751f
jne 0x53fea0
mov edx, dword [esi + 0x24]
mov edx, 0x116ab669
jmp 0x53fea0
cmp edx, 0xff38d630
je 0x53fe9a
cmp edx, 0x116ab669
je 0x53ff02
cmp edx, 0x17e23197
jne 0x53fea0
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov edi, 0xae9be2ed
cmovae edx, edi
jmp 0x53fea0
mov edx, ecx
jmp 0x53fea0
mov edx, dword [esi + 0x24]
mov edx, eax
jmp 0x53fea0
mov ecx, dword [esi + 0x1c]
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x24]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
sete al
cmp dword [esi + 4], 0xa
setl cl
or cl, al
mov edx, 0xfef5751f
mov eax, 0xff38d630
cmovne edx, eax
mov ecx, 0xfef5751f
mov eax, 0x116ab669
cmovne ecx, eax
mov eax, 0x17e23197
nop dword [eax]
cmp eax, 0xff38d62f
jg 0x53ff80
cmp eax, 0x8e14a9ab
je 0x53ffcd
cmp eax, 0xae9be2ed
je 0x53ffc0
cmp eax, 0xfef5751f
jne 0x53ff50
mov eax, 0x116ab669
jmp 0x53ffc6
cmp eax, 0xff38d630
je 0x53ffb9
cmp eax, 0x116ab669
je 0x53ffc4
cmp eax, 0x17e23197
jne 0x53ff50
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x14], 0x10
mov eax, 0x8e14a9ab
mov dword [esi + 0x30], edi
mov edi, ecx
mov ecx, edx
mov edx, 0xae9be2ed
cmovae eax, edx
mov edx, ecx
mov ecx, edi
mov edi, dword [esi + 0x30]
jmp 0x53ff50
mov eax, 0x8e14a9ab
jmp 0x53ff50
mov eax, ecx
jmp 0x53ff50
mov eax, edx
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x53ff50
cmp byte [esi + 0x10], 0
je 0x53fe62
mov eax, dword [esi + 0x70]
dec eax
cmp byte [edi + eax], 0x6f
je 0x54008a
lea edi, [esi + 0x60]
mov dword [esi + 0x24], edi
mov edi, 0x17e23197
mov ebx, dword [esi + 0x24]
nop word cs:[eax + eax]
cmp edi, 0xff38d62f
jg 0x540030
cmp edi, 0x8e14a9ab
je 0x540080
cmp edi, 0xae9be2ed
je 0x540073
cmp edi, 0xfef5751f
jne 0x540000
mov edi, 0x116ab669
jmp 0x540079
cmp edi, 0xff38d630
je 0x54006c
cmp edi, 0x116ab669
je 0x540077
cmp edi, 0x17e23197
jne 0x540000
mov edi, dword [esi + 0x24]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
mov dword [esi + 4], ebx
mov ebx, ecx
mov ecx, edx
mov edx, 0xae9be2ed
cmovae edi, edx
mov edx, ecx
mov ecx, ebx
mov ebx, dword [esi + 4]
jmp 0x540000
mov edi, 0x8e14a9ab
jmp 0x540000
mov edi, ecx
jmp 0x540000
mov edi, edx
mov ebx, dword [esi + 0x24]
mov ebx, dword [ebx]
jmp 0x540000
cmp byte [ebx + eax], 0x75
jne 0x53fdc3
lea edi, [esi + 0x60]
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0xa8]
push eax
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3fac], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x540148
or cl, al
je 0x540148
nop word cs:[eax + eax]
lea edi, [esi + 0x60]
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
lea ebx, [esi + 0xa8]
push ebx
call fcn.00432f10
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
push ebx
call fcn.00432f10
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x540148
or cl, al
test cl, 1
jne 0x5400e0
jmp 0x540148
lea ecx, [esi + 0x34]
call fcn.00539cc0
mov ecx, dword [0x5c3fb8]
mov eax, dword [0x5c3fbc]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
sete byte [esi + 0x7c]
mov ecx, 0x6ca8d283
mov edi, 0xe88306d3
cmove ecx, edi
cmp eax, 0xa
setl bh
setl byte [esi + 0x50]
mov eax, dword [esi + 0x34]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x30], eax
mov eax, 0x6ca8d283
cmovge ecx, eax
xor bh, bl
cmovne ecx, edi
mov edi, 0x243324be
nop
cmp edi, 0x243324bd
jg 0x5401c0
cmp edi, 0x9538d02c
je 0x5401fc
cmp edi, 0xe88306d3
jne 0x5401a0
jmp 0x540210
cmp edi, 0x6ca8d283
je 0x540200
cmp edi, 0x243324be
jne 0x5401a0
movzx ebx, byte [esi + 0x7c]
movzx eax, byte [esi + 0x50]
mov bh, al
xor bh, bl
test al, al
mov edi, 0x6ca8d283
mov edx, 0x9538d02c
cmovne edi, edx
test bl, bl
mov eax, 0x6ca8d283
cmove edi, eax
test bh, bh
cmovne edi, edx
jmp 0x5401a0
mov edi, ecx
jmp 0x5401a0
mov edi, 0x9538d02c
jmp 0x5401a0
mov eax, dword [esi + 0x30]
cmp dword [esi + 4], eax
sete byte [esi + 0x24]
movzx eax, byte [esi + 0x24]
cmp al, 1
je 0x54031e
mov eax, dword [0x5c3fc0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [0x5c3fc4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x7c]
sete dl
mov ecx, 0x19354864
mov edi, 0x99b50cb6
cmove ecx, edi
cmp eax, 0xa
setl byte [esi + 0x50]
setl al
mov ebx, 0x19354864
cmovge ecx, ebx
xor al, dl
cmovne ecx, edi
mov edx, 0x78873f8d
nop
cmp edx, 0x6bae78ea
jg 0x540290
cmp edx, 0x99b50cb6
je 0x5402d0
cmp edx, 0x19354864
jne 0x540270
mov edx, 0x6bae78eb
jmp 0x540270
cmp edx, 0x6bae78eb
je 0x5402cc
cmp edx, 0x78873f8d
jne 0x540270
movzx eax, byte [esi + 0x7c]
movzx edx, byte [esi + 0x50]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x19354864
mov ebx, 0x6bae78eb
cmovne edx, ebx
test al, al
mov edi, 0x19354864
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x540270
mov edx, ecx
jmp 0x540270
mov eax, dword [esi + 4]
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x24]
movsx eax, byte [edi]
push eax
call fcn.00599035
add esp, 4
and al, 0xa
mov byte [edi], al
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x540140
xor cl, al
jne 0x540140
jmp 0x585b00
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x44], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
mov dword [esi + 0x94], edx
cmp edx, 0xa
setl cl
test cl, al
jne 0x53fdc3
xor cl, al
jne 0x53fdc3
jmp 0x585c70
mov ecx, dword [esi + 0x44]
lea eax, [ecx - 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmp dword [esi + 0x3c], 0xa
setl cl
test cl, al
jne 0x540385
xor cl, al
je 0x585cca
mov eax, dword [0x5c3fb0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fb4], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
lea edx, [esi + 0x60]
mov dword [esi + 0x24], edx
mov edx, 0x17e23197
mov edi, dword [esi + 0x24]
cmp edx, 0xff38d62f
jg 0x5403fa
cmp edx, 0x8e14a9ab
je 0x540521
cmp edx, 0xae9be2ed
je 0x54042f
cmp edx, 0xfef5751f
jne 0x5403cf
mov edx, 0x116ab669
jmp 0x540435
cmp edx, 0xff38d630
je 0x540428
cmp edx, 0x116ab669
je 0x540433
cmp edx, 0x17e23197
jne 0x5403cf
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x5403cf
mov edx, 0x8e14a9ab
jmp 0x5403cf
mov edx, ecx
jmp 0x5403cf
mov edx, eax
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x5403cf
mov ecx, dword [esi + 0x44]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
sete dl
cmp dword [esi + 0x94], 0xa
setge cl
setl ah
xor ah, dl
jne 0x54046b
or cl, al
jne 0x585cc6
mov eax, dword [0x5c3fb0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fb4], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
lea edx, [esi + 0x60]
mov dword [esi + 0x24], edx
mov edx, 0x17e23197
mov edi, dword [esi + 0x24]
cmp edx, 0xff38d62f
jg 0x5404df
cmp edx, 0x8e14a9ab
je 0x5405a9
cmp edx, 0xae9be2ed
je 0x540514
cmp edx, 0xfef5751f
jne 0x5404b4
mov edx, 0x116ab669
jmp 0x54051a
cmp edx, 0xff38d630
je 0x54050d
cmp edx, 0x116ab669
je 0x540518
cmp edx, 0x17e23197
jne 0x5404b4
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x5404b4
mov edx, 0x8e14a9ab
jmp 0x5404b4
mov edx, ecx
jmp 0x5404b4
mov edx, eax
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x5404b4
cmp byte [edi + 0xd7], 0x31
jne 0x540692
lea edx, [esi + 0x60]
mov dword [esi + 0x24], edx
mov edx, 0x17e23197
mov edi, dword [esi + 0x24]
cmp edx, 0xff38d62f
jg 0x540567
cmp edx, 0x8e14a9ab
je 0x540631
cmp edx, 0xae9be2ed
je 0x54059c
cmp edx, 0xfef5751f
jne 0x54053c
mov edx, 0x116ab669
jmp 0x5405a2
cmp edx, 0xff38d630
je 0x540595
cmp edx, 0x116ab669
je 0x5405a0
cmp edx, 0x17e23197
jne 0x54053c
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x54053c
mov edx, 0x8e14a9ab
jmp 0x54053c
mov edx, ecx
jmp 0x54053c
mov edx, eax
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x54053c
cmp byte [edi + 0xd7], 0x31
jne 0x550a80
lea edx, [esi + 0x60]
mov dword [esi + 0x24], edx
mov edx, 0x17e23197
mov edi, dword [esi + 0x24]
cmp edx, 0xff38d62f
jg 0x5405ef
cmp edx, 0x8e14a9ab
je 0x550a0b
cmp edx, 0xae9be2ed
je 0x540624
cmp edx, 0xfef5751f
jne 0x5405c4
mov edx, 0x116ab669
jmp 0x54062a
cmp edx, 0xff38d630
je 0x54061d
cmp edx, 0x116ab669
je 0x540628
cmp edx, 0x17e23197
jne 0x5405c4
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x5405c4
mov edx, 0x8e14a9ab
jmp 0x5405c4
mov edx, ecx
jmp 0x5405c4
mov edx, eax
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x5405c4
cmp byte [edi + 0x2d0], 0x30
jne 0x540692
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c3fa8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x540692
xor cl, al
jne 0x540692
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
jmp 0x540657
lea ecx, [esi + 0x60]
call fcn.0040ae90
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5406f6
or cl, al
test cl, 1
je 0x5406f6
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0040ae90
mov ecx, edi
call fcn.0040ae90
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ch
xor ch, dl
je 0x5406bc
mov eax, dword [0x5c69a0]
mov ecx, dword [0x5c69a4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xce]
cmp ecx, 0xa
setl byte [esi + 0xcf]
mov eax, 0xbfdf2516
mov edi, 0x52b7e1e4
cmp eax, 0xd6670775
jg 0x54076f
cmp eax, 0xbd026deb
je 0x561103
cmp eax, 0xbfdf2516
jne 0x540729
movzx ecx, byte [esi + 0xce]
movzx eax, byte [esi + 0xcf]
mov edx, ecx
xor dl, al
mov edx, 0x7ef29a83
mov ebx, 0xd6670776
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x540729
cmp eax, 0xd6670776
je 0x541572
cmp eax, 0x7ef29a83
jne 0x540729
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov edx, esp
cmp byte [esi + 0x10], 0
je 0x5407b4
mov dword [esi + 0x80], edx
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x88], edi
lea ecx, [ebx + 0x10]
mov dword [esi + 0xb4], ecx
lea ecx, [eax + 0x10]
mov dword [esi + 0xb0], ecx
mov ecx, 0xa
mov dword [esi + 0xb8], ebx
mov dword [esi + 0x8c], eax
cmp ecx, 0x1f3
mov eax, dword [esi + 0x30]
ja 0x54238c
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x1c], eax
mov dword [esi + 0x10], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x84], eax
mov ebx, dword [0x5c4084]
mov ecx, dword [esi + 0x84]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x98], ecx
sete al
mov dword [esi + 0x9c], ebx
cmp ebx, 0xa
setl cl
test cl, al
jne 0x5408ab
xor cl, al
je 0x585c94
mov edx, dword [esi + 0x1c]
mov eax, edx
imul eax, dword [esi + 0x10]
mulx ecx, ebx, edx
add eax, eax
add eax, ecx
mov edi, dword [esi + 0xa0]
cmp ebx, edi
sbb eax, 0
jae 0x540f5e
sub edi, edx
mov dword [esi + 0x48], edi
mov edi, edx
mov ecx, 0
mov ebx, dword [esi + 0x10]
sbb ecx, ebx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x1c], edx
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push dword [esi + 0x48]
call fcn.005893d0
mov dword [esi + 0x3c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x4c], edx
mov dword [esi + 0x44], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x48]
sub ecx, dword [esi + 0x4c]
mov edi, dword [esi + 0x5c]
sbb edi, edx
or edi, ecx
mov edx, dword [esi + 0xb8]
mov ebx, dword [esi + 0x9c]
mov ecx, dword [esi + 0x98]
jne 0x540f29
mov ecx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x44]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x3c]
mov dword [edx + 0xc], eax
mov dword [esi + 0xf0], 0x58
mov ecx, dword [esi + 4]
push dword [esi + 0x58]
push dword [esi + 0xb4]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov edi, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp edi, 0x1583cd3a
jg 0x5409c2
cmp edi, 0xb018ea81
je 0x540a4e
cmp edi, 0xf7175d7a
jne 0x5409a1
jmp 0x540a6a
cmp edi, 0x1583cd3b
je 0x5409fe
cmp edi, 0x5a1cc736
jne 0x5409a1
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x54099e
mov dword [esi + 0xf0], 0x5a
push dword [esi + 4]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x54099e
mov dword [esi + 0xf0], 0x5a
push dword [esi + 4]
call fcn.004330f0
mov edi, 0x1583cd3b
jmp 0x54099e
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x540a9b
or cl, al
jne 0x540bd9
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
mov ebx, dword [esi + 0x88]
xor cl, dl
cmovne eax, edi
mov edi, dword [esi + 0x3c]
mov ecx, 0xf2325ac5
mov edx, dword [esi + 0x44]
cmp ecx, 0x46df2eda
jle 0x540b09
cmp ecx, 0x46df2edb
je 0x540b4c
cmp ecx, 0x766d7330
jne 0x540aef
jmp 0x540b57
cmp ecx, 0x80c66156
je 0x540b50
cmp ecx, 0xf2325ac5
jne 0x540aef
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x88]
test dl, dl
mov edx, dword [esi + 0x44]
cmove ecx, edi
mov edi, dword [esi + 0x3c]
jmp 0x540aef
mov ecx, eax
jmp 0x540aef
mov ecx, 0x46df2edb
jmp 0x540aef
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x540b92
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x44]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [esi + 0x8c]
mov dword [eax], edx
mov dword [eax + 4], edi
mov edx, dword [esi + 0x1c]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x10]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x540ce8
xor cl, al
jne 0x540ce8
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x3c]
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
mov ebx, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
jmp 0x540c33
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x540c4d
cmp ecx, 0x46df2edb
je 0x540c31
cmp ecx, 0x766d7330
jne 0x540c33
jmp 0x540c94
cmp ecx, 0x80c66156
je 0x540c8d
cmp ecx, 0xf2325ac5
jne 0x540c33
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x1c]
test dl, dl
mov edx, dword [esi + 0x10]
cmove ecx, edi
mov edi, dword [esi + 0x3c]
jmp 0x540c33
mov ecx, 0x46df2edb
jmp 0x540c33
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x540ccf
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
jmp 0x540a9b
mov dword [esi + 0xf0], 0x58
mov ecx, dword [esi + 0x20]
push ebx
push dword [esi + 0xb0]
push dword [esi + 0x8c]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x540d34
or cl, al
test cl, 1
jne 0x585cc4
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov eax, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp eax, 0x1583cd3a
jg 0x540d7e
cmp eax, 0xb018ea81
je 0x540e0d
cmp eax, 0xf7175d7a
jne 0x540d60
jmp 0x540e29
cmp eax, 0x1583cd3b
je 0x540db5
cmp eax, 0x5a1cc736
jne 0x540d60
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov eax, ecx
jmp 0x540d5d
mov dword [esi + 0xf0], 0x59
push dword [esi + 0x20]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov eax, ecx
jmp 0x540d5d
mov dword [esi + 0xf0], 0x59
push dword [esi + 0x20]
call fcn.004330f0
mov eax, 0x1583cd3b
jmp 0x540d5d
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x540e90
cmp ecx, 0x46df2edb
je 0x540ec7
cmp ecx, 0x766d7330
jne 0x540e76
jmp 0x540ed2
cmp ecx, 0x80c66156
je 0x540ecb
cmp ecx, 0xf2325ac5
jne 0x540e76
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x540e76
mov ecx, eax
jmp 0x540e76
mov ecx, 0x46df2edb
jmp 0x540e76
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x540f0a
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [0x5c4080]
mov ebx, dword [0x5c4084]
lea eax, [ecx + 1]
mov dword [esi + 0x84], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
test ecx, ecx
sete al
cmp ebx, 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x1c], edx
mov edi, dword [esi + 0x90]
mov dword [esi + 0x10], edi
test al, cl
jne 0x540877
xor al, cl
mov dword [esi + 0x1c], edx
mov dword [esi + 0x10], edi
jne 0x540877
jmp 0x585c9e
mov edx, 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edi, edx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x4c], edx
cmp edx, ecx
jb 0x540f9a
jmp 0x54127a
mov dword [esi + 0x9c], edi
cmp dword [esi + 0x1c], 0
je 0x541252
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edi, 0x7862661b
cmovne eax, edi
and ecx, 1
mov dword [esi + 0x44], ecx
sete byte [esi + 0x34]
mov ecx, eax
cmove ecx, edi
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge ecx, eax
mov dword [esi + 0x10], ecx
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 0x1c]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x541014
cmp eax, 0x6675f964
je 0x541049
cmp eax, 0x7862661b
jne 0x540ffd
jmp 0x541055
cmp eax, 0xd0a3dc29
je 0x541050
cmp eax, 0xd6d6a098
jne 0x540ffd
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x540ffd
mov eax, 0xd0a3dc29
jmp 0x540ffd
mov eax, dword [esi + 0x10]
jmp 0x540ffd
mov edx, dword [esi + 0x1c]
dec edx
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ebx, dword [eax]
mov dword [esi + 0x5c], ebx
mov ebx, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
lea eax, [edx + edx*2]
lea eax, [ecx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
mov dword [esi + 0x1c], edx
cmp eax, 0x6675f963
jle 0x5410a7
cmp eax, 0x6675f964
je 0x5410ea
cmp eax, 0x7862661b
jne 0x541090
jmp 0x5410f6
cmp eax, 0xd0a3dc29
je 0x5410f1
cmp eax, 0xd6d6a098
jne 0x541090
mov edx, ebx
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
mov ebx, edx
mov edx, 0xd0a3dc29
cmovne eax, edx
jmp 0x541090
mov eax, 0xd0a3dc29
jmp 0x541090
mov eax, dword [esi + 0x10]
jmp 0x541090
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x5c]
cmp edx, dword [eax]
sbb ebx, dword [eax + 4]
jge 0x541243
cmp dword [esi + 0x44], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54113e
cmp eax, 0x6675f964
je 0x541173
cmp eax, 0x7862661b
jne 0x541127
jmp 0x54117f
cmp eax, 0xd0a3dc29
je 0x54117a
cmp eax, 0xd6d6a098
jne 0x541127
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x541127
mov eax, 0xd0a3dc29
jmp 0x541127
mov eax, dword [esi + 0x10]
jmp 0x541127
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5411b7
cmp eax, 0x6675f964
je 0x5411ec
cmp eax, 0x7862661b
jne 0x5411a0
jmp 0x5411f8
cmp eax, 0xd0a3dc29
je 0x5411f3
cmp eax, 0xd6d6a098
jne 0x5411a0
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov ebx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne ebx, edi
test al, al
mov eax, ebx
cmovne eax, edi
test cl, cl
cmove eax, ebx
jmp 0x5411a0
mov eax, 0xd0a3dc29
jmp 0x5411a0
mov eax, dword [esi + 0x10]
jmp 0x5411a0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x84], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
cmp edi, 0xa
setl dl
test dl, cl
jne 0x540f8a
xor dl, cl
jne 0x540f8a
jmp 0x585cac
mov ecx, dword [esi + 0x84]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
mov edx, dword [esi + 0x4c]
inc edx
test eax, eax
sete al
cmp dword [esi + 0x9c], 0xa
setl cl
test al, cl
jne 0x540f63
xor al, cl
jne 0x540f63
jmp 0x585cd6
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x541289
mov eax, dword [esi + 0x60]
mov eax, dword [ebx]
cmp eax, dword [esi + 0x3c]
je 0x54155f
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
mov edi, dword [esi + 0x80]
jne 0x541488
mov edx, dword [eax]
mov dword [edi], edx
test cl, cl
je 0x541488
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x5412da
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
mov ebx, dword [esi + 0x80]
cmp ecx, 0x52166c0b
jg 0x541348
cmp ecx, 0xc1fd3d12
je 0x54138e
cmp ecx, 0x3365058b
jne 0x541329
mov ecx, 0x7b4463f8
jmp 0x541329
cmp ecx, 0x7b4463f8
je 0x54138a
cmp ecx, 0x52166c0c
jne 0x541329
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
mov ebx, dword [esi + 0x80]
test dh, dh
cmovne ecx, edi
jmp 0x541329
mov ecx, eax
jmp 0x541329
mov eax, dword [ebx]
cmp eax, dword [esi + 0x10]
je 0x541491
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 0x5413ba
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x541401
cmp eax, 0xc76c0d8d
je 0x54143a
cmp eax, 0x1f2e313
jne 0x5413e2
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x5413e2
cmp eax, 0x590bba57
je 0x5412d7
cmp eax, 0x74ccc71d
jne 0x5413e2
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5413e2
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5413e2
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x5412c3
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
mov ebx, dword [esi + 0xa4]
cmp eax, 0x3e63df80
jle 0x5414d9
cmp eax, 0x3e63df81
je 0x5414f1
cmp eax, 0x5632c42c
jne 0x5414bf
jmp 0x541284
cmp eax, 0x1d5864bd
je 0x541535
cmp eax, 0x3ce7f0d1
jne 0x5414bf
add dword [ebx], 0xc
mov eax, 0x3e63df81
jmp 0x5414bf
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5414bf
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5414bf
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
jmp 0x540823
mov dword [esi + 0xa4], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x3c], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x5415a8
mov dword [esi + 0x80], eax
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x8c], edi
lea eax, [edx + 0x10]
mov dword [esi + 0xb8], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0xb4], eax
mov ecx, 0xa
mov dword [esi + 0x90], ebx
cmp ecx, 0x1f3
mov eax, dword [esi + 0x30]
ja 0x54328b
mov dword [esi + 0xa0], edx
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xc0], eax
shr eax, 1
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x84], eax
mov edi, dword [0x5c4084]
mov ecx, dword [esi + 0x84]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x98], ecx
setne al
sete dl
cmp edi, 0xa
setge cl
setl ah
xor ah, dl
jne 0x54169f
or cl, al
jne 0x585c92
mov dword [esi + 0x9c], edi
mov edx, dword [esi + 0x1c]
mov eax, edx
imul eax, dword [esi + 0x20]
mulx ecx, edi, edx
add eax, eax
add eax, ecx
mov ebx, dword [esi + 0x88]
cmp edi, ebx
sbb eax, 0
jae 0x541d51
sub ebx, edx
mov ecx, ebx
mov dword [esi + 0x5c], ebx
mov ebx, 0
mov edi, dword [esi + 0x20]
sbb ebx, edi
mov dword [esi + 0x1c], edx
add edx, 1
mov dword [esi + 0x48], edx
adc edi, 0
push edi
push edx
push ebx
push ecx
call fcn.005893d0
mov dword [esi + 0x10], edx
mov edx, eax
mulx ecx, edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov dword [esi + 0x58], eax
mov edx, eax
mov dword [esi + 0x78], edi
imul edx, edi
add ecx, edx
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x48]
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x5c]
sub ecx, dword [esi + 0x4c]
sbb ebx, edx
mov edx, edi
or ebx, ecx
mov ebx, dword [esi + 0x44]
mov edi, dword [esi + 0x9c]
mov ecx, dword [esi + 0x98]
jne 0x541d22
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x20]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x58]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0xc], eax
mov dword [esi + 0xf0], 0x3e
mov ecx, dword [esi + 4]
push ebx
push dword [esi + 0xb8]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp ebx, 0x1583cd3a
jg 0x5417b8
cmp ebx, 0xb018ea81
je 0x541845
cmp ebx, 0xf7175d7a
jne 0x541797
jmp 0x541861
cmp ebx, 0x1583cd3b
je 0x5417ef
cmp ebx, 0x5a1cc736
jne 0x541797
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x541794
mov dword [esi + 0xf0], 0x40
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ebx, edx
cmove ebx, edi
cmp eax, 0xa
cmovge ebx, edx
jmp 0x541794
mov dword [esi + 0xf0], 0x40
push dword [esi + 4]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x541794
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54188d
xor cl, al
je 0x5419ce
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
mov ebx, dword [esi + 0x8c]
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
mov edi, dword [esi + 0x58]
mov edx, dword [esi + 0x10]
cmp ecx, 0x46df2eda
jle 0x5418fe
cmp ecx, 0x46df2edb
je 0x541941
cmp ecx, 0x766d7330
jne 0x5418e4
jmp 0x54194c
cmp ecx, 0x80c66156
je 0x541945
cmp ecx, 0xf2325ac5
jne 0x5418e4
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x8c]
test dl, dl
mov edx, dword [esi + 0x10]
cmove ecx, edi
mov edi, dword [esi + 0x58]
jmp 0x5418e4
mov ecx, eax
jmp 0x5418e4
mov ecx, 0x46df2edb
jmp 0x5418e4
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x541987
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [esi + 0x90]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esi + 0x1c]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x20]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x541ade
xor cl, al
jne 0x541ade
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x10]
jmp 0x541a24
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x541a3e
cmp ecx, 0x46df2edb
je 0x541a22
cmp ecx, 0x766d7330
jne 0x541a24
jmp 0x541a8a
cmp ecx, 0x80c66156
je 0x541a83
cmp ecx, 0xf2325ac5
jne 0x541a24
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
mov edx, dword [esi + 0x10]
cmovne ecx, ebx
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
jmp 0x541a24
mov ecx, 0x46df2edb
jmp 0x541a24
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x541ac5
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x58]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
jmp 0x54188d
mov dword [esi + 0xf0], 0x3e
mov ecx, dword [esi + 0x3c]
push ebx
push dword [esi + 0xb4]
push dword [esi + 0x90]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x541b2a
or cl, al
test cl, 1
jne 0x585cc0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp ebx, 0x1583cd3a
jg 0x541b76
cmp ebx, 0xb018ea81
je 0x541c03
cmp ebx, 0xf7175d7a
jne 0x541b55
jmp 0x541c1f
cmp ebx, 0x1583cd3b
je 0x541bad
cmp ebx, 0x5a1cc736
jne 0x541b55
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x541b52
mov dword [esi + 0xf0], 0x3f
push dword [esi + 0x3c]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ebx, edx
cmove ebx, edi
cmp eax, 0xa
cmovge ebx, edx
jmp 0x541b52
mov dword [esi + 0xf0], 0x3f
push dword [esi + 0x3c]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x541b52
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x541c81
cmp ecx, 0x46df2edb
je 0x541cbd
cmp ecx, 0x766d7330
jne 0x541c67
jmp 0x541cc8
cmp ecx, 0x80c66156
je 0x541cc1
cmp ecx, 0xf2325ac5
jne 0x541c67
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x541c67
mov ecx, eax
jmp 0x541c67
mov ecx, 0x46df2edb
jmp 0x541c67
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x541d00
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x3c]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea eax, [ecx + 1]
mov dword [esi + 0x84], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov edx, dword [esi + 0x48]
test ecx, ecx
sete al
cmp edi, 0xa
setl cl
mov dword [esi + 0x1c], edx
mov ebx, dword [esi + 0x78]
mov dword [esi + 0x20], ebx
test al, cl
jne 0x54166b
xor al, cl
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], ebx
jne 0x54166b
jmp 0x585ca2
mov edx, 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edi, edx
mov dword [esi + 0x78], edx
cmp edx, ecx
mov ecx, edx
jb 0x541d8d
jmp 0x542086
mov dword [esi + 0x9c], edi
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x54205e
mov eax, dword [0x5c4098]
mov edx, dword [0x5c409c]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
mov dword [esi + 0x20], edi
mov dword [esi + 0x58], eax
test eax, edi
sete byte [esi + 0x34]
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
sete al
mov dword [esi + 0x1c], edx
cmp edx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov edx, dword [eax]
lea eax, [ecx + ecx*2]
mov dword [esi + 0x98], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov dword [esi + 0x10], ebx
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x541e0f
cmp edx, 0x6675f964
je 0x541e46
cmp edx, 0x7862661b
jne 0x541df5
jmp 0x541e52
cmp edx, 0xd0a3dc29
je 0x541e4d
cmp edx, 0xd6d6a098
jne 0x541df5
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x541df5
mov edx, 0xd0a3dc29
jmp 0x541df5
mov edx, dword [esi + 0x10]
jmp 0x541df5
dec ecx
mov dword [esi + 0x4c], ecx
mov eax, dword [esi + 0x58]
test dword [esi + 0x20], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov edx, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x98]
lea eax, [ecx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x541ea6
cmp eax, 0x6675f964
je 0x541ee5
cmp eax, 0x7862661b
jne 0x541e8f
jmp 0x541ef1
cmp eax, 0xd0a3dc29
je 0x541eec
cmp eax, 0xd6d6a098
jne 0x541e8f
mov dword [esi + 0x5c], edx
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov ecx, edi
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
mov edx, dword [esi + 0x5c]
cmove eax, edi
mov edi, ecx
jmp 0x541e8f
mov eax, 0xd0a3dc29
jmp 0x541e8f
mov eax, dword [esi + 0x10]
jmp 0x541e8f
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
cmp edi, dword [eax]
sbb edx, dword [eax + 4]
jge 0x54204f
mov eax, dword [esi + 0x58]
test dword [esi + 0x20], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x541f38
cmp eax, 0x6675f964
je 0x541f6d
cmp eax, 0x7862661b
jne 0x541f21
jmp 0x541f79
cmp eax, 0xd0a3dc29
je 0x541f74
cmp eax, 0xd6d6a098
jne 0x541f21
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x541f21
mov eax, 0xd0a3dc29
jmp 0x541f21
mov eax, dword [esi + 0x10]
jmp 0x541f21
mov eax, dword [esi + 0x58]
test dword [esi + 0x20], eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov ebx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x541fb6
cmp ecx, 0x6675f964
je 0x541ff2
cmp ecx, 0x7862661b
jne 0x541f9c
jmp 0x541ffe
cmp ecx, 0xd0a3dc29
je 0x541ff9
cmp ecx, 0xd6d6a098
jne 0x541f9c
movzx eax, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ah, cl
xor ah, al
test cl, cl
mov ecx, 0x6675f964
mov edx, 0xd0a3dc29
cmovne ecx, edx
test al, al
mov edi, 0x6675f964
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x541f9c
mov ecx, 0xd0a3dc29
jmp 0x541f9c
mov ecx, dword [esi + 0x10]
jmp 0x541f9c
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push ebx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x84], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete ch
setne cl
cmp edi, 0xa
setl dh
setge dl
cmp dh, ch
jne 0x541d7c
or dl, cl
je 0x541d7c
jmp 0x585caa
mov ecx, dword [esi + 0x84]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
mov edx, dword [esi + 0x78]
inc edx
test eax, eax
sete al
cmp dword [esi + 0x9c], 0xa
setl cl
test al, cl
jne 0x541d56
xor al, cl
jne 0x541d56
jmp 0x585cda
mov ecx, dword [esi + 0xb0]
mov dword [ecx], eax
jmp 0x542095
mov eax, dword [esi + 0x60]
mov eax, dword [ebx]
cmp eax, dword [esi + 0x1c]
je 0x542373
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
mov edi, dword [esi + 0x80]
jne 0x542294
mov edx, dword [eax]
mov dword [edi], edx
test cl, cl
je 0x542294
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x5420e6
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
mov ebx, dword [esi + 0x80]
cmp ecx, 0x52166c0b
jg 0x542154
cmp ecx, 0xc1fd3d12
je 0x54219a
cmp ecx, 0x3365058b
jne 0x542135
mov ecx, 0x7b4463f8
jmp 0x542135
cmp ecx, 0x7b4463f8
je 0x542196
cmp ecx, 0x52166c0c
jne 0x542135
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
mov ebx, dword [esi + 0x80]
test dh, dh
cmovne ecx, edi
jmp 0x542135
mov ecx, eax
jmp 0x542135
mov eax, dword [ebx]
cmp eax, dword [esi + 0x10]
je 0x54229d
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 0x5421c6
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x54220d
cmp eax, 0xc76c0d8d
je 0x542246
cmp eax, 0x1f2e313
jne 0x5421ee
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x5421ee
cmp eax, 0x590bba57
je 0x5420e3
cmp eax, 0x74ccc71d
jne 0x5421ee
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5421ee
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5421ee
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x5420cf
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
mov ebx, dword [esi + 0xb0]
cmp eax, 0x3e63df80
jle 0x5422e6
cmp eax, 0x3e63df81
je 0x5422fe
cmp eax, 0x5632c42c
jne 0x5422cc
jmp 0x542090
cmp eax, 0x1d5864bd
je 0x542349
cmp eax, 0x3ce7f0d1
jne 0x5422cc
add dword [ebx], 0xc
mov eax, 0x3e63df81
jmp 0x5422cc
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov edi, 0x5632c42c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5422cc
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5422cc
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xa0]
jmp 0x541611
mov esp, dword [esi + 0xc0]
mov dword [esi + 0xd0], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0x3c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x5423c2
mov dword [esi + 0x20], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa0], edi
lea eax, [edi + 0x10]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x88], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x5431b4
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x84], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x84]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x5c], ecx
sete al
cmp dword [esi + 0x80], 0xa
setl cl
test cl, al
jne 0x5424af
xor cl, al
je 0x585ce6
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x4c]
sbb eax, 0
jae 0x542b6b
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x10]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x90], eax
mov eax, 0
mov ebx, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x78], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x44], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x8c], edx
mov dword [esi + 0x48], eax
mov edx, eax
mov dword [esi + 0x98], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x9c], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x90]
sub eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x78]
sbb ecx, edx
or ecx, eax
jne 0x542b21
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x5b
mov ecx, dword [esi + 4]
push dword [esi + 0x58]
push dword [esi + 0xb8]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x80], 0x5a1cc736
mov eax, dword [esi + 0x80]
cmp eax, 0x1583cd3a
jg 0x5425c7
cmp eax, 0xb018ea81
je 0x542602
cmp eax, 0xf7175d7a
jne 0x5425ad
jmp 0x542680
cmp eax, 0x1583cd3b
je 0x542623
cmp eax, 0x5a1cc736
jne 0x5425ad
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x5425a7
mov dword [esi + 0xf0], 0x5d
mov dword [esi + 0x80], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
jmp 0x5425a7
mov dword [esi + 0xf0], 0x5d
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 0x80], ecx
jmp 0x5425a7
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5426ad
or cl, al
test cl, 1
jne 0x5427d9
mov eax, dword [0x5c4090]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x542710
cmp ecx, 0x46df2edb
je 0x54274c
cmp ecx, 0x766d7330
jne 0x5426f6
jmp 0x542757
cmp ecx, 0x80c66156
je 0x542750
cmp ecx, 0xf2325ac5
jne 0x5426f6
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5426f6
mov ecx, eax
jmp 0x5426f6
mov ecx, 0x46df2edb
jmp 0x5426f6
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x54278c
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [esi + 0x88]
mov edx, dword [esi + 0x48]
mov dword [eax], edx
mov edx, dword [esi + 0x44]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x10]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x1c]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x5428dc
xor cl, al
jne 0x5428dc
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x542828
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x542842
cmp ecx, 0x46df2edb
je 0x542826
cmp ecx, 0x766d7330
jne 0x542828
jmp 0x542885
cmp ecx, 0x80c66156
je 0x54287e
cmp ecx, 0xf2325ac5
jne 0x542828
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x542828
mov ecx, 0x46df2edb
jmp 0x542828
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5428ba
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x48]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x5426ad
mov dword [esi + 0xf0], 0x5b
mov ecx, dword [esi + 0x3c]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54292b
xor cl, al
je 0x585d0e
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x10], 0x5a1cc736
mov eax, dword [esi + 0x10]
cmp eax, 0x1583cd3a
jg 0x542972
cmp eax, 0xb018ea81
je 0x5429aa
cmp eax, 0xf7175d7a
jne 0x542958
jmp 0x542a24
cmp eax, 0x1583cd3b
je 0x5429c8
cmp eax, 0x5a1cc736
jne 0x542958
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x10], ecx
jmp 0x542955
mov dword [esi + 0xf0], 0x5c
mov dword [esi + 0x10], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x3c]
call fcn.004330f0
jmp 0x542955
mov dword [esi + 0xf0], 0x5c
mov ecx, dword [esi + 0x30]
push dword [esi + 0x3c]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 0x10], ecx
jmp 0x542955
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x542a87
cmp ecx, 0x46df2edb
je 0x542abe
cmp ecx, 0x766d7330
jne 0x542a6d
jmp 0x542ac9
cmp ecx, 0x80c66156
je 0x542ac2
cmp ecx, 0xf2325ac5
jne 0x542a6d
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x542a6d
mov ecx, eax
jmp 0x542a6d
mov ecx, 0x46df2edb
jmp 0x542a6d
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x542afe
mov edi, dword [esi + 0x3c]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
mov ecx, dword [0x5c4084]
mov dword [esi + 0x80], ecx
lea ecx, [eax - 1]
mov dword [esi + 0x84], eax
imul ecx, eax
and ecx, 1
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0x5c], 0
sete al
cmp dword [esi + 0x80], 0xa
setl cl
mov edx, dword [esi + 0x9c]
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x98]
mov dword [esi + 0x1c], edx
test al, cl
jne 0x542484
xor al, cl
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x1c], eax
jne 0x542484
jmp 0x585cfc
mov dword [esi + 0x4c], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x4c]
mov edi, edx
mov dword [esi + 0x1c], edx
cmp edx, ecx
jb 0x542ba3
jmp 0x542ea4
cmp dword [esi + 0x1c], 0
je 0x542e77
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edi, 0x7862661b
cmovne eax, edi
and ecx, 1
sete byte [esi + 0x34]
mov edx, eax
cmove edx, edi
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edx, eax
mov dword [esi + 0x10], edx
mov eax, dword [esi + 0x30]
mov edx, dword [eax]
mov eax, dword [esi + 0x1c]
lea eax, [eax + eax*2]
mov dword [esi + 0x9c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x542c20
cmp eax, 0x6675f964
je 0x542c5a
cmp eax, 0x7862661b
jne 0x542c09
jmp 0x542c66
cmp eax, 0xd0a3dc29
je 0x542c61
cmp eax, 0xd6d6a098
jne 0x542c09
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov edx, 0xd0a3dc29
cmovne eax, edx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, edx
jmp 0x542c09
mov eax, 0xd0a3dc29
jmp 0x542c09
mov eax, dword [esi + 0x10]
jmp 0x542c09
mov edx, dword [esi + 0x1c]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x5c], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x98], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x1c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x9c]
lea eax, [edx + eax*4]
mov dword [esi + 0x9c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x542cc2
cmp eax, 0x6675f964
je 0x542cfc
cmp eax, 0x7862661b
jne 0x542cab
jmp 0x542d08
cmp eax, 0xd0a3dc29
je 0x542d03
cmp eax, 0xd6d6a098
jne 0x542cab
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test bl, bl
mov edx, 0x6675f964
cmove eax, edx
test bh, bh
cmovne eax, edi
jmp 0x542cab
mov eax, 0xd0a3dc29
jmp 0x542cab
mov eax, dword [esi + 0x10]
jmp 0x542cab
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x5c]
cmp edx, dword [eax]
mov edx, dword [esi + 0x98]
sbb edx, dword [eax + 4]
jge 0x542e68
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x542d54
cmp eax, 0x6675f964
je 0x542d8e
cmp eax, 0x7862661b
jne 0x542d3d
jmp 0x542d9a
cmp eax, 0xd0a3dc29
je 0x542d95
cmp eax, 0xd6d6a098
jne 0x542d3d
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test bl, bl
mov edx, 0x6675f964
cmove eax, edx
test bh, bh
cmovne eax, edi
jmp 0x542d3d
mov eax, 0xd0a3dc29
jmp 0x542d3d
mov eax, dword [esi + 0x10]
jmp 0x542d3d
test ecx, ecx
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x542dd0
cmp eax, 0x6675f964
je 0x542e05
cmp eax, 0x7862661b
jne 0x542db9
jmp 0x542e11
cmp eax, 0xd0a3dc29
je 0x542e0c
cmp eax, 0xd6d6a098
jne 0x542db9
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov ebx, 0x6675f964
mov edx, 0xd0a3dc29
cmovne ebx, edx
test al, al
mov eax, ebx
cmovne eax, edx
test cl, cl
cmove eax, ebx
jmp 0x542db9
mov eax, 0xd0a3dc29
jmp 0x542db9
mov eax, dword [esi + 0x10]
jmp 0x542db9
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edi
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x84], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x80], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x542b99
or dl, cl
je 0x542b99
jmp 0x585d0c
mov ecx, dword [esi + 0x84]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x4c]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x80], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x542b72
or al, cl
je 0x542b72
jmp 0x585d26
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x542eb9
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
cmp eax, dword [esi + 0x44]
je 0x54319a
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x5430b6
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x5430b6
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x542f08
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x542f74
cmp ecx, 0xc1fd3d12
je 0x542faf
cmp ecx, 0x3365058b
jne 0x542f55
mov ecx, 0x7b4463f8
jmp 0x542f55
cmp ecx, 0x7b4463f8
je 0x542fab
cmp ecx, 0x52166c0c
jne 0x542f55
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x542f55
mov ecx, eax
jmp 0x542f55
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x5430c2
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 0x542fde
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x543029
cmp eax, 0xc76c0d8d
je 0x543067
cmp eax, 0x1f2e313
jne 0x543007
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x543007
cmp eax, 0x590bba57
je 0x542f05
cmp eax, 0x74ccc71d
jne 0x543007
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x543007
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x543007
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x542eee
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x543104
cmp eax, 0x3e63df81
je 0x543122
cmp eax, 0x5632c42c
jne 0x5430ea
jmp 0x542eae
cmp eax, 0x1d5864bd
je 0x543170
cmp eax, 0x3ce7f0d1
jne 0x5430ea
mov eax, dword [esi + 0xa4]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x5430ea
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5430ea
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5430ea
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x54243a
mov esp, dword [esi + 0xc0]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x5441b0
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x5e
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
inc dword [esi + 4]
cmp ah, dl
jne 0x5431f5
or cl, al
je 0x5431f5
jmp 0x585d32
mov esp, dword [esi + 0xa4]
mov dword [esi + 0xd0], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x5432cd
mov dword [esi + 0x58], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa0], edi
lea eax, [edi + 0x10]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x88], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x5440e2
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x5c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x5c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x80], ecx
sete al
cmp dword [esi + 0x48], 0xa
setl cl
test cl, al
jne 0x5433b1
xor cl, al
je 0x585ce0
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x4c]
sbb eax, 0
jae 0x543a8e
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x10]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x90], eax
mov eax, 0
mov ebx, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x78], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x3c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x8c], edx
mov dword [esi + 0x9c], eax
mov edx, eax
mov dword [esi + 0x84], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x98], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x90]
sub eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x78]
sbb ecx, edx
or ecx, eax
jne 0x543a44
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x41
mov ecx, dword [esi + 4]
push dword [esi + 0x44]
push dword [esi + 0xb8]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x80], 0x5a1cc736
mov eax, dword [esi + 0x80]
cmp eax, 0x1583cd3a
jg 0x5434cf
cmp eax, 0xb018ea81
je 0x54350a
cmp eax, 0xf7175d7a
jne 0x5434b5
jmp 0x54358a
cmp eax, 0x1583cd3b
je 0x54352b
cmp eax, 0x5a1cc736
jne 0x5434b5
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x5434af
mov dword [esi + 0xf0], 0x43
mov dword [esi + 0x80], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
jmp 0x5434af
mov dword [esi + 0xf0], 0x43
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x5434af
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x5435b5
xor cl, al
je 0x5436e8
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x543617
cmp ecx, 0x46df2edb
je 0x543653
cmp ecx, 0x766d7330
jne 0x5435fd
jmp 0x54365e
cmp ecx, 0x80c66156
je 0x543657
cmp ecx, 0xf2325ac5
jne 0x5435fd
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5435fd
mov ecx, eax
jmp 0x5435fd
mov ecx, 0x46df2edb
jmp 0x5435fd
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x543693
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x88]
mov eax, dword [esi + 0x9c]
mov dword [edi], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x1c]
mov dword [edi + 0xc], ecx
setl ah
setge cl
cmp ah, dl
jne 0x5437e7
or cl, al
je 0x5437e7
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x543735
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x54374f
cmp ecx, 0x46df2edb
je 0x543733
cmp ecx, 0x766d7330
jne 0x543735
jmp 0x54378d
cmp ecx, 0x80c66156
je 0x543786
cmp ecx, 0xf2325ac5
jne 0x543735
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x543735
mov ecx, 0x46df2edb
jmp 0x543735
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5437c2
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x5435b5
mov dword [esi + 0xf0], 0x41
mov ecx, dword [esi + 0x20]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x54383c
or cl, al
jne 0x585d12
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x10], 0x5a1cc736
mov eax, dword [esi + 0x10]
cmp eax, 0x1583cd3a
jg 0x543888
cmp eax, 0xb018ea81
je 0x54391c
cmp eax, 0xf7175d7a
jne 0x54386a
jmp 0x54393d
cmp eax, 0x1583cd3b
je 0x5438c5
cmp eax, 0x5a1cc736
jne 0x54386a
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 0x10], edi
jmp 0x543867
mov dword [esi + 0xf0], 0x42
mov ecx, dword [esi + 0x30]
push dword [esi + 0x20]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 0x10], edi
jmp 0x543867
mov dword [esi + 0xf0], 0x42
mov dword [esi + 0x10], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x20]
call fcn.004330f0
jmp 0x543867
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5439a4
cmp ecx, 0x46df2edb
je 0x5439e0
cmp ecx, 0x766d7330
jne 0x54398a
jmp 0x5439eb
cmp ecx, 0x80c66156
je 0x5439e4
cmp ecx, 0xf2325ac5
jne 0x54398a
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x54398a
mov ecx, eax
jmp 0x54398a
mov ecx, 0x46df2edb
jmp 0x54398a
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x543a20
mov edi, dword [esi + 0x20]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
lea eax, [ecx + 1]
mov dword [esi + 0x5c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x80], ecx
cmp dword [esi + 0x80], 0
sete al
cmp dword [esi + 0x48], 0xa
setl cl
mov edx, dword [esi + 0x98]
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x84]
mov dword [esi + 0x1c], edx
test al, cl
jne 0x543389
xor al, cl
mov eax, dword [esi + 0x98]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x1c], eax
jne 0x543389
jmp 0x585cf4
mov dword [esi + 0x78], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x78]
mov edi, edx
mov dword [esi + 0x1c], edx
cmp edx, ecx
jb 0x543ac6
jmp 0x543dd1
cmp dword [esi + 0x1c], 0
je 0x543da7
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x80], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 0x10], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0x1c]
lea edx, [eax + eax*2]
mov dword [esi + 0x98], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x9c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x543b50
cmp edx, 0x6675f964
je 0x543b87
cmp edx, 0x7862661b
jne 0x543b36
jmp 0x543b93
cmp edx, 0xd0a3dc29
je 0x543b8e
cmp edx, 0xd6d6a098
jne 0x543b36
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x543b36
mov edx, 0xd0a3dc29
jmp 0x543b36
mov edx, dword [esi + 0x10]
jmp 0x543b36
mov edx, dword [esi + 0x1c]
dec edx
test dword [esi + 0x80], ecx
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x4c], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x84], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x1c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x98]
lea eax, [edx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x543bf6
cmp eax, 0x6675f964
je 0x543c30
cmp eax, 0x7862661b
jne 0x543bdf
jmp 0x543c3c
cmp eax, 0xd0a3dc29
je 0x543c37
cmp eax, 0xd6d6a098
jne 0x543bdf
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x543bdf
mov eax, 0xd0a3dc29
jmp 0x543bdf
mov eax, dword [esi + 0x10]
jmp 0x543bdf
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x4c]
cmp edx, dword [eax]
mov edx, dword [esi + 0x84]
sbb edx, dword [eax + 4]
jge 0x543d9b
test dword [esi + 0x80], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x543c8c
cmp eax, 0x6675f964
je 0x543cc1
cmp eax, 0x7862661b
jne 0x543c75
jmp 0x543ccd
cmp eax, 0xd0a3dc29
je 0x543cc8
cmp eax, 0xd6d6a098
jne 0x543c75
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x543c75
mov eax, 0xd0a3dc29
jmp 0x543c75
mov eax, dword [esi + 0x10]
jmp 0x543c75
test dword [esi + 0x80], ecx
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x543d07
cmp eax, 0x6675f964
je 0x543d41
cmp eax, 0x7862661b
jne 0x543cf0
jmp 0x543d4d
cmp eax, 0xd0a3dc29
je 0x543d48
cmp eax, 0xd6d6a098
jne 0x543cf0
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ch, al
xor ch, cl
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test cl, cl
mov edi, 0x6675f964
cmove eax, edi
test ch, ch
cmovne eax, ebx
jmp 0x543cf0
mov eax, 0xd0a3dc29
jmp 0x543cf0
mov eax, dword [esi + 0x10]
jmp 0x543cf0
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
mov dword [esi + 0x48], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x543abc
xor dl, cl
jne 0x543abc
jmp 0x585d00
mov ecx, dword [esi + 0x5c]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x78]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x48], 0xa
setge cl
setl ah
xor ah, dl
jne 0x543a95
or al, cl
je 0x543a95
jmp 0x585d28
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x543de6
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x5440c8
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
je 0x543fdf
mov edx, dword [eax]
mov edi, dword [esi + 0x58]
mov dword [edi], edx
test cl, 1
je 0x543fdf
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x543e3b
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x543ea3
cmp ecx, 0xc1fd3d12
je 0x543ede
cmp ecx, 0x3365058b
jne 0x543e84
mov ecx, 0x7b4463f8
jmp 0x543e84
cmp ecx, 0x7b4463f8
je 0x543eda
cmp ecx, 0x52166c0c
jne 0x543e84
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x543e84
mov ecx, eax
jmp 0x543e84
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x543feb
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 0x543f0d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
mov ebx, dword [esi + 0x58]
cmp eax, 0x590bba56
jg 0x543f58
cmp eax, 0xc76c0d8d
je 0x543f91
cmp eax, 0x1f2e313
jne 0x543f39
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x543f39
cmp eax, 0x590bba57
je 0x543e38
cmp eax, 0x74ccc71d
jne 0x543f39
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x543f39
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x543f39
mov edx, dword [eax]
mov edi, dword [esi + 0x58]
mov dword [edi], edx
jmp 0x543e20
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x54402e
cmp eax, 0x3e63df81
je 0x54404c
cmp eax, 0x5632c42c
jne 0x544014
jmp 0x543ddb
cmp eax, 0x1d5864bd
je 0x54409e
cmp eax, 0x3ce7f0d1
jne 0x544014
mov eax, dword [esi + 0xa4]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x544014
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov ebx, 0x5632c42c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x544014
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x544014
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x543345
mov esp, dword [esi + 0xc0]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x544858
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x44
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x544123
xor cl, al
jne 0x544123
jmp 0x585d38
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x544243
cmp ecx, 0xc56a9b93
je 0x5442a6
cmp ecx, 0xd3cadfc0
jne 0x5441fb
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x5441fb
cmp ecx, 0x5722fc0f
je 0x5442b3
cmp ecx, 0x615aa6db
jne 0x5441fb
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x5441fb
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5441fb
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x544345
cmp ecx, 0x80dc4cc9
je 0x54435c
cmp ecx, 0x7f3e42f
jne 0x544301
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x544301
cmp ecx, 0x1aabc941
je 0x544360
cmp ecx, 0x5add25f0
jne 0x544301
mov ecx, 0x80dc4cc9
jmp 0x544301
mov ecx, eax
jmp 0x544301
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x544efb
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5443f0
cmp ecx, 0xc56a9b93
je 0x54444e
cmp ecx, 0xd3cadfc0
jne 0x5443a8
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x5443a8
cmp ecx, 0x5722fc0f
je 0x54445b
cmp ecx, 0x615aa6db
jne 0x5443a8
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5443a8
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x5443a8
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x54446c
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x54465d
mov eax, dword [esi + 0x10]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmove eax, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov edx, 0x5add25f0
cmovge eax, edx
xor bh, bl
cmovne eax, ecx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x544529
cmp ebx, 0x80dc4cc9
je 0x544540
cmp ebx, 0x7f3e42f
jne 0x5444e6
movzx edx, byte [esi + 0xf]
mov dh, byte [esi + 8]
mov ebx, edx
xor bl, dh
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dh, dh
mov ebx, ecx
mov edi, 0x80dc4cc9
cmovne ebx, edi
test dl, dl
cmove ebx, ecx
jmp 0x5444e6
cmp ebx, 0x1aabc941
je 0x544544
cmp ebx, 0x5add25f0
jne 0x5444e6
mov ebx, 0x80dc4cc9
jmp 0x5444e6
mov ebx, eax
jmp 0x5444e6
cmp byte [esi + 0x1c], 0
je 0x54466c
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x544709
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x54474a
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x5445c9
cmp eax, 0x9f04b71e
je 0x544625
cmp eax, 0xaf18808
jne 0x5445af
jmp 0x544469
cmp eax, 0x3d9eb8cd
je 0x54464f
cmp eax, 0x6301b93d
jne 0x5445af
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5445af
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5445af
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x5445af
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
mov edi, dword [esi + 0x30]
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov ebx, 0x7f3e42f
jmp 0x5446aa
mov ebx, edi
cmp ebx, 0x1aabc940
jg 0x5446ee
cmp ebx, 0x80dc4cc9
je 0x5446a8
cmp ebx, 0x7f3e42f
jne 0x5446aa
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov edx, ecx
xor dl, al
test cl, cl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test al, al
mov eax, 0x5add25f0
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x5446aa
cmp ebx, 0x1aabc941
je 0x5444a6
cmp ebx, 0x5add25f0
jne 0x5446aa
mov ebx, 0x80dc4cc9
jmp 0x5446aa
mov dword [esi + 0xf0], 0x5f
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x544784
xor cl, al
jne 0x544784
jmp 0x585d4a
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x544784
or cl, al
jne 0x585d6a
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x5447c6
cmp eax, 0x9f04b71e
je 0x544820
cmp eax, 0xaf18808
jne 0x5447ac
jmp 0x5442b3
cmp eax, 0x3d9eb8cd
je 0x54484a
cmp eax, 0x6301b93d
jne 0x5447ac
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x5447ac
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5447ac
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x5447ac
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5448e6
cmp ecx, 0xc56a9b93
je 0x544944
cmp ecx, 0xd3cadfc0
jne 0x5448a3
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5448a3
cmp ecx, 0x5722fc0f
je 0x544951
cmp ecx, 0x615aa6db
jne 0x5448a3
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5448a3
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5448a3
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x5449de
cmp ecx, 0x80dc4cc9
je 0x5449f5
cmp ecx, 0x7f3e42f
jne 0x54499f
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54499f
cmp ecx, 0x1aabc941
je 0x5449f9
cmp ecx, 0x5add25f0
jne 0x54499f
mov ecx, 0x80dc4cc9
jmp 0x54499f
mov ecx, eax
jmp 0x54499f
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x545028
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x544a89
cmp ecx, 0xc56a9b93
je 0x544ae7
cmp ecx, 0xd3cadfc0
jne 0x544a41
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x544a41
cmp ecx, 0x5722fc0f
je 0x544af4
cmp ecx, 0x615aa6db
jne 0x544a41
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x544a41
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x544a41
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x544b05
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x1c], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x544d0c
mov eax, dword [esi + 0x10]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
and eax, edx
mov dword [esi + 0x30], eax
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x544bd8
cmp ebx, 0x80dc4cc9
je 0x544bef
cmp ebx, 0x7f3e42f
jne 0x544b94
movzx ecx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, cl
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test cl, cl
mov ecx, 0x5add25f0
cmove ebx, ecx
test ah, ah
cmovne ebx, edi
jmp 0x544b94
cmp ebx, 0x1aabc941
je 0x544bf3
cmp ebx, 0x5add25f0
jne 0x544b94
mov ebx, 0x80dc4cc9
jmp 0x544b94
mov ebx, edx
jmp 0x544b94
cmp byte [esi + 0x1c], 0
je 0x544d1b
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x544dae
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x544df0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x544c78
cmp eax, 0x9f04b71e
je 0x544cd4
cmp eax, 0xaf18808
jne 0x544c5e
jmp 0x544b02
cmp eax, 0x3d9eb8cd
je 0x544cfe
cmp eax, 0x6301b93d
jne 0x544c5e
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x544c5e
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x544c5e
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x544c5e
mov eax, dword [esi + 0x10]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
cmp dword [esi + 0x30], 0
sete byte [esi + 0xf]
sete cl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge edi, eax
xor dl, cl
cmovne edi, ebx
mov edx, 0x7f3e42f
jmp 0x544d54
mov edx, edi
cmp edx, 0x1aabc940
jg 0x544d93
cmp edx, 0x80dc4cc9
je 0x544d52
cmp edx, 0x7f3e42f
jne 0x544d54
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
jmp 0x544d54
cmp edx, 0x1aabc941
je 0x544b4b
cmp edx, 0x5add25f0
jne 0x544d54
mov edx, 0x80dc4cc9
jmp 0x544d54
mov dword [esi + 0xf0], 0x45
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x544e26
xor cl, al
jne 0x544e26
jmp 0x585d4c
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x544e26
or cl, al
test cl, 1
jne 0x585d4e
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x544e68
cmp eax, 0x9f04b71e
je 0x544ebe
cmp eax, 0xaf18808
jne 0x544e4e
jmp 0x544951
cmp eax, 0x3d9eb8cd
je 0x544eed
cmp eax, 0x6301b93d
jne 0x544e4e
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x544e4e
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x544e4e
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x544e4e
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x544f2c
or cl, al
jne 0x585dae
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x544fb0
cmp ecx, 0xc56a9b93
je 0x545018
cmp ecx, 0xd3cadfc0
jne 0x544f68
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x544f68
cmp ecx, 0x5722fc0f
je 0x54513c
cmp ecx, 0x615aa6db
jne 0x544f68
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x544f68
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x544f68
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x545053
xor cl, al
je 0x585de6
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5450ce
cmp ecx, 0xc56a9b93
je 0x54512f
cmp ecx, 0xd3cadfc0
jne 0x54508b
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54508b
cmp ecx, 0x5722fc0f
je 0x545313
cmp ecx, 0x615aa6db
jne 0x54508b
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x54508b
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x54508b
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x54514b
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x5451da
cmp edx, 0x80dc4cc9
je 0x5451f1
cmp edx, 0x7f3e42f
jne 0x545196
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov eax, 0x5add25f0
cmove edx, eax
test bh, bh
cmovne edx, edi
jmp 0x545196
cmp edx, 0x1aabc941
je 0x5451f5
cmp edx, 0x5add25f0
jne 0x545196
mov edx, 0x80dc4cc9
jmp 0x545196
mov edx, ecx
jmp 0x545196
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x5454ef
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x545231
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x54522e
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x545282
cmp ecx, 0x9f04b71e
je 0x5452db
cmp ecx, 0xaf18808
jne 0x545265
jmp 0x545148
cmp ecx, 0x3d9eb8cd
je 0x545305
cmp ecx, 0x6301b93d
jne 0x545265
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x545265
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x545265
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x545265
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x545322
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x5453ac
cmp edx, 0x80dc4cc9
je 0x5453c3
cmp edx, 0x7f3e42f
jne 0x54536d
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x54536d
cmp edx, 0x1aabc941
je 0x5453c7
cmp edx, 0x5add25f0
jne 0x54536d
mov edx, 0x80dc4cc9
jmp 0x54536d
mov edx, ecx
jmp 0x54536d
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x5455da
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x54540d
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x54540a
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x54545f
cmp ecx, 0x9f04b71e
je 0x5454b7
cmp ecx, 0xaf18808
jne 0x545442
jmp 0x54531f
cmp ecx, 0x3d9eb8cd
je 0x5454e1
cmp ecx, 0x6301b93d
jne 0x545442
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x545442
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x545442
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x545442
cmp dword [esi + 4], 0x12345678
jne 0x545502
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x5456c6
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x60
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x54554e
xor cl, al
jne 0x54554e
jmp 0x585d6c
cmp dword [esi + 4], 0x12345678
jne 0x5455ed
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x545d5b
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x46
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x545639
xor cl, al
jne 0x545639
jmp 0x585d50
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x545759
cmp ecx, 0xc56a9b93
je 0x5457b7
cmp ecx, 0xd3cadfc0
jne 0x545711
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x545711
cmp ecx, 0x5722fc0f
je 0x5457c4
cmp ecx, 0x615aa6db
jne 0x545711
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x545711
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x545711
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x545853
cmp ecx, 0x80dc4cc9
je 0x54586a
cmp ecx, 0x7f3e42f
jne 0x545814
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x545814
cmp ecx, 0x1aabc941
je 0x54586e
cmp ecx, 0x5add25f0
jne 0x545814
mov ecx, 0x80dc4cc9
jmp 0x545814
mov ecx, eax
jmp 0x545814
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x5463fe
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5458f9
cmp ecx, 0xc56a9b93
je 0x545957
cmp ecx, 0xd3cadfc0
jne 0x5458b6
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5458b6
cmp ecx, 0x5722fc0f
je 0x545964
cmp ecx, 0x615aa6db
jne 0x5458b6
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5458b6
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x5458b6
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x545975
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x545b69
mov eax, dword [esi + 0x10]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, al
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, 1
mov dword [esi + 0x30], edi
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x545a3a
cmp ebx, 0x80dc4cc9
je 0x545a51
cmp ebx, 0x7f3e42f
jne 0x5459f7
movzx edx, byte [esi + 0xf]
mov ch, byte [esi + 8]
mov cl, dl
xor cl, ch
test ch, ch
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test dl, dl
mov edx, 0x5add25f0
cmove ebx, edx
test cl, cl
cmovne ebx, edi
jmp 0x5459f7
cmp ebx, 0x1aabc941
je 0x545a55
cmp ebx, 0x5add25f0
jne 0x5459f7
mov ebx, 0x80dc4cc9
jmp 0x5459f7
mov ebx, eax
jmp 0x5459f7
cmp byte [esi + 0x1c], 0
je 0x545b78
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x545c0b
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x545c52
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x545adb
cmp eax, 0x9f04b71e
je 0x545b31
cmp eax, 0xaf18808
jne 0x545ac1
jmp 0x545972
cmp eax, 0x3d9eb8cd
je 0x545b5b
cmp eax, 0x6301b93d
jne 0x545ac1
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x545ac1
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x545ac1
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x545ac1
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
cmp dword [esi + 0x30], 0
sete byte [esi + 0xf]
sete al
mov edi, 0x5add25f0
mov edx, 0x1aabc941
cmove edi, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov eax, 0x7f3e42f
jmp 0x545bb1
mov eax, edi
cmp eax, 0x1aabc940
jg 0x545bf2
cmp eax, 0x80dc4cc9
je 0x545baf
cmp eax, 0x7f3e42f
jne 0x545bb1
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne eax, ebx
test cl, cl
mov ecx, 0x5add25f0
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x545bb1
cmp eax, 0x1aabc941
je 0x5459b0
cmp eax, 0x5add25f0
jne 0x545bb1
mov eax, 0x80dc4cc9
jmp 0x545bb1
mov dword [esi + 0xf0], 0x61
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x545c8c
or cl, al
je 0x545c8c
jmp 0x585d80
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x545c8c
or cl, al
jne 0x585d7e
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x545cce
cmp eax, 0x9f04b71e
je 0x545d23
cmp eax, 0xaf18808
jne 0x545cb4
jmp 0x5457c4
cmp eax, 0x3d9eb8cd
je 0x545d4d
cmp eax, 0x6301b93d
jne 0x545cb4
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x545cb4
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x545cb4
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x545cb4
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x545deb
cmp ecx, 0xc56a9b93
je 0x545e4f
cmp ecx, 0xd3cadfc0
jne 0x545da8
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x545da8
cmp ecx, 0x5722fc0f
je 0x545e5f
cmp ecx, 0x615aa6db
jne 0x545da8
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x545da8
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x545da8
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3f7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
sete cl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x545eea
cmp ecx, 0x80dc4cc9
je 0x545f01
cmp ecx, 0x7f3e42f
jne 0x545eab
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x545eab
cmp ecx, 0x1aabc941
je 0x545f05
cmp ecx, 0x5add25f0
jne 0x545eab
mov ecx, 0x80dc4cc9
jmp 0x545eab
mov ecx, eax
jmp 0x545eab
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x546520
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x545f94
cmp ecx, 0xc56a9b93
je 0x545ff2
cmp ecx, 0xd3cadfc0
jne 0x545f4c
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x545f4c
cmp ecx, 0x5722fc0f
je 0x545fff
cmp ecx, 0x615aa6db
jne 0x545f4c
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x545f4c
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x545f4c
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x546010
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x546206
mov ecx, dword [esi + 0x30]
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 + 4]
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, eax
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x5460d8
cmp ebx, 0x80dc4cc9
je 0x5460ef
cmp ebx, 0x7f3e42f
jne 0x546092
movzx ebx, byte [esi + 0xf]
mov byte [esi + 0x10], bl
mov ch, byte [esi + 8]
xor bl, ch
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test ch, ch
mov ebx, edx
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
cmp byte [esi + 0x10], 0
cmove ebx, edx
jmp 0x546092
cmp ebx, 0x1aabc941
je 0x5460f3
cmp ebx, 0x5add25f0
jne 0x546092
mov ebx, 0x80dc4cc9
jmp 0x546092
mov ebx, eax
jmp 0x546092
cmp byte [esi + 0x1c], 0
je 0x546212
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x5462ac
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x5462f3
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x546178
cmp eax, 0x9f04b71e
je 0x5461ce
cmp eax, 0xaf18808
jne 0x54615e
jmp 0x54600d
cmp eax, 0x3d9eb8cd
je 0x5461f8
cmp eax, 0x6301b93d
jne 0x54615e
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x54615e
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54615e
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x54615e
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov ebx, 0x7f3e42f
jmp 0x54624d
mov ebx, edi
cmp ebx, 0x1aabc940
jg 0x546291
cmp ebx, 0x80dc4cc9
je 0x54624b
cmp ebx, 0x7f3e42f
jne 0x54624d
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov edx, ecx
xor dl, al
test cl, cl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test al, al
mov eax, 0x5add25f0
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x54624d
cmp ebx, 0x1aabc941
je 0x54604b
cmp ebx, 0x5add25f0
jne 0x54624d
mov ebx, 0x80dc4cc9
jmp 0x54624d
mov dword [esi + 0xf0], 0x47
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x546328
or cl, al
je 0x546328
jmp 0x585d84
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x546328
xor cl, al
je 0x585d82
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x54636b
cmp eax, 0x9f04b71e
je 0x5463c1
cmp eax, 0xaf18808
jne 0x546351
jmp 0x545e5f
cmp eax, 0x3d9eb8cd
je 0x5463f0
cmp eax, 0x6301b93d
jne 0x546351
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x546351
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x546351
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x546351
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x546429
xor cl, al
je 0x585db0
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5464a8
cmp ecx, 0xc56a9b93
je 0x546510
cmp ecx, 0xd3cadfc0
jne 0x546465
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x546465
cmp ecx, 0x5722fc0f
je 0x54663a
cmp ecx, 0x615aa6db
jne 0x546465
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x546465
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x546465
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x546551
or cl, al
jne 0x585de8
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5465cc
cmp ecx, 0xc56a9b93
je 0x54662d
cmp ecx, 0xd3cadfc0
jne 0x546589
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x546589
cmp ecx, 0x5722fc0f
je 0x546813
cmp ecx, 0x615aa6db
jne 0x546589
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x546589
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x546589
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x546649
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x5466da
cmp edx, 0x80dc4cc9
je 0x5466f1
cmp edx, 0x7f3e42f
jne 0x546696
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x546696
cmp edx, 0x1aabc941
je 0x5466f5
cmp edx, 0x5add25f0
jne 0x546696
mov edx, 0x80dc4cc9
jmp 0x546696
mov edx, ecx
jmp 0x546696
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x5469ec
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x546731
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x54672e
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x546783
cmp ecx, 0x9f04b71e
je 0x5467db
cmp ecx, 0xaf18808
jne 0x546766
jmp 0x546646
cmp ecx, 0x3d9eb8cd
je 0x546805
cmp ecx, 0x6301b93d
jne 0x546766
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x546766
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x546766
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x546766
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x546822
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x5468b3
cmp edx, 0x80dc4cc9
je 0x5468ca
cmp edx, 0x7f3e42f
jne 0x54686f
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x54686f
cmp edx, 0x1aabc941
je 0x5468ce
cmp edx, 0x5add25f0
jne 0x54686f
mov edx, 0x80dc4cc9
jmp 0x54686f
mov edx, ecx
jmp 0x54686f
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x54b9fa
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x54690b
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x546908
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x54695c
cmp ecx, 0x9f04b71e
je 0x5469b4
cmp ecx, 0xaf18808
jne 0x54693f
jmp 0x54681f
cmp ecx, 0x3d9eb8cd
je 0x5469de
cmp ecx, 0x6301b93d
jne 0x54693f
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x54693f
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x54693f
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x54693f
cmp dword [esi + 4], 0x12345678
jne 0x5469ff
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc6]
cmp ecx, 0xa
setl byte [esi + 0xc7]
mov eax, 0xe2c12531
cmp eax, 0xe2c12530
jg 0x546b23
cmp eax, 0x9858f9d0
je 0x5509b6
cmp eax, 0xb3e2a994
jne 0x546a3e
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x546c2e
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x62
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x546a96
xor cl, al
jne 0x546a96
jmp 0x585da0
cmp eax, 0x7c4966b4
je 0x546b65
cmp eax, 0xe2c12531
jne 0x546a3e
movzx ecx, byte [esi + 0xc6]
movzx eax, byte [esi + 0xc7]
mov edx, ecx
xor dl, al
mov edx, 0x7c4966b4
mov edi, 0xb3e2a994
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x546a3e
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x547300
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x6a
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
inc dword [esi + 4]
cmp ch, dl
jne 0x546ba0
or cl, al
test cl, 1
je 0x546ba0
jmp 0x585d9e
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x546cc1
cmp ecx, 0xc56a9b93
je 0x546d24
cmp ecx, 0xd3cadfc0
jne 0x546c79
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x546c79
cmp ecx, 0x5722fc0f
je 0x546d31
cmp ecx, 0x615aa6db
jne 0x546c79
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x546c79
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x546c79
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x546dc5
cmp ecx, 0x80dc4cc9
je 0x546ddc
cmp ecx, 0x7f3e42f
jne 0x546d81
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x546d81
cmp ecx, 0x1aabc941
je 0x546de0
cmp ecx, 0x5add25f0
jne 0x546d81
mov ecx, 0x80dc4cc9
jmp 0x546d81
mov ecx, eax
jmp 0x546d81
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x547988
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x546e73
cmp ecx, 0xc56a9b93
je 0x546ed7
cmp ecx, 0xd3cadfc0
jne 0x546e2b
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x546e2b
cmp ecx, 0x5722fc0f
je 0x546ee7
cmp ecx, 0x615aa6db
jne 0x546e2b
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x546e2b
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x546e2b
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x546ef8
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, dword [0x5c3f78]
mov dword [esi + 0x10], ecx
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov byte [esi + 0x1c], al
test al, 1
je 0x547102
mov eax, dword [esi + 0x10]
lea edi, [eax + 1]
imul edi, eax
mov ecx, edi
and ecx, 1
sete cl
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, cl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
and edi, 1
mov dword [esi + 0x30], edi
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x546fc6
cmp ebx, 0x80dc4cc9
je 0x546fdd
cmp ebx, 0x7f3e42f
jne 0x546f82
movzx edx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, dl
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test dl, dl
mov edx, 0x5add25f0
cmove ebx, edx
test ah, ah
cmovne ebx, edi
jmp 0x546f82
cmp ebx, 0x1aabc941
je 0x546fe1
cmp ebx, 0x5add25f0
jne 0x546f82
mov ebx, 0x80dc4cc9
jmp 0x546f82
mov ebx, ecx
jmp 0x546f82
test byte [esi + 0x1c], 1
je 0x547115
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x5471ad
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x5471ef
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x547067
cmp eax, 0x9f04b71e
je 0x5470c5
cmp eax, 0xaf18808
jne 0x54704d
jmp 0x546ef5
cmp eax, 0x3d9eb8cd
je 0x5470f4
cmp eax, 0x6301b93d
jne 0x54704d
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x54704d
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x54704d
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x54704d
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov dword [esi + 0x30], eax
cmp dword [esi + 0x30], 0
sete byte [esi + 0xf]
sete cl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge edi, eax
xor dl, cl
cmovne edi, ebx
mov ecx, 0x7f3e42f
jmp 0x54714e
mov ecx, edi
cmp ecx, 0x1aabc940
jg 0x547192
cmp ecx, 0x80dc4cc9
je 0x54714c
cmp ecx, 0x7f3e42f
jne 0x54714e
movzx edx, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov ah, cl
xor ah, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edx, 0x5add25f0
cmove ecx, edx
test ah, ah
cmovne ecx, ebx
jmp 0x54714e
cmp ecx, 0x1aabc941
je 0x546f3b
cmp ecx, 0x5add25f0
jne 0x54714e
mov ecx, 0x80dc4cc9
jmp 0x54714e
mov dword [esi + 0xf0], 0x63
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x547229
xor cl, al
jne 0x547229
jmp 0x585dcc
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x547229
or cl, al
jne 0x585dce
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x54726c
cmp eax, 0x9f04b71e
je 0x5472c8
cmp eax, 0xaf18808
jne 0x547252
jmp 0x546d31
cmp eax, 0x3d9eb8cd
je 0x5472f2
cmp eax, 0x6301b93d
jne 0x547252
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x547252
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x547252
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x547252
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x54738d
cmp ecx, 0xc56a9b93
je 0x5473ea
cmp ecx, 0xd3cadfc0
jne 0x54734a
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54734a
cmp ecx, 0x5722fc0f
je 0x5473f7
cmp ecx, 0x615aa6db
jne 0x54734a
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x54734a
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x54734a
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x547484
cmp ecx, 0x80dc4cc9
je 0x54749b
cmp ecx, 0x7f3e42f
jne 0x547445
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x547445
cmp ecx, 0x1aabc941
je 0x54749f
cmp ecx, 0x5add25f0
jne 0x547445
mov ecx, 0x80dc4cc9
jmp 0x547445
mov ecx, eax
jmp 0x547445
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x547aa3
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x54752a
cmp ecx, 0xc56a9b93
je 0x547588
cmp ecx, 0xd3cadfc0
jne 0x5474e7
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5474e7
cmp ecx, 0x5722fc0f
je 0x547595
cmp ecx, 0x615aa6db
jne 0x5474e7
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5474e7
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x5474e7
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x5475a6
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x54779a
mov ecx, dword [esi + 0x10]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x30], ecx
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmove eax, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov edx, 0x5add25f0
cmovge eax, edx
xor bh, bl
cmovne eax, ecx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x547668
cmp ebx, 0x80dc4cc9
je 0x54767f
cmp ebx, 0x7f3e42f
jne 0x547625
movzx edx, byte [esi + 0xf]
mov dh, byte [esi + 8]
mov ebx, edx
xor bl, dh
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dh, dh
mov ebx, ecx
mov edi, 0x80dc4cc9
cmovne ebx, edi
test dl, dl
cmove ebx, ecx
jmp 0x547625
cmp ebx, 0x1aabc941
je 0x547683
cmp ebx, 0x5add25f0
jne 0x547625
mov ebx, 0x80dc4cc9
jmp 0x547625
mov ebx, eax
jmp 0x547625
cmp byte [esi + 0x1c], 0
je 0x5477a9
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x54783c
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x54787f
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x547708
cmp eax, 0x9f04b71e
je 0x547762
cmp eax, 0xaf18808
jne 0x5476ee
jmp 0x5475a3
cmp eax, 0x3d9eb8cd
je 0x54778c
cmp eax, 0x6301b93d
jne 0x5476ee
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x5476ee
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5476ee
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x5476ee
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
mov edi, dword [esi + 0x30]
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov eax, 0x7f3e42f
jmp 0x5477e7
mov eax, edi
cmp eax, 0x1aabc940
jg 0x547823
cmp eax, 0x80dc4cc9
je 0x5477e5
cmp eax, 0x7f3e42f
jne 0x5477e7
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x5477e7
cmp eax, 0x1aabc941
je 0x5475e1
cmp eax, 0x5add25f0
jne 0x5477e7
mov eax, 0x80dc4cc9
jmp 0x5477e7
mov dword [esi + 0xf0], 0x6b
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5478b4
or cl, al
test cl, 1
je 0x5478b4
jmp 0x585db2
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x5478b4
xor cl, al
je 0x585db4
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x5478f6
cmp eax, 0x9f04b71e
je 0x54794b
cmp eax, 0xaf18808
jne 0x5478dc
jmp 0x5473f7
cmp eax, 0x3d9eb8cd
je 0x54797a
cmp eax, 0x6301b93d
jne 0x5478dc
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5478dc
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x5478dc
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x5478dc
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5479b9
or cl, al
jne 0x585dd0
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x547a35
cmp ecx, 0xc56a9b93
je 0x547a96
cmp ecx, 0xd3cadfc0
jne 0x5479f2
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5479f2
cmp ecx, 0x5722fc0f
je 0x547bc7
cmp ecx, 0x615aa6db
jne 0x5479f2
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5479f2
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5479f2
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x547ad0
or cl, al
test cl, 1
jne 0x585db6
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x547b4f
cmp ecx, 0xc56a9b93
je 0x547bb7
cmp ecx, 0xd3cadfc0
jne 0x547b0c
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x547b0c
cmp ecx, 0x5722fc0f
je 0x547da1
cmp ecx, 0x615aa6db
jne 0x547b0c
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x547b0c
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x547b0c
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x547bd6
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x547c5e
cmp edx, 0x80dc4cc9
je 0x547c75
cmp edx, 0x7f3e42f
jne 0x547c1f
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x547c1f
cmp edx, 0x1aabc941
je 0x547c79
cmp edx, 0x5add25f0
jne 0x547c1f
mov edx, 0x80dc4cc9
jmp 0x547c1f
mov edx, ecx
jmp 0x547c1f
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x547f92
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x547cbf
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x547cbc
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x547d11
cmp ecx, 0x9f04b71e
je 0x547d69
cmp ecx, 0xaf18808
jne 0x547cf4
jmp 0x547bd3
cmp ecx, 0x3d9eb8cd
je 0x547d93
cmp ecx, 0x6301b93d
jne 0x547cf4
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x547cf4
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x547cf4
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x547cf4
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x547db0
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x547e41
cmp edx, 0x80dc4cc9
je 0x547e58
cmp edx, 0x7f3e42f
jne 0x547dfd
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x547dfd
cmp edx, 0x1aabc941
je 0x547e5c
cmp edx, 0x5add25f0
jne 0x547dfd
mov edx, 0x80dc4cc9
jmp 0x547dfd
mov edx, ecx
jmp 0x547dfd
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x549c6b
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x547ea1
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x547e9e
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x547ef3
cmp ecx, 0x9f04b71e
je 0x547f55
cmp ecx, 0xaf18808
jne 0x547ed6
jmp 0x547dad
cmp ecx, 0x3d9eb8cd
je 0x547f84
cmp ecx, 0x6301b93d
jne 0x547ed6
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x547ed6
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x547ed6
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x547ed6
cmp dword [esi + 4], 0x12345678
jne 0x547fa5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x547fe2
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x548db2
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x5480d1
xor cl, al
je 0x585ddc
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x54878b
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x54874a
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x64
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x5481f1
cmp dword [esi + 4], 0xb018ea81
je 0x54822d
cmp dword [esi + 4], 0xf7175d7a
jne 0x5481d1
jmp 0x5482a2
cmp dword [esi + 4], 0x1583cd3b
je 0x54824b
cmp dword [esi + 4], 0x5a1cc736
jne 0x5481d1
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x5481d1
mov dword [esi + 0xf0], 0x66
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x5481d1
mov dword [esi + 0xf0], 0x66
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x5481d1
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x5482cd
xor cl, al
je 0x5483ff
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x548334
cmp ecx, 0x46df2edb
je 0x548370
cmp ecx, 0x766d7330
jne 0x54831a
jmp 0x54837b
cmp ecx, 0x80c66156
je 0x548374
cmp ecx, 0xf2325ac5
jne 0x54831a
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x54831a
mov ecx, eax
jmp 0x54831a
mov ecx, 0x46df2edb
jmp 0x54831a
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5483b0
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x20]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 0xc], edi
jne 0x5484f7
or cl, al
je 0x5484f7
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x54844b
cmp ecx, 0x46df2eda
jle 0x548465
cmp ecx, 0x46df2edb
je 0x548449
cmp ecx, 0x80c66156
je 0x54849c
mov dword [esi + 0xf0], 0x64
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x548549
or cl, al
jne 0x585dde
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x548593
cmp dword [esi + 4], 0xb018ea81
je 0x5485d4
cmp dword [esi + 4], 0xf7175d7a
jne 0x548573
cmp dword [esi + 4], 0x1583cd3b
je 0x5485f2
cmp dword [esi + 4], 0x5a1cc736
jne 0x548573
mov dword [esi + 0xf0], 0x65
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x548573
mov dword [esi + 0xf0], 0x65
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x548573
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
test al, cl
jne 0x5480a5
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
jne 0x5480a5
jmp 0x585de0
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x20], edx
cmp edx, ecx
jb 0x5487c9
jmp 0x548aa2
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edi, 0x7862661b
cmovne eax, edi
and ecx, 1
sete byte [esi + 0x34]
mov edx, eax
cmove edx, edi
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edx, eax
mov dword [esi + 4], edx
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x548843
cmp eax, 0x6675f964
je 0x548878
cmp eax, 0x7862661b
jne 0x54882c
jmp 0x548884
cmp eax, 0xd0a3dc29
je 0x54887f
cmp eax, 0xd6d6a098
jne 0x54882c
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x54882c
mov eax, 0xd0a3dc29
jmp 0x54882c
mov eax, dword [esi + 4]
jmp 0x54882c
mov edx, dword [esi + 0x20]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x20], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5488da
cmp eax, 0x6675f964
je 0x548914
cmp eax, 0x7862661b
jne 0x5488c3
jmp 0x548920
cmp eax, 0xd0a3dc29
je 0x54891b
cmp eax, 0xd6d6a098
jne 0x5488c3
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov edx, 0xd0a3dc29
cmovne eax, edx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, edx
jmp 0x5488c3
mov eax, 0xd0a3dc29
jmp 0x5488c3
mov eax, dword [esi + 4]
jmp 0x5488c3
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x548a6c
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x548969
cmp eax, 0x6675f964
je 0x54899e
cmp eax, 0x7862661b
jne 0x548952
jmp 0x5489aa
cmp eax, 0xd0a3dc29
je 0x5489a5
cmp eax, 0xd6d6a098
jne 0x548952
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x548952
mov eax, 0xd0a3dc29
jmp 0x548952
mov eax, dword [esi + 4]
jmp 0x548952
test ecx, ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5489dd
cmp eax, 0x6675f964
je 0x548a12
cmp eax, 0xd0a3dc29
je 0x548a19
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x548795
xor al, cl
jne 0x548795
jmp 0x585de4
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x548ab7
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x548d98
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
jne 0x548caf
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x548caf
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x548b0e
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x548b78
cmp ecx, 0xc1fd3d12
je 0x548bb3
cmp ecx, 0x3365058b
jne 0x548b59
mov ecx, 0x7b4463f8
jmp 0x548b59
cmp ecx, 0x7b4463f8
je 0x548baf
cmp ecx, 0x52166c0c
jne 0x548b59
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x548b59
mov ecx, eax
jmp 0x548b59
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x548cbb
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 0x548be2
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x548c2c
cmp eax, 0xc76c0d8d
je 0x548c65
cmp eax, 0x1f2e313
jne 0x548c0a
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x548c0a
cmp eax, 0x590bba57
je 0x548b0b
cmp eax, 0x74ccc71d
jne 0x548c0a
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x548c0a
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x548c0a
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x548af4
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x548cfe
cmp eax, 0x3e63df81
je 0x548d1c
cmp eax, 0x5632c42c
jne 0x548ce4
jmp 0x548aac
cmp eax, 0x1d5864bd
je 0x548d6e
cmp eax, 0x3ce7f0d1
jne 0x548ce4
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x548ce4
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov ebx, 0x5632c42c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x548ce4
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x548ce4
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x54805b
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x548dda
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x549bba
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x8c]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x548ec5
xor cl, al
je 0x585dd2
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x549578
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x549537
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x67
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x548fe6
cmp dword [esi + 4], 0xb018ea81
je 0x549027
cmp dword [esi + 4], 0xf7175d7a
jne 0x548fc6
jmp 0x54909f
cmp dword [esi + 4], 0x1583cd3b
je 0x549045
cmp dword [esi + 4], 0x5a1cc736
jne 0x548fc6
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x548fc6
mov dword [esi + 0xf0], 0x69
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x548fc6
mov dword [esi + 0xf0], 0x69
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x548fc6
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x5490cb
xor cl, al
je 0x5491f0
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x54912e
cmp ecx, 0x46df2edb
je 0x549165
cmp ecx, 0x766d7330
jne 0x549114
jmp 0x549170
cmp ecx, 0x80c66156
je 0x549169
cmp ecx, 0xf2325ac5
jne 0x549114
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x549114
mov ecx, eax
jmp 0x549114
mov ecx, 0x46df2edb
jmp 0x549114
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5491a5
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x58]
mov eax, dword [esi + 0x4c]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 8], eax
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x44]
mov dword [edi + 0xc], ecx
setl ch
setge cl
cmp ch, dl
jne 0x5492e9
or cl, al
test cl, 1
je 0x5492e9
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp fcn.0054923d
mov dword [esi + 0xf0], 0x67
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x549337
or cl, al
test cl, 1
jne 0x585dd4
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x549382
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
test al, cl
jne 0x548e9d
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
jne 0x548e9d
jmp 0x585dd6
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x5495b6
jmp 0x5498a7
mov eax, dword [0x5c4098]
mov edi, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp edi, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
and ecx, 1
mov dword [esi + 0x48], ecx
sete byte [esi + 0x34]
mov ecx, eax
cmove ecx, edx
mov dword [esi + 0x44], edi
cmp edi, 0xa
setl byte [esi + 0x24]
cmovge ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 0x3c]
lea eax, [eax + eax*2]
mov dword [esi + 0x78], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov edi, 0xd6d6a098
cmp edi, 0x6675f963
jle 0x549636
cmp edi, 0x6675f964
je 0x549671
cmp edi, 0x7862661b
jne 0x54961c
jmp 0x54967d
cmp edi, 0xd0a3dc29
je 0x549678
cmp edi, 0xd6d6a098
jne 0x54961c
movzx ebx, byte [esi + 0x34]
mov ah, byte [esi + 0x24]
mov al, bl
xor al, ah
test ah, ah
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test bl, bl
mov edx, 0x6675f964
cmove edi, edx
test al, al
cmovne edi, ecx
jmp 0x54961c
mov edi, 0xd0a3dc29
jmp 0x54961c
mov edi, dword [esi + 4]
jmp 0x54961c
mov ecx, dword [esi + 0x3c]
dec ecx
cmp dword [esi + 0x48], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov edi, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x78]
lea eax, [ecx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5496d2
cmp eax, 0x6675f964
je 0x549707
cmp eax, 0x7862661b
jne 0x5496bb
jmp 0x549713
cmp eax, 0xd0a3dc29
je 0x54970e
cmp eax, 0xd6d6a098
jne 0x5496bb
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov eax, edx
cmovne eax, ecx
test bl, bl
cmove eax, edx
jmp 0x5496bb
mov eax, 0xd0a3dc29
jmp 0x5496bb
mov eax, dword [esi + 4]
jmp 0x5496bb
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
sbb edi, dword [eax + 4]
jge 0x549867
cmp dword [esi + 0x48], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov edi, 0xd6d6a098
cmp edi, 0x6675f963
jle 0x54975e
cmp edi, 0x6675f964
je 0x54979a
cmp edi, 0x7862661b
jne 0x549744
jmp fcn.005497a6
cmp edi, 0xd0a3dc29
je 0x5497a1
cmp edi, 0xd6d6a098
jne 0x549744
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov edx, 0x6675f964
cmove edi, edx
test ah, ah
cmovne edi, ecx
jmp 0x549744
mov edi, 0xd0a3dc29
jmp 0x549744
mov edi, dword [esi + 4]
jmp 0x549744
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x549582
or al, cl
je 0x549582
jmp 0x585dda
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x5498bc
cmp eax, dword [esi + 0x44]
je 0x549ba0
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
jne 0x549ab7
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x549ab7
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x549913
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x54997f
cmp ecx, 0xc1fd3d12
je 0x5499ba
cmp ecx, 0x3365058b
jne 0x549960
mov ecx, 0x7b4463f8
jmp 0x549960
cmp ecx, 0x7b4463f8
je 0x5499b6
cmp ecx, 0x52166c0c
jne 0x549960
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x549960
mov ecx, eax
jmp 0x549960
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x549ac3
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 0x5499e9
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x549a34
cmp eax, 0xc76c0d8d
je 0x549a6d
cmp eax, 0x590bba57
je 0x549910
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x5498f9
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x549b06
cmp eax, 0x3e63df81
je 0x549b24
cmp eax, 0x5632c42c
jne 0x549aec
cmp eax, 0x1d5864bd
je 0x549b71
cmp eax, 0x3ce7f0d1
jne 0x549aec
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x549aec
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x549aec
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x548e53
mov esp, dword [esi + 0xc0]
mov edx, dword [0x5c69b0]
mov ecx, dword [0x5c69b4]
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, 0x150b35d3
mov edi, 0x3d9de5f5
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x549c4c
cmp ecx, 0x150b35d3
je 0x549c64
cmp ecx, 0x1e00e94d
jne 0x549c0d
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x549c0d
cmp ecx, 0x3d9de5f5
je 0x54b99f
cmp ecx, 0x3f6d87b9
jne 0x549c0d
mov ecx, eax
jmp 0x549c0d
mov ecx, 0x3f6d87b9
jmp 0x549c0d
cmp dword [esi + 4], 0x12345678
jne 0x549c7e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
or al, cl
xor ah, dl
xor al, 1
or al, ah
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, 1
je 0x549cc0
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x54aacf
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x549db3
or cl, al
test cl, 1
jne 0x585dc0
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x54a482
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x54a43b
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x6c
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x549ed3
cmp dword [esi + 4], 0xb018ea81
je 0x549f14
cmp dword [esi + 4], 0xf7175d7a
jne 0x549eb3
jmp 0x549f8e
cmp dword [esi + 4], 0x1583cd3b
je 0x549f32
cmp dword [esi + 4], 0x5a1cc736
jne 0x549eb3
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x549eb3
mov dword [esi + 0xf0], 0x6e
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x549eb3
mov dword [esi + 0xf0], 0x6e
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x549eb3
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x549fbb
or cl, al
test cl, 1
jne 0x54a0e9
mov eax, dword [0x5c4090]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x54a01e
cmp ecx, 0x46df2edb
je 0x54a05a
cmp ecx, 0x766d7330
jne 0x54a004
jmp 0x54a065
cmp ecx, 0x80c66156
je 0x54a05e
cmp ecx, 0xf2325ac5
jne 0x54a004
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x54a004
mov ecx, eax
jmp 0x54a004
mov ecx, 0x46df2edb
jmp 0x54a004
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x54a09a
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x20]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 0xc], edi
jne 0x54a1e9
or cl, al
je 0x54a1e9
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x54a138
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x54a152
cmp ecx, 0x46df2edb
je 0x54a136
cmp ecx, 0x766d7330
jne 0x54a138
cmp ecx, 0x80c66156
je 0x54a18e
cmp ecx, 0xf2325ac5
jne 0x54a138
mov ecx, 0x46df2edb
jmp 0x54a138
mov dword [esi + 0xf0], 0x6c
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54a236
xor cl, al
je 0x585dc2
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54a280
cmp dword [esi + 4], 0xb018ea81
je 0x54a2c1
cmp dword [esi + 4], 0xf7175d7a
jne 0x54a260
jmp fcn.0054a339
cmp dword [esi + 4], 0x1583cd3b
je 0x54a2df
cmp dword [esi + 4], 0x5a1cc736
jne 0x54a260
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x54a260
mov dword [esi + 0xf0], 0x6d
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x54a260
mov dword [esi + 0xf0], 0x6d
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x54a260
cmp dword [esi + 4], 0
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
jne 0x549d83
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
je 0x549d83
jmp 0x585dc4
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x20], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x54a4c0
jmp 0x54a7b9
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x3c], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x20], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x54a538
cmp edx, 0x6675f964
je 0x54a56f
cmp edx, 0x7862661b
jne 0x54a51e
jmp 0x54a57a
cmp edx, 0xd0a3dc29
je 0x54a576
cmp edx, 0xd6d6a098
jne 0x54a51e
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test al, al
cmove edx, edi
jmp 0x54a51e
mov edx, 0xd0a3dc29
jmp 0x54a51e
mov edx, ebx
jmp 0x54a51e
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x3c], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54a5d2
cmp eax, 0x6675f964
je 0x54a607
cmp eax, 0x7862661b
jne 0x54a5bb
jmp 0x54a612
cmp eax, 0xd0a3dc29
je 0x54a60e
cmp eax, 0xd6d6a098
jne 0x54a5bb
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x54a5bb
mov eax, 0xd0a3dc29
jmp 0x54a5bb
mov eax, ebx
jmp 0x54a5bb
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x54a77f
cmp dword [esi + 0x3c], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x54a660
cmp edx, 0x6675f964
je 0x54a69c
cmp edx, 0x7862661b
jne 0x54a646
jmp 0x54a6a7
cmp edx, 0xd0a3dc29
je 0x54a6a3
cmp edx, 0xd6d6a098
jne 0x54a646
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x54a646
mov edx, 0xd0a3dc29
jmp 0x54a646
mov edx, ebx
jmp 0x54a646
cmp dword [esi + 0x3c], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x3c], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x54a6e2
cmp ecx, 0x6675f964
je 0x54a71e
cmp ecx, 0x7862661b
jne 0x54a6c8
cmp ecx, 0xd0a3dc29
je 0x54a725
cmp ecx, 0xd6d6a098
jne 0x54a6c8
mov ecx, 0xd0a3dc29
jmp 0x54a6c8
mov ecx, ebx
jmp 0x54a6c8
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x54a48c
xor al, cl
jne 0x54a48c
jmp 0x585dc8
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x54a7ce
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x20]
je 0x54aab5
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x54a9cc
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x54a9cc
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x54a829
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x54a895
cmp ecx, 0xc1fd3d12
je 0x54a8d0
cmp ecx, 0x3365058b
jne 0x54a876
mov ecx, 0x7b4463f8
jmp 0x54a876
cmp ecx, 0x7b4463f8
je 0x54a8cc
cmp ecx, 0x52166c0c
jne 0x54a876
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x54a876
mov ecx, eax
jmp 0x54a876
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x54a9d8
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 0x54a8ff
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x54a949
cmp eax, 0xc76c0d8d
je 0x54a982
cmp eax, 0x1f2e313
jne 0x54a927
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x54a927
cmp eax, 0x590bba57
je 0x54a826
cmp eax, 0x74ccc71d
jne 0x54a927
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov ebx, 0xc76c0d8d
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x54a927
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov ebx, 0x590bba57
cmove eax, ebx
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x54a927
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x54a80f
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x54aa1b
cmp eax, 0x3e63df81
je 0x54aa39
cmp eax, 0x5632c42c
jne 0x54aa01
jmp 0x54a7c3
cmp eax, 0x1d5864bd
je 0x54aa86
cmp eax, 0x3ce7f0d1
jne 0x54aa01
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x54aa01
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x54aa01
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x54aa01
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x549d39
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x54aaf7
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x54b8ef
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x54abe6
xor cl, al
je 0x585db8
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x54b2b0
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x54b269
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x6f
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54ad06
cmp dword [esi + 4], 0xb018ea81
je 0x54ad42
cmp dword [esi + 4], 0xf7175d7a
jne 0x54ace6
jmp 0x54adbc
cmp dword [esi + 4], 0x1583cd3b
je 0x54ad60
cmp dword [esi + 4], 0x5a1cc736
jne 0x54ace6
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x54ace6
mov dword [esi + 0xf0], 0x71
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x54ace6
mov dword [esi + 0xf0], 0x71
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x54ace6
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x54aded
or cl, al
jne 0x54af1b
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x54ae50
cmp ecx, 0x46df2edb
je 0x54ae8c
cmp ecx, 0x766d7330
jne 0x54ae36
jmp 0x54ae97
cmp ecx, 0x80c66156
je 0x54ae90
cmp ecx, 0xf2325ac5
jne 0x54ae36
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x54ae36
mov ecx, eax
jmp 0x54ae36
mov ecx, 0x46df2edb
jmp 0x54ae36
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x54aecc
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x58]
mov eax, dword [esi + 0x4c]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x44]
mov dword [edi + 0xc], ecx
setl ah
setge cl
cmp ah, dl
jne 0x54b01b
or cl, al
je 0x54b01b
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x54af6a
cmp ecx, 0x46df2eda
jle 0x54af84
mov dword [esi + 0xf0], 0x6f
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54b067
xor cl, al
je 0x585dba
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54b0b2
cmp dword [esi + 4], 0xb018ea81
je 0x54b0f3
cmp dword [esi + 4], 0x1583cd3b
je 0x54b111
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x3c], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x44], edi
cmp dl, ah
jne 0x54abba
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x54abba
jmp 0x585dca
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x54b2ee
jmp 0x54b5d5
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edi, 0x7862661b
cmovne eax, edi
and ecx, 1
sete byte [esi + 0x34]
mov edx, eax
cmove edx, edi
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edx, eax
mov dword [esi + 4], edx
mov eax, dword [esi + 0x30]
mov edx, dword [eax]
mov eax, dword [esi + 0x3c]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54b368
cmp eax, 0x6675f964
je 0x54b39d
cmp eax, 0x7862661b
jne 0x54b351
jmp 0x54b3a9
cmp eax, 0xd0a3dc29
je 0x54b3a4
cmp eax, 0xd6d6a098
jne 0x54b351
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x54b351
mov eax, 0xd0a3dc29
jmp 0x54b351
mov eax, dword [esi + 4]
jmp 0x54b351
mov edx, dword [esi + 0x3c]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54b3ff
cmp eax, 0x6675f964
je 0x54b439
cmp eax, 0x7862661b
jne 0x54b3e8
jmp 0x54b445
cmp eax, 0xd0a3dc29
je 0x54b440
cmp eax, 0xd6d6a098
jne 0x54b3e8
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov edx, 0xd0a3dc29
cmovne eax, edx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, edx
jmp 0x54b3e8
mov eax, 0xd0a3dc29
jmp 0x54b3e8
mov eax, dword [esi + 4]
jmp 0x54b3e8
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x54b595
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54b48e
cmp eax, 0x6675f964
je 0x54b4c3
cmp eax, 0x7862661b
jne 0x54b477
jmp 0x54b4cf
cmp eax, 0xd0a3dc29
je 0x54b4ca
cmp eax, 0xd6d6a098
jne 0x54b477
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x54b477
mov eax, 0xd0a3dc29
jmp 0x54b477
mov eax, dword [esi + 4]
jmp 0x54b477
test ecx, ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54b502
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x54b2ba
or al, cl
je 0x54b2ba
jmp 0x585dbe
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x54b5ea
cmp eax, dword [esi + 0x44]
je 0x54b8d5
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x54b7e8
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x54b7e8
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x54b639
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x54b6a5
cmp ecx, 0xc1fd3d12
je 0x54b6e5
cmp ecx, 0x3365058b
jne 0x54b686
mov ecx, 0x7b4463f8
jmp 0x54b686
cmp ecx, 0x7b4463f8
je 0x54b6e1
cmp ecx, 0x52166c0c
jne 0x54b686
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x54b686
mov ecx, eax
jmp 0x54b686
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x54b7f4
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 0x54b714
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x54b75f
cmp eax, 0xc76c0d8d
je 0x54b79d
cmp eax, 0x1f2e313
jne 0x54b73d
cmp eax, 0x590bba57
je 0x54b636
cmp eax, 0x74ccc71d
jne 0x54b73d
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x1f2e313
mov ebx, 0x590bba57
cmove eax, ebx
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x54b73d
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x54b61f
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x54b836
cmp eax, 0x3e63df81
je 0x54b854
cmp eax, 0x5632c42c
jne 0x54b81c
jmp fcn.0054b5df
cmp eax, 0x1d5864bd
je 0x54b8a6
cmp eax, 0x3ce7f0d1
jne 0x54b81c
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x54b81c
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov ebx, 0x5632c42c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x54b81c
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x54b81c
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x54ab70
mov esp, dword [esi + 0xc0]
mov edx, dword [0x5c69b0]
mov ecx, dword [0x5c69b4]
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, 0x150b35d3
mov ebx, 0x3d9de5f5
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x24]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x54b984
cmp ecx, 0x150b35d3
je 0x54b998
cmp ecx, 0x1e00e94d
jne 0x54b940
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x54b940
cmp ecx, 0x3d9de5f5
je 0x54b9ea
cmp ecx, 0x3f6d87b9
jne 0x54b940
mov ecx, eax
jmp 0x54b940
mov ecx, 0x3f6d87b9
jmp 0x54b940
mov esp, dword [esi + 0xc8]
mov edx, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
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, 0x7c4966b4
mov edi, 0x9858f9d0
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x546a3e
mov eax, 0xb3e2a994
mov esp, dword [esi + 0xc8]
jmp 0x546a3e
cmp dword [esi + 4], 0x12345678
jne 0x54ba0d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc6]
cmp ecx, 0xa
setl byte [esi + 0xc7]
mov eax, 0xe2c12531
cmp eax, 0xe2c12530
jg 0x54bb31
cmp eax, 0x9858f9d0
je 0x5509c6
cmp eax, 0xb3e2a994
jne 0x54ba4c
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x54bc46
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x48
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x54baa4
xor cl, al
jne 0x54baa4
jmp 0x585da4
cmp eax, 0x7c4966b4
je 0x54bb73
cmp eax, 0xe2c12531
jne 0x54ba4c
movzx ecx, byte [esi + 0xc6]
movzx eax, byte [esi + 0xc7]
mov edx, ecx
xor dl, al
mov edx, 0x7c4966b4
mov edi, 0xb3e2a994
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54ba4c
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x54c2d5
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x50
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
inc dword [esi + 4]
test ah, ah
jne 0x54bbae
or cl, al
je 0x54bbae
jmp 0x585da2
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x54bcd9
cmp ecx, 0xc56a9b93
je 0x54bd36
cmp ecx, 0xd3cadfc0
jne 0x54bc91
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x54bc91
cmp ecx, 0x5722fc0f
je 0x54bd43
cmp ecx, 0x615aa6db
jne 0x54bc91
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x54bc91
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x54bc91
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3f7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
sete cl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x54bdce
cmp ecx, 0x80dc4cc9
je 0x54bde5
cmp ecx, 0x7f3e42f
jne 0x54bd8f
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54bd8f
cmp ecx, 0x1aabc941
je 0x54bde9
cmp ecx, 0x5add25f0
jne 0x54bd8f
mov ecx, 0x80dc4cc9
jmp 0x54bd8f
mov ecx, eax
jmp 0x54bd8f
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x54c96c
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x54be74
cmp ecx, 0xc56a9b93
je 0x54bed7
cmp ecx, 0xd3cadfc0
jne 0x54be31
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54be31
cmp ecx, 0x5722fc0f
je 0x54bee4
cmp ecx, 0x615aa6db
jne 0x54be31
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x54be31
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x54be31
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x54bef5
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x54c0e4
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov edx, 0x1aabc941
cmove eax, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov ecx, 0x5add25f0
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x54bfb6
cmp ebx, 0x80dc4cc9
je 0x54bfcd
cmp ebx, 0x7f3e42f
jne 0x54bf6d
movzx edx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test dl, dl
mov ecx, 0x5add25f0
cmove ebx, ecx
test dh, dh
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
jmp 0x54bf6d
cmp ebx, 0x1aabc941
je 0x54bfd1
cmp ebx, 0x5add25f0
jne 0x54bf6d
mov ebx, 0x80dc4cc9
jmp 0x54bf6d
mov ebx, eax
jmp 0x54bf6d
cmp byte [esi + 0x10], 0
je 0x54c0f4
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x54c185
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x54c1cc
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x54c056
cmp eax, 0x9f04b71e
je 0x54c0ac
cmp eax, 0xaf18808
jne 0x54c03c
jmp 0x54bef2
cmp eax, 0x3d9eb8cd
je 0x54c0d6
cmp eax, 0x6301b93d
jne 0x54c03c
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x54c03c
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54c03c
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x54c03c
mov ecx, dword [esi + 0x30]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete byte [esi + 0xf]
sete al
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov ecx, 0x5add25f0
cmovge edi, ecx
xor dl, al
cmovne edi, ebx
mov eax, 0x7f3e42f
jmp 0x54c12b
mov eax, edi
cmp eax, 0x1aabc940
jg 0x54c16c
cmp eax, 0x80dc4cc9
je 0x54c129
cmp eax, 0x7f3e42f
jne 0x54c12b
movzx edx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne eax, ebx
test dl, dl
mov ecx, 0x5add25f0
cmove eax, ecx
test dh, dh
cmovne eax, ebx
jmp 0x54c12b
cmp eax, 0x1aabc941
je 0x54bf30
cmp eax, 0x5add25f0
jne 0x54c12b
mov eax, 0x80dc4cc9
jmp 0x54c12b
mov dword [esi + 0xf0], 0x49
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x54c201
or cl, al
je 0x54c201
jmp 0x585e04
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x54c201
xor cl, al
je 0x585e06
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x54c243
cmp eax, 0x9f04b71e
je 0x54c29d
cmp eax, 0xaf18808
jne 0x54c229
jmp 0x54bd43
cmp eax, 0x3d9eb8cd
je 0x54c2c7
cmp eax, 0x6301b93d
jne 0x54c229
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x54c229
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54c229
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x54c229
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x54c363
cmp ecx, 0xc56a9b93
je 0x54c3c1
cmp ecx, 0xd3cadfc0
jne 0x54c320
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54c320
cmp ecx, 0x5722fc0f
je 0x54c3ce
cmp ecx, 0x615aa6db
jne 0x54c320
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x54c320
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x54c320
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete dl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x54c458
cmp ecx, 0x80dc4cc9
je 0x54c46f
cmp ecx, 0x7f3e42f
jne 0x54c419
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54c419
cmp ecx, 0x1aabc941
je 0x54c473
cmp ecx, 0x5add25f0
jne 0x54c419
mov ecx, 0x80dc4cc9
jmp 0x54c419
mov ecx, eax
jmp 0x54c419
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x54ca87
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x54c502
cmp ecx, 0xc56a9b93
je 0x54c560
cmp ecx, 0xd3cadfc0
jne 0x54c4ba
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x54c4ba
cmp ecx, 0x5722fc0f
je 0x54c56d
cmp ecx, 0x615aa6db
jne 0x54c4ba
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x54c4ba
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x54c4ba
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x54c57e
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x54c771
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, al
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, 1
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x54c643
cmp ebx, 0x80dc4cc9
je 0x54c65a
cmp ebx, 0x7f3e42f
jne 0x54c5fd
movzx ebx, byte [esi + 0xf]
mov byte [esi + 0x10], bl
mov ch, byte [esi + 8]
xor bl, ch
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test ch, ch
mov ebx, edx
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
cmp byte [esi + 0x10], 0
cmove ebx, edx
jmp 0x54c5fd
cmp ebx, 0x1aabc941
je 0x54c65e
cmp ebx, 0x5add25f0
jne 0x54c5fd
mov ebx, 0x80dc4cc9
jmp 0x54c5fd
mov ebx, eax
jmp 0x54c5fd
cmp byte [esi + 0x1c], 0
je 0x54c781
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x54c817
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x54c858
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x54c6e3
cmp eax, 0x9f04b71e
je 0x54c739
cmp eax, 0xaf18808
jne 0x54c6c9
jmp 0x54c57b
cmp eax, 0x3d9eb8cd
je 0x54c763
cmp eax, 0x6301b93d
jne 0x54c6c9
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x54c6c9
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54c6c9
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x54c6c9
mov ecx, dword [esi + 0x30]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete byte [esi + 0xf]
sete al
mov edi, 0x5add25f0
mov edx, 0x1aabc941
cmove edi, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov ebx, 0x7f3e42f
jmp 0x54c7b8
mov ebx, edi
cmp ebx, 0x1aabc940
jg 0x54c7fc
cmp ebx, 0x80dc4cc9
je 0x54c7b6
cmp ebx, 0x7f3e42f
jne 0x54c7b8
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov edx, eax
xor dl, cl
test cl, cl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test al, al
mov eax, 0x5add25f0
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x54c7b8
cmp ebx, 0x1aabc941
je 0x54c5b9
cmp ebx, 0x5add25f0
jne 0x54c7b8
mov ebx, 0x80dc4cc9
jmp 0x54c7b8
mov dword [esi + 0xf0], 0x51
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x54c88d
xor cl, al
jne 0x54c88d
jmp 0x585dea
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x54c88d
xor cl, al
je 0x585dec
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x54c8cf
cmp eax, 0x9f04b71e
je 0x54c92f
cmp eax, 0xaf18808
jne 0x54c8b5
jmp 0x54c3ce
cmp eax, 0x3d9eb8cd
je 0x54c95e
cmp eax, 0x6301b93d
jne 0x54c8b5
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x54c8b5
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x54c8b5
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x54c8b5
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x54c997
xor cl, al
je 0x585e08
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x54ca18
cmp ecx, 0xc56a9b93
je 0x54ca7a
cmp ecx, 0xd3cadfc0
jne 0x54c9d0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x54c9d0
cmp ecx, 0x5722fc0f
je 0x54cba4
cmp ecx, 0x615aa6db
jne 0x54c9d0
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x54c9d0
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x54c9d0
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x54cab4
or cl, al
test cl, 1
jne 0x585dee
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x54cb30
cmp ecx, 0xc56a9b93
je 0x54cb97
cmp ecx, 0xd3cadfc0
jne 0x54caed
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54caed
cmp ecx, 0x5722fc0f
je 0x54cd82
cmp ecx, 0x615aa6db
jne 0x54caed
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x54caed
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x54caed
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x54cbb3
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x54cc40
cmp edx, 0x80dc4cc9
je 0x54cc57
cmp edx, 0x7f3e42f
jne 0x54cbfc
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x54cbfc
cmp edx, 0x1aabc941
je 0x54cc5b
cmp edx, 0x5add25f0
jne 0x54cbfc
mov edx, 0x80dc4cc9
jmp 0x54cbfc
mov edx, ecx
jmp 0x54cbfc
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x54cf5d
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c3f64], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
mov edx, dword [edi]
mov edi, dword [edi + 4]
test cl, 1
jne 0x54cca0
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, 1
je 0x54cc9d
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x54ccf2
cmp ecx, 0x9f04b71e
je 0x54cd4a
cmp ecx, 0xaf18808
jne 0x54ccd5
jmp 0x54cbb0
cmp ecx, 0x3d9eb8cd
je 0x54cd74
cmp ecx, 0x6301b93d
jne 0x54ccd5
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x54ccd5
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x54ccd5
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x54ccd5
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x54cd91
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x5c3f7c]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x14]
sete dl
mov ecx, 0x5add25f0
mov ebx, 0x1aabc941
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 8]
setl dh
mov edi, 0x5add25f0
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x54ce1a
cmp edx, 0x80dc4cc9
je 0x54ce31
cmp edx, 0x7f3e42f
jne 0x54cddb
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x54cddb
cmp edx, 0x1aabc941
je 0x54ce35
cmp edx, 0x5add25f0
jne 0x54cddb
mov edx, 0x80dc4cc9
jmp 0x54cddb
mov edx, ecx
jmp 0x54cddb
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x54ec66
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x54ce71
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x54ce6e
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x54cec3
cmp ecx, 0x9f04b71e
je 0x54cf20
cmp ecx, 0xaf18808
jne 0x54cea6
jmp 0x54cd8e
cmp ecx, 0x3d9eb8cd
je 0x54cf4f
cmp ecx, 0x6301b93d
jne 0x54cea6
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x54cea6
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x54cea6
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x54cea6
cmp dword [esi + 4], 0x12345678
jne 0x54cf70
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x54cfae
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x54dd8a
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x54d0a3
or cl, al
jne 0x585e14
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x54d759
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x54d718
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x4a
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54d1c4
cmp dword [esi + 4], 0xb018ea81
je 0x54d200
cmp dword [esi + 4], 0xf7175d7a
jne 0x54d1a4
jmp 0x54d27a
cmp dword [esi + 4], 0x1583cd3b
je 0x54d21e
cmp dword [esi + 4], 0x5a1cc736
jne 0x54d1a4
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x54d1a4
mov dword [esi + 0xf0], 0x4c
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x54d1a4
mov dword [esi + 0xf0], 0x4c
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x54d1a4
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54d2a6
xor cl, al
je 0x54d3cf
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x54d309
cmp ecx, 0x46df2edb
je 0x54d340
cmp ecx, 0x766d7330
jne 0x54d2ef
jmp 0x54d34b
cmp ecx, 0x80c66156
je 0x54d344
cmp ecx, 0xf2325ac5
jne 0x54d2ef
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54d2ef
mov ecx, eax
jmp 0x54d2ef
mov ecx, 0x46df2edb
jmp 0x54d2ef
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x54d380
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x20]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 0xc], edi
jne 0x54d4c8
or cl, al
je 0x54d4c8
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x54d41c
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x54d436
cmp ecx, 0x46df2edb
je 0x54d41a
cmp ecx, 0x766d7330
jne 0x54d41c
cmp ecx, 0x80c66156
je 0x54d46d
cmp ecx, 0xf2325ac5
jne 0x54d41c
mov ecx, 0x46df2edb
jmp 0x54d41c
mov dword [esi + 0xf0], 0x4a
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54d515
xor cl, al
je 0x585e16
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54d55f
cmp dword [esi + 4], 0xb018ea81
je 0x54d5a0
cmp dword [esi + 4], 0xf7175d7a
jne 0x54d53f
jmp fcn.0054d615
cmp dword [esi + 4], 0x1583cd3b
je 0x54d5be
cmp dword [esi + 4], 0x5a1cc736
jne 0x54d53f
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x54d53f
mov dword [esi + 0xf0], 0x4b
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x54d53f
mov dword [esi + 0xf0], 0x4b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x54d53f
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
test al, cl
jne 0x54d071
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
jne 0x54d071
jmp 0x585e18
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x20], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x54d797
jmp 0x54da84
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x3c], edx
sete byte [esi + 0x34]
sete al
mov edx, 0x6675f964
mov edi, 0x7862661b
cmove edx, edi
mov dword [esi + 0x20], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov ebx, 0x6675f964
cmovge edx, ebx
setl ah
xor ah, al
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x48], eax
cmovne edx, edi
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54d80c
cmp eax, 0x6675f964
je 0x54d841
cmp eax, 0x7862661b
jne 0x54d7f5
jmp 0x54d84c
cmp eax, 0xd0a3dc29
je 0x54d848
cmp eax, 0xd6d6a098
jne 0x54d7f5
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test bl, bl
cmove eax, edi
jmp 0x54d7f5
mov eax, 0xd0a3dc29
jmp 0x54d7f5
mov eax, edx
jmp 0x54d7f5
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x3c], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54d8a4
cmp eax, 0x6675f964
je 0x54d8de
cmp eax, 0x7862661b
jne 0x54d88d
jmp 0x54d8e9
cmp eax, 0xd0a3dc29
je 0x54d8e5
cmp eax, 0xd6d6a098
jne 0x54d88d
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, ecx
jmp 0x54d88d
mov eax, 0xd0a3dc29
jmp 0x54d88d
mov eax, edx
jmp 0x54d88d
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x54da4a
cmp dword [esi + 0x3c], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54d934
cmp eax, 0x6675f964
je 0x54d969
cmp eax, 0x7862661b
jne 0x54d91d
jmp 0x54d974
cmp eax, 0xd0a3dc29
je 0x54d970
cmp eax, 0xd6d6a098
jne 0x54d91d
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test bl, bl
cmove eax, edi
jmp 0x54d91d
mov eax, 0xd0a3dc29
jmp 0x54d91d
mov eax, edx
jmp 0x54d91d
cmp dword [esi + 0x3c], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x3c], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x54d9af
cmp ecx, 0x6675f964
je 0x54d9eb
cmp ecx, 0x7862661b
jne 0x54d995
cmp ecx, 0xd0a3dc29
je 0x54d9f2
cmp ecx, 0xd6d6a098
jne 0x54d995
mov ecx, 0xd0a3dc29
jmp 0x54d995
mov ecx, edx
jmp 0x54d995
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x54d763
xor al, cl
jne 0x54d763
jmp 0x585e1c
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x54da99
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x20]
je 0x54dd70
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x54dc88
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x54dc88
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x54dae8
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x54db50
cmp ecx, 0xc1fd3d12
je 0x54db8b
cmp ecx, 0x3365058b
jne 0x54db31
mov ecx, 0x7b4463f8
jmp 0x54db31
cmp ecx, 0x7b4463f8
je 0x54db87
cmp ecx, 0x52166c0c
jne 0x54db31
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x54db31
mov ecx, eax
jmp 0x54db31
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x54dc94
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 0x54dbba
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x54dc05
cmp eax, 0xc76c0d8d
je 0x54dc3e
cmp eax, 0x1f2e313
jne 0x54dbe3
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x54dbe3
cmp eax, 0x590bba57
je 0x54dae5
cmp eax, 0x74ccc71d
jne 0x54dbe3
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54dbe3
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x54dbe3
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x54dace
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x54dcd6
cmp eax, 0x3e63df81
je 0x54dcf4
cmp eax, 0x5632c42c
jne 0x54dcbc
jmp 0x54da8e
cmp eax, 0x1d5864bd
je 0x54dd46
cmp eax, 0x3ce7f0d1
jne 0x54dcbc
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x54dcbc
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov ebx, 0x5632c42c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x54dcbc
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54dcbc
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x54d027
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x54ddb9
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x54ebb0
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete dl
cmp dword [esi + 0x5c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x54deac
or cl, al
test cl, 1
jne 0x585e0a
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x54e572
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x54e531
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x4d
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54dfcc
cmp dword [esi + 4], 0xb018ea81
je 0x54e00d
cmp dword [esi + 4], 0xf7175d7a
jne 0x54dfac
jmp 0x54e082
cmp dword [esi + 4], 0x1583cd3b
je 0x54e02b
cmp dword [esi + 4], 0x5a1cc736
jne 0x54dfac
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x54dfac
mov dword [esi + 0xf0], 0x4f
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x54dfac
mov dword [esi + 0xf0], 0x4f
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x54dfac
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54e0ae
xor cl, al
je 0x54e1da
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x54e115
cmp ecx, 0x46df2edb
je 0x54e151
cmp ecx, 0x766d7330
jne 0x54e0fb
jmp 0x54e15c
cmp ecx, 0x80c66156
je 0x54e155
cmp ecx, 0xf2325ac5
jne 0x54e0fb
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x54e0fb
mov ecx, eax
jmp 0x54e0fb
mov ecx, 0x46df2edb
jmp 0x54e0fb
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x54e191
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0xc], ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54e2dc
xor cl, al
jne 0x54e2dc
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x54e22b
cmp ecx, 0x46df2eda
jle 0x54e245
mov dword [esi + 0xf0], 0x4d
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x54e32a
or cl, al
test cl, 1
jne 0x585e0c
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54e375
cmp dword [esi + 4], 0xb018ea81
je 0x54e3b6
cmp dword [esi + 4], 0x1583cd3b
je 0x54e3d4
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
test al, cl
jne 0x54de7c
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
jne 0x54de7c
jmp 0x585e0e
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x54e5b0
jmp 0x54e89d
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x48], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 4], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0x3c]
lea edx, [eax + eax*2]
mov dword [esi + 0x78], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x4c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x54e631
cmp edx, 0x6675f964
je 0x54e668
cmp edx, 0x7862661b
jne 0x54e617
jmp 0x54e674
cmp edx, 0xd0a3dc29
je 0x54e66f
cmp edx, 0xd6d6a098
jne 0x54e617
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x54e617
mov edx, 0xd0a3dc29
jmp 0x54e617
mov edx, dword [esi + 4]
jmp 0x54e617
mov edx, dword [esi + 0x3c]
dec edx
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x88], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x78]
lea eax, [edx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54e6ce
cmp eax, 0x6675f964
je 0x54e708
cmp eax, 0x7862661b
jne 0x54e6b7
jmp 0x54e714
cmp eax, 0xd0a3dc29
je 0x54e70f
cmp eax, 0xd6d6a098
jne 0x54e6b7
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x54e6b7
mov eax, 0xd0a3dc29
jmp 0x54e6b7
mov eax, dword [esi + 4]
jmp 0x54e6b7
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x88]
cmp edx, dword [eax]
mov edx, dword [esi + 0x90]
sbb edx, dword [eax + 4]
jge 0x54e867
test dword [esi + 0x48], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54e761
cmp eax, 0x6675f964
je 0x54e796
cmp eax, 0x7862661b
jne 0x54e74a
jmp 0x54e7a2
cmp eax, 0xd0a3dc29
je 0x54e79d
cmp eax, 0xd6d6a098
jne 0x54e74a
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x54e74a
mov eax, 0xd0a3dc29
jmp 0x54e74a
mov eax, dword [esi + 4]
jmp 0x54e74a
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54e7d6
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0xa0]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x54e57c
xor al, cl
jne 0x54e57c
jmp 0x585e12
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x54e8b2
cmp eax, dword [esi + 0x44]
je 0x54eb96
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
jne 0x54eaae
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x54eaae
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x54e909
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x54e971
cmp ecx, 0xc1fd3d12
je 0x54e9b1
cmp ecx, 0x3365058b
jne 0x54e952
mov ecx, 0x7b4463f8
jmp 0x54e952
cmp ecx, 0x7b4463f8
je 0x54e9ad
cmp ecx, 0x52166c0c
jne 0x54e952
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x54e952
mov ecx, eax
jmp 0x54e952
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x54eaba
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 0x54e9e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x54ea2a
cmp eax, 0xc76c0d8d
je 0x54ea63
cmp eax, 0x1f2e313
jne 0x54ea08
cmp eax, 0x590bba57
je 0x54e906
cmp eax, 0x74ccc71d
jne 0x54ea08
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x54ea08
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x54e8ef
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x54eafc
cmp eax, 0x3e63df81
je 0x54eb1a
cmp eax, 0x5632c42c
jne 0x54eae2
jmp fcn.0054e8a7
cmp eax, 0x1d5864bd
je 0x54eb6c
cmp eax, 0x3ce7f0d1
jne 0x54eae2
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x54eae2
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov ebx, 0x5632c42c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x54eae2
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54eae2
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x54de32
mov esp, dword [esi + 0xc0]
mov edx, dword [0x5c69b0]
mov ecx, dword [0x5c69b4]
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, 0x150b35d3
mov edi, 0x3d9de5f5
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x54ec47
cmp ecx, 0x150b35d3
je 0x54ec5f
cmp ecx, 0x1e00e94d
jne 0x54ec03
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x54ec03
cmp ecx, 0x3d9de5f5
je 0x550961
cmp ecx, 0x3f6d87b9
jne 0x54ec03
mov ecx, eax
jmp 0x54ec03
mov ecx, 0x3f6d87b9
jmp 0x54ec03
cmp dword [esi + 4], 0x12345678
jne 0x54ec79
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x54ecb7
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x54fa93
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x54eda2
xor cl, al
je 0x585df4
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x54f454
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x54f413
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x52
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54eec2
cmp dword [esi + 4], 0xb018ea81
je 0x54eefe
cmp dword [esi + 4], 0xf7175d7a
jne 0x54eea2
jmp 0x54ef76
cmp dword [esi + 4], 0x1583cd3b
je 0x54ef1c
cmp dword [esi + 4], 0x5a1cc736
jne 0x54eea2
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x54eea2
mov dword [esi + 0xf0], 0x54
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x54eea2
mov dword [esi + 0xf0], 0x54
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x54eea2
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54efa2
xor cl, al
je 0x54f0ce
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x54f009
cmp ecx, 0x46df2edb
je 0x54f045
cmp ecx, 0x766d7330
jne 0x54efef
jmp 0x54f050
cmp ecx, 0x80c66156
je 0x54f049
cmp ecx, 0xf2325ac5
jne 0x54efef
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x54efef
mov ecx, eax
jmp 0x54efef
mov ecx, 0x46df2edb
jmp 0x54efef
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x54f085
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0xc], ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54f1c9
xor cl, al
jne 0x54f1c9
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x54f11d
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x54f137
cmp ecx, 0x46df2edb
je 0x54f11b
cmp ecx, 0x766d7330
jne 0x54f11d
jmp fcn.0054f175
cmp ecx, 0x80c66156
je 0x54f16e
cmp ecx, 0xf2325ac5
jne 0x54f11d
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54f11d
mov ecx, 0x46df2edb
jmp 0x54f11d
mov dword [esi + 0xf0], 0x52
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x54f21b
or cl, al
jne 0x585df6
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54f266
cmp dword [esi + 4], 0xb018ea81
je 0x54f2a2
cmp dword [esi + 4], 0xf7175d7a
jne 0x54f246
jmp 0x54f316
cmp dword [esi + 4], 0x1583cd3b
je 0x54f2c0
cmp dword [esi + 4], 0x5a1cc736
jne 0x54f246
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x54f246
mov dword [esi + 0xf0], 0x53
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x54f246
mov dword [esi + 0xf0], 0x53
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x54f246
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x54f378
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
test al, cl
jne 0x54ed7a
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
jne 0x54ed7a
jmp 0x585df8
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x20], edx
cmp edx, ecx
jb 0x54f492
jmp 0x54f77a
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
and ecx, 1
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edi, eax
mov dword [esi + 4], edi
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov edi, 0xd6d6a098
cmp edi, 0x6675f963
jle 0x54f50f
cmp edi, 0x6675f964
je 0x54f54b
cmp edi, 0x7862661b
jne 0x54f4f5
jmp 0x54f557
cmp edi, 0xd0a3dc29
je 0x54f552
cmp edi, 0xd6d6a098
jne 0x54f4f5
movzx eax, byte [esi + 0x34]
movzx ebx, byte [esi + 0x24]
mov ah, bl
xor ah, al
test bl, bl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov edx, 0x6675f964
cmove edi, edx
test ah, ah
cmovne edi, ebx
jmp 0x54f4f5
mov edi, 0xd0a3dc29
jmp 0x54f4f5
mov edi, dword [esi + 4]
jmp 0x54f4f5
mov edx, dword [esi + 0x20]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x20], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54f5ad
cmp eax, 0x6675f964
je 0x54f5e2
cmp eax, 0x7862661b
jne 0x54f596
jmp 0x54f5ee
cmp eax, 0xd0a3dc29
je 0x54f5e9
cmp eax, 0xd6d6a098
jne 0x54f596
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test bl, bl
cmove eax, edx
jmp 0x54f596
mov eax, 0xd0a3dc29
jmp 0x54f596
mov eax, dword [esi + 4]
jmp 0x54f596
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x54f740
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54f637
cmp eax, 0x6675f964
je 0x54f66c
cmp eax, 0x7862661b
jne 0x54f620
jmp 0x54f678
cmp eax, 0xd0a3dc29
je 0x54f673
cmp eax, 0xd6d6a098
jne 0x54f620
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x54f620
mov eax, 0xd0a3dc29
jmp 0x54f620
mov eax, dword [esi + 4]
jmp 0x54f620
test ecx, ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x54f6ab
cmp eax, 0x6675f964
je 0x54f6e0
cmp eax, 0x7862661b
jne 0x54f694
jmp fcn.0054f6ec
cmp eax, 0xd0a3dc29
je 0x54f6e7
cmp eax, 0xd6d6a098
jne 0x54f694
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x54f694
mov eax, 0xd0a3dc29
jmp 0x54f694
mov eax, dword [esi + 4]
jmp 0x54f694
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x54f45e
xor al, cl
jne 0x54f45e
jmp 0x585dfc
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x54f78f
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x54fa79
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x54f994
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x54f994
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x54f7ea
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x54f852
cmp ecx, 0xc1fd3d12
je 0x54f892
cmp ecx, 0x3365058b
jne 0x54f833
mov ecx, 0x7b4463f8
jmp 0x54f833
cmp ecx, 0x7b4463f8
je 0x54f88e
cmp ecx, 0x52166c0c
jne 0x54f833
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x54f833
mov ecx, eax
jmp 0x54f833
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x54f9a0
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 0x54f8c1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x54f90c
cmp eax, 0xc76c0d8d
je 0x54f945
cmp eax, 0x1f2e313
jne 0x54f8ea
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x54f8ea
cmp eax, 0x590bba57
je 0x54f7e7
cmp eax, 0x74ccc71d
jne 0x54f8ea
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54f8ea
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x54f8ea
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x54f7d0
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x54f9e3
cmp eax, 0x3e63df81
je 0x54fa01
cmp eax, 0x5632c42c
jne 0x54f9c9
jmp 0x54f784
cmp eax, 0x1d5864bd
je 0x54fa4f
cmp eax, 0x3ce7f0d1
jne 0x54f9c9
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x54f9c9
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x54f9c9
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x54f9c9
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x54ed30
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x54faba
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x5508b1
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x54fbaf
or cl, al
jne 0x585df0
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x550268
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x550221
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x55
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x54fcd0
cmp dword [esi + 4], 0xb018ea81
je 0x54fd11
cmp dword [esi + 4], 0xf7175d7a
jne 0x54fcb0
jmp 0x54fd85
cmp dword [esi + 4], 0x1583cd3b
je 0x54fd2f
cmp dword [esi + 4], 0x5a1cc736
jne 0x54fcb0
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x54fcb0
mov dword [esi + 0xf0], 0x57
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x54fcb0
mov dword [esi + 0xf0], 0x57
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x54fcb0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x54fdb0
xor cl, al
je 0x54fed8
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x54fe12
cmp ecx, 0x46df2edb
je 0x54fe49
cmp ecx, 0x766d7330
jne 0x54fdf8
jmp 0x54fe54
cmp ecx, 0x80c66156
je 0x54fe4d
cmp ecx, 0xf2325ac5
jne 0x54fdf8
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x54fdf8
mov ecx, eax
jmp 0x54fdf8
mov ecx, 0x46df2edb
jmp 0x54fdf8
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x54fe89
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x58]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x44]
mov dword [edx + 0xc], edi
jne 0x54ffd3
or cl, al
je 0x54ffd3
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x54ff27
cmp ecx, 0x46df2eda
jle 0x54ff41
cmp ecx, 0x46df2edb
je 0x54ff25
cmp ecx, 0x80c66156
je 0x54ff78
mov dword [esi + 0xf0], 0x55
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x550025
or cl, al
jne 0x585dfe
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55006f
cmp dword [esi + 4], 0xb018ea81
je 0x5500ab
cmp dword [esi + 4], 0xf7175d7a
jne 0x55004f
cmp dword [esi + 4], 0x1583cd3b
je 0x5500c9
cmp dword [esi + 4], 0x5a1cc736
jne 0x55004f
mov dword [esi + 0xf0], 0x56
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
jmp 0x55004f
mov dword [esi + 0xf0], 0x56
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x55004f
cmp dword [esi + 4], 0
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
jne 0x54fb7d
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x54fb7d
jmp 0x585e00
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x5502a6
jmp 0x55059d
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x48], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 4], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0x3c]
lea edx, [eax + eax*2]
mov dword [esi + 0x78], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x4c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x550327
cmp edx, 0x6675f964
je 0x55035e
cmp edx, 0x7862661b
jne 0x55030d
jmp 0x55036a
cmp edx, 0xd0a3dc29
je 0x550365
cmp edx, 0xd6d6a098
jne 0x55030d
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x55030d
mov edx, 0xd0a3dc29
jmp 0x55030d
mov edx, dword [esi + 4]
jmp 0x55030d
mov edx, dword [esi + 0x3c]
dec edx
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x88], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x78]
lea eax, [edx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5503c4
cmp eax, 0x6675f964
je 0x5503fe
cmp eax, 0x7862661b
jne 0x5503ad
jmp 0x55040a
cmp eax, 0xd0a3dc29
je 0x550405
cmp eax, 0xd6d6a098
jne 0x5503ad
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x5503ad
mov eax, 0xd0a3dc29
jmp 0x5503ad
mov eax, dword [esi + 4]
jmp 0x5503ad
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x88]
cmp edx, dword [eax]
mov edx, dword [esi + 0x90]
sbb edx, dword [eax + 4]
jge 0x55055d
test dword [esi + 0x48], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x550457
cmp eax, 0x6675f964
je 0x550491
cmp eax, 0x7862661b
jne 0x550440
jmp 0x55049d
cmp eax, 0xd0a3dc29
je 0x550498
cmp eax, 0xd6d6a098
jne 0x550440
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x550440
mov eax, 0xd0a3dc29
jmp 0x550440
mov eax, dword [esi + 4]
jmp 0x550440
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5504d1
cmp eax, 0x6675f964
je 0x550506
cmp eax, 0xd0a3dc29
je 0x55050d
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0xa0]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x550272
or al, cl
je 0x550272
jmp 0x585e02
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x5505b2
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x44]
je 0x550897
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x5507a8
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x5507a8
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x550601
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x550669
cmp ecx, 0xc1fd3d12
je 0x5506a4
cmp ecx, 0x3365058b
jne 0x55064a
mov ecx, 0x7b4463f8
jmp 0x55064a
cmp ecx, 0x7b4463f8
je 0x5506a0
cmp ecx, 0x52166c0c
jne 0x55064a
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x55064a
mov ecx, eax
jmp 0x55064a
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x5507b4
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 0x5506d3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x55071e
cmp eax, 0xc76c0d8d
je 0x550757
cmp eax, 0x1f2e313
jne 0x5506fc
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x5506fc
cmp eax, 0x590bba57
je 0x5505fe
cmp eax, 0x74ccc71d
jne 0x5506fc
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5506fc
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5506fc
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x5505e7
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x5507f6
cmp eax, 0x3e63df81
je 0x550814
cmp eax, 0x5632c42c
jne 0x5507dc
jmp 0x5505a7
cmp eax, 0x1d5864bd
je 0x550868
cmp eax, 0x3ce7f0d1
jne 0x5507dc
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x5507dc
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov edi, 0x5632c42c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5507dc
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x5507dc
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x54fb33
mov esp, dword [esi + 0xc0]
mov edx, dword [0x5c69b0]
mov ecx, dword [0x5c69b4]
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, 0x150b35d3
mov ebx, 0x3d9de5f5
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x24]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x550946
cmp ecx, 0x150b35d3
je 0x55095a
cmp ecx, 0x1e00e94d
jne 0x550902
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x550902
cmp ecx, 0x3d9de5f5
je 0x5509a6
cmp ecx, 0x3f6d87b9
jne 0x550902
mov ecx, eax
jmp 0x550902
mov ecx, 0x3f6d87b9
jmp 0x550902
mov esp, dword [esi + 0xc8]
mov eax, dword [0x5c69a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x7c4966b4
mov edi, 0x9858f9d0
cmove eax, edi
cmp dword [0x5c69ac], 0xa
mov edx, 0x7c4966b4
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x54ba4c
mov eax, 0xb3e2a994
mov esp, dword [esi + 0xc8]
jmp 0x54ba4c
mov eax, 0xd6670776
mov esp, dword [esi + 0xd0]
jmp 0x540724
mov esp, dword [esi + 0xd0]
mov eax, dword [0x5c69a0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x7ef29a83
mov edi, 0xbd026deb
cmove eax, edi
cmp dword [0x5c69a4], 0xa
mov edx, 0x7ef29a83
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x540724
cmp byte [edi + 0x2d0], 0x30
jne 0x550a80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x550a80
or cl, al
test cl, 1
je 0x550a80
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x550a80
xor cl, al
je 0x550a47
lea ecx, [esi + 0x60]
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x550aee
xor cl, al
jne 0x550aee
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0040ae90
mov ecx, edi
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3fac], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x550aee
or cl, al
jne 0x550ab0
mov eax, dword [0x5c69a0]
mov ecx, dword [0x5c69a4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xce]
cmp ecx, 0xa
setl byte [esi + 0xcf]
mov eax, 0xbfdf2516
cmp eax, 0xd6670775
jg 0x550b62
cmp eax, 0xbd026deb
je 0x561113
cmp eax, 0xbfdf2516
jne 0x550b1c
movzx ecx, byte [esi + 0xce]
movzx eax, byte [esi + 0xcf]
mov edx, ecx
xor dl, al
mov edx, 0x7ef29a83
mov edi, 0xd6670776
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x550b1c
cmp eax, 0xd6670776
je 0x5519c7
cmp eax, 0x7ef29a83
jne 0x550b1c
mov dword [esi + 0xa4], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x550baa
mov dword [esi + 0x44], eax
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x8c], edi
lea eax, [edx + 0x10]
mov dword [esi + 0xb8], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0xb4], eax
mov ecx, 0xa
mov dword [esi + 0x90], ebx
cmp ecx, 0x1f3
mov eax, dword [esi + 0x30]
ja 0x5527d7
mov dword [esi + 0xa0], edx
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xc0], eax
shr eax, 1
mov dword [esi + 0x1c], eax
mov dword [esi + 0x10], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x98], eax
mov ebx, dword [0x5c4084]
mov ecx, dword [esi + 0x98]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x84], ecx
sete dl
cmp ebx, 0xa
setge cl
setl ch
xor ch, dl
jne 0x550c9c
or cl, al
test cl, 1
jne 0x585c86
mov dword [esi + 0x9c], ebx
mov edx, dword [esi + 0x1c]
mov eax, edx
imul eax, dword [esi + 0x10]
mulx ecx, ebx, edx
add eax, eax
add eax, ecx
mov edi, dword [esi + 0x88]
cmp ebx, edi
sbb eax, 0
jae 0x551380
sub edi, edx
mov ecx, edi
mov dword [esi + 0x5c], edi
mov ebx, 0
mov edi, dword [esi + 0x10]
sbb ebx, edi
mov dword [esi + 0x1c], edx
add edx, 1
mov dword [esi + 0x48], edx
adc edi, 0
push edi
push edx
push ebx
push ecx
call fcn.005893d0
mov dword [esi + 0x94], edx
mov edx, eax
mulx ecx, edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov dword [esi + 0x80], eax
mov edx, eax
mov dword [esi + 0x78], edi
imul edx, edi
add ecx, edx
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x48]
imul edx, eax
add edx, ecx
mov ecx, dword [esi + 0x5c]
sub ecx, dword [esi + 0x4c]
sbb ebx, edx
mov edx, eax
or ebx, ecx
mov edi, dword [esi + 0x58]
mov ebx, dword [esi + 0x9c]
mov ecx, dword [esi + 0x84]
jne 0x551351
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x80]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x94]
mov dword [edx + 0xc], eax
mov dword [esi + 0xf0], 0x1f
mov ecx, dword [esi + 4]
push edi
push dword [esi + 0xb8]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov edi, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp edi, 0x1583cd3a
jg 0x550dc5
cmp edi, 0xb018ea81
je 0x550e57
cmp edi, 0xf7175d7a
jne 0x550da4
jmp 0x550e73
cmp edi, 0x1583cd3b
je 0x550e01
cmp edi, 0x5a1cc736
jne 0x550da4
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x550da1
mov dword [esi + 0xf0], 0x21
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov edi, ecx
jmp 0x550da1
mov dword [esi + 0xf0], 0x21
push dword [esi + 4]
call fcn.004330f0
mov edi, 0x1583cd3b
jmp 0x550da1
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x550ea0
or cl, al
test cl, 1
jne 0x550ff5
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
mov ebx, dword [esi + 0x94]
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov edi, dword [esi + 0x8c]
mov ecx, 0xf2325ac5
mov edx, dword [esi + 0x80]
cmp ecx, 0x46df2eda
jle 0x550f17
cmp ecx, 0x46df2edb
je 0x550f65
cmp ecx, 0x766d7330
jne 0x550efd
jmp 0x550f70
cmp ecx, 0x80c66156
je 0x550f69
cmp ecx, 0xf2325ac5
jne 0x550efd
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x8c]
test dh, dh
mov edx, dword [esi + 0x80]
cmovne ecx, ebx
mov ebx, dword [esi + 0x94]
jmp 0x550efd
mov ecx, eax
jmp 0x550efd
mov ecx, 0x46df2edb
jmp 0x550efd
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x550fae
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [esi + 0x90]
mov dword [eax], edx
mov dword [eax + 4], ebx
mov edx, dword [esi + 0x1c]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x10]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x55110e
xor cl, al
jne 0x55110e
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
mov ebx, dword [esi + 0x94]
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
jmp 0x55104e
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x551068
cmp ecx, 0x46df2edb
je 0x55104c
cmp ecx, 0x766d7330
jne 0x55104e
jmp 0x5510b7
cmp ecx, 0x80c66156
je 0x5510b0
cmp ecx, 0xf2325ac5
jne 0x55104e
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x1c]
test dh, dh
mov edx, dword [esi + 0x10]
cmovne ecx, ebx
mov ebx, dword [esi + 0x94]
jmp 0x55104e
mov ecx, 0x46df2edb
jmp 0x55104e
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5510f2
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
jmp 0x550ea0
mov dword [esi + 0xf0], 0x1f
mov ecx, dword [esi + 0x20]
push edi
push dword [esi + 0xb4]
push dword [esi + 0x90]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x551159
xor cl, al
je 0x585cba
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp ebx, 0x1583cd3a
jg 0x5511a5
cmp ebx, 0xb018ea81
je 0x551232
cmp ebx, 0xf7175d7a
jne 0x551184
jmp 0x55124e
cmp ebx, 0x1583cd3b
je 0x5511dc
cmp ebx, 0x5a1cc736
jne 0x551184
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x551181
mov dword [esi + 0xf0], 0x20
push dword [esi + 0x20]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ebx, edx
cmove ebx, edi
cmp eax, 0xa
cmovge ebx, edx
jmp 0x551181
mov dword [esi + 0xf0], 0x20
push dword [esi + 0x20]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x551181
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5512b0
cmp ecx, 0x46df2edb
je 0x5512ec
cmp ecx, 0x766d7330
jne 0x551296
jmp 0x5512f7
cmp ecx, 0x80c66156
je 0x5512f0
cmp ecx, 0xf2325ac5
jne 0x551296
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x551296
mov ecx, eax
jmp 0x551296
mov ecx, 0x46df2edb
jmp 0x551296
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x55132f
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [0x5c4080]
mov ebx, dword [0x5c4084]
lea eax, [ecx + 1]
mov dword [esi + 0x98], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov edx, dword [esi + 0x48]
test ecx, ecx
sete al
cmp ebx, 0xa
setl cl
mov dword [esi + 0x1c], edx
mov edi, dword [esi + 0x78]
mov dword [esi + 0x10], edi
test al, cl
jne 0x550c6a
xor al, cl
mov dword [esi + 0x1c], edx
mov dword [esi + 0x10], edi
jne 0x550c6a
jmp 0x585c9a
mov edi, 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, edi
mov dword [esi + 0x4c], edi
cmp edi, ecx
mov ecx, edi
jb 0x5513bc
jmp 0x5516cb
mov dword [esi + 0x9c], edi
mov ecx, dword [esi + 0x5c]
test ecx, ecx
je 0x55169d
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x94], edx
sete byte [esi + 0x34]
sete al
mov edx, 0x6675f964
mov edi, 0x7862661b
cmove edx, edi
mov dword [esi + 0x1c], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
mov ebx, 0x6675f964
cmovge edx, ebx
setl ah
xor ah, al
mov eax, dword [esi + 0x30]
mov ebx, dword [eax]
lea eax, [ecx + ecx*2]
lea eax, [ebx + eax*4]
mov dword [esi + 0x80], eax
cmovne edx, edi
mov dword [esi + 0x10], edx
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x551434
cmp eax, 0x6675f964
je 0x55146f
cmp eax, 0x7862661b
jne 0x55141d
jmp 0x55147b
cmp eax, 0xd0a3dc29
je 0x551476
cmp eax, 0xd6d6a098
jne 0x55141d
mov dword [esi + 0x48], ebx
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
mov ebx, dword [esi + 0x48]
cmove eax, edi
jmp 0x55141d
mov eax, 0xd0a3dc29
jmp 0x55141d
mov eax, dword [esi + 0x10]
jmp 0x55141d
dec ecx
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0x94], 0
mov eax, dword [esi + 0x80]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x84], edi
mov edi, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
lea eax, [ecx + ecx*2]
lea eax, [ebx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5514d0
cmp eax, 0x6675f964
je 0x551513
cmp eax, 0x7862661b
jne 0x5514b9
jmp 0x55151f
cmp eax, 0xd0a3dc29
je 0x55151a
cmp eax, 0xd6d6a098
jne 0x5514b9
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test bl, bl
mov ecx, edi
mov edi, 0x6675f964
cmove eax, edi
mov edi, ecx
test bh, bh
mov ecx, 0xd0a3dc29
cmovne eax, ecx
jmp 0x5514b9
mov eax, 0xd0a3dc29
jmp 0x5514b9
mov eax, dword [esi + 0x10]
jmp 0x5514b9
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x84]
cmp ecx, dword [eax]
sbb edi, dword [eax + 4]
jge 0x55168a
cmp dword [esi + 0x94], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55156a
cmp eax, 0x6675f964
je 0x5515a4
cmp eax, 0x7862661b
jne 0x551553
jmp 0x5515b0
cmp eax, 0xd0a3dc29
je 0x5515ab
cmp eax, 0xd6d6a098
jne 0x551553
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, ecx
jmp 0x551553
mov eax, 0xd0a3dc29
jmp 0x551553
mov eax, dword [esi + 0x10]
jmp 0x551553
cmp dword [esi + 0x94], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x5515eb
cmp ecx, 0x6675f964
je 0x551630
cmp ecx, 0x7862661b
jne 0x5515d1
jmp 0x55163c
cmp ecx, 0xd0a3dc29
je 0x551637
cmp ecx, 0xd6d6a098
jne 0x5515d1
movzx ebx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov bh, bl
xor bh, cl
test cl, cl
mov ecx, 0x6675f964
mov eax, 0xd0a3dc29
cmovne ecx, eax
test bl, bl
mov eax, edi
mov edi, 0x6675f964
cmove ecx, edi
mov edi, eax
test bh, bh
mov eax, 0xd0a3dc29
cmovne ecx, eax
jmp 0x5515d1
mov ecx, 0xd0a3dc29
jmp 0x5515d1
mov ecx, dword [esi + 0x10]
jmp 0x5515d1
mov eax, dword [esi + 0x80]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edi
call fcn.00434540
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x98], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
cmp edi, 0xa
setl dl
test dl, cl
jne 0x5513ab
xor dl, cl
jne 0x5513ab
jmp 0x585ca6
mov eax, dword [esi + 0x98]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov edi, dword [esi + 0x4c]
inc edi
test eax, eax
sete dl
setne al
cmp dword [esi + 0x9c], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x551385
or al, cl
je 0x551385
jmp 0x585cce
mov ecx, dword [esi + 0xb0]
mov dword [ecx], eax
jmp 0x5516da
mov eax, dword [esi + 0x60]
mov eax, dword [ebx]
cmp eax, dword [esi + 0x1c]
je 0x5519ae
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
mov edi, dword [esi + 0x44]
jne 0x5518d0
mov edx, dword [eax]
mov dword [edi], edx
test cl, cl
je 0x5518d0
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x551728
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
jmp 0x551798
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
mov ebx, dword [esi + 0x44]
cmp ecx, 0x52166c0b
jg 0x5517ba
cmp ecx, 0xc1fd3d12
je 0x5517d0
cmp ecx, 0x3365058b
jne 0x55179b
mov ecx, 0x7b4463f8
jmp 0x55179b
cmp ecx, 0x7b4463f8
je 0x5517cc
cmp ecx, 0x52166c0c
jne 0x55179b
jmp 0x551773
mov ecx, eax
jmp 0x55179b
mov eax, dword [ebx]
cmp eax, dword [esi + 0x10]
je 0x5518d9
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 0x5517fc
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x551843
cmp eax, 0xc76c0d8d
je 0x551881
cmp eax, 0x1f2e313
jne 0x551824
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x551824
cmp eax, 0x590bba57
je 0x551725
cmp eax, 0x74ccc71d
jne 0x551824
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x551824
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
mov ebx, dword [esi + 0x44]
jmp 0x551824
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x551711
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
mov ebx, dword [esi + 0xb0]
cmp eax, 0x3e63df80
jle 0x551922
cmp eax, 0x3e63df81
je 0x55193a
cmp eax, 0x5632c42c
jne 0x551908
jmp 0x5516d5
cmp eax, 0x1d5864bd
je 0x55197f
cmp eax, 0x3ce7f0d1
jne 0x551908
add dword [ebx], 0xc
mov eax, 0x3e63df81
jmp 0x551908
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x551908
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x551908
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xa0]
jmp 0x550c10
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x5519fa
mov dword [esi + 0x80], eax
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x88], edi
lea eax, [edx + 0x10]
mov dword [esi + 0xb4], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
mov dword [esi + 0xb8], edx
mov dword [esi + 0x8c], ebx
cmp ecx, 0x1f3
mov eax, dword [esi + 0x30]
ja 0x55370d
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x84], eax
mov edi, dword [0x5c4084]
mov eax, dword [esi + 0x84]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x98], ecx
sete al
mov dword [esi + 0x9c], edi
cmp edi, 0xa
setl cl
test cl, al
jne 0x551aed
xor cl, al
je 0x585c90
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, ebx, edx
add eax, eax
add eax, ecx
mov edi, dword [esi + 0xa0]
cmp ebx, edi
sbb eax, 0
jae 0x5521ad
sub edi, edx
mov dword [esi + 0x48], edi
mov edi, edx
mov ecx, 0
mov ebx, dword [esi + 0x1c]
sbb ecx, ebx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x10], edx
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push dword [esi + 0x48]
call fcn.005893d0
mov dword [esi + 0x94], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x4c], edx
mov dword [esi + 0x58], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x94]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x48]
sub ecx, dword [esi + 0x4c]
mov edi, dword [esi + 0x5c]
sbb edi, edx
or edi, ecx
mov ebx, dword [esi + 0x44]
mov edi, dword [esi + 0x9c]
mov ecx, dword [esi + 0x98]
jne 0x552172
mov edx, dword [esi + 0xb8]
mov ecx, dword [esi + 0x10]
mov dword [edx], ecx
mov ecx, dword [esi + 0x1c]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x58]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x94]
mov dword [edx + 0xc], eax
mov dword [esi + 0xf0], 5
mov ecx, dword [esi + 4]
push ebx
push dword [esi + 0xb4]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp ebx, 0x1583cd3a
jg 0x551c0f
cmp ebx, 0xb018ea81
je 0x551c9c
cmp ebx, 0xf7175d7a
jne 0x551bee
jmp 0x551cb8
cmp ebx, 0x1583cd3b
je 0x551c46
cmp ebx, 0x5a1cc736
jne 0x551bee
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x551beb
mov dword [esi + 0xf0], 7
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
mov ebx, ecx
cmp eax, 0xa
cmovge ebx, edi
jmp 0x551beb
mov dword [esi + 0xf0], 7
push dword [esi + 4]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x551beb
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x551ce3
xor cl, al
je 0x551e1f
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov edi, dword [esi + 0x88]
mov ecx, 0xf2325ac5
mov ebx, dword [esi + 0x58]
cmp ecx, 0x46df2eda
jle 0x551d4e
cmp ecx, 0x46df2edb
je 0x551d8e
cmp ecx, 0x766d7330
jne 0x551d34
jmp 0x551d99
cmp ecx, 0x80c66156
je 0x551d92
cmp ecx, 0xf2325ac5
jne 0x551d34
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x58]
test dl, dl
cmove ecx, edi
mov edi, dword [esi + 0x88]
jmp 0x551d34
mov ecx, eax
jmp 0x551d34
mov ecx, 0x46df2edb
jmp 0x551d34
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x551dd1
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
mov edx, dword [esi + 0x8c]
mov dword [edx], ebx
mov ebx, dword [esi + 0x94]
mov dword [edx + 4], ebx
mov ebx, dword [esi + 0x10]
mov dword [edx + 8], ebx
mov ebx, dword [esi + 0x1c]
mov dword [edx + 0xc], ebx
jne 0x551f37
or cl, al
test cl, 1
je 0x551f37
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
mov ebx, dword [esi + 0x1c]
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
mov edi, dword [esi + 0x10]
mov edx, dword [esi + 0x94]
jmp 0x551e77
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x551e91
cmp ecx, 0x46df2edb
je 0x551e75
cmp ecx, 0x766d7330
jne 0x551e77
jmp 0x551ee0
cmp ecx, 0x80c66156
je 0x551ed9
cmp ecx, 0xf2325ac5
jne 0x551e77
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x10]
test dh, dh
mov edx, dword [esi + 0x94]
cmovne ecx, ebx
mov ebx, dword [esi + 0x1c]
jmp 0x551e77
mov ecx, 0x46df2edb
jmp 0x551e77
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x551f1e
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x58]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
jmp 0x551ce3
mov dword [esi + 0xf0], 5
mov ecx, dword [esi + 0x20]
push edi
push dword [esi + 0xb0]
push dword [esi + 0x8c]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x551f81
xor cl, al
je 0x585cbc
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov edi, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp edi, 0x1583cd3a
jg 0x551fcd
cmp edi, 0xb018ea81
je 0x55205f
cmp edi, 0xf7175d7a
jne 0x551fac
jmp 0x55207b
cmp edi, 0x1583cd3b
je 0x552009
cmp edi, 0x5a1cc736
jne 0x551fac
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x551fa9
mov dword [esi + 0xf0], 6
push dword [esi + 0x20]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov edi, ecx
jmp 0x551fa9
mov dword [esi + 0xf0], 6
push dword [esi + 0x20]
call fcn.004330f0
mov edi, 0x1583cd3b
jmp 0x551fa9
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5520de
cmp ecx, 0x46df2edb
je 0x552115
cmp ecx, 0x766d7330
jne 0x5520c4
jmp 0x552120
cmp ecx, 0x80c66156
je 0x552119
cmp ecx, 0xf2325ac5
jne 0x5520c4
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5520c4
mov ecx, eax
jmp 0x5520c4
mov ecx, 0x46df2edb
jmp 0x5520c4
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x552158
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x84], eax
imul ecx, eax
and ecx, 1
test ecx, ecx
setne al
sete dl
cmp edi, 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x10], edx
mov ebx, dword [esi + 0x90]
mov dword [esi + 0x1c], ebx
jne 0x551abd
or al, cl
mov dword [esi + 0x10], edx
mov dword [esi + 0x1c], ebx
je 0x551abd
jmp 0x585c9c
mov edx, 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x94], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edi, edx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x4c], edx
cmp edx, ecx
jb 0x5521ec
jmp 0x5524d8
mov dword [esi + 0x9c], edi
cmp dword [esi + 0x1c], 0
je 0x5524b0
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edi, 0x7862661b
cmovne eax, edi
and ecx, 1
mov dword [esi + 0x58], ecx
sete byte [esi + 0x34]
mov ecx, eax
cmove ecx, edi
mov dword [esi + 0x94], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge ecx, eax
mov dword [esi + 0x10], ecx
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 0x1c]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x552269
cmp eax, 0x6675f964
je 0x55229e
cmp eax, 0x7862661b
jne 0x552252
jmp 0x5522aa
cmp eax, 0xd0a3dc29
je 0x5522a5
cmp eax, 0xd6d6a098
jne 0x552252
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x552252
mov eax, 0xd0a3dc29
jmp 0x552252
mov eax, dword [esi + 0x10]
jmp 0x552252
mov edx, dword [esi + 0x1c]
dec edx
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ebx, dword [eax]
mov dword [esi + 0x5c], ebx
mov ebx, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
lea eax, [edx + edx*2]
lea eax, [ecx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
mov dword [esi + 0x1c], edx
cmp eax, 0x6675f963
jle 0x5522ff
cmp eax, 0x6675f964
je 0x552342
cmp eax, 0x7862661b
jne 0x5522e8
jmp 0x55234e
cmp eax, 0xd0a3dc29
je 0x552349
cmp eax, 0xd6d6a098
jne 0x5522e8
mov edx, ebx
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
mov ebx, edx
mov edx, 0xd0a3dc29
cmovne eax, edx
jmp 0x5522e8
mov eax, 0xd0a3dc29
jmp 0x5522e8
mov eax, dword [esi + 0x10]
jmp 0x5522e8
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x5c]
cmp edx, dword [eax]
sbb ebx, dword [eax + 4]
jge 0x5524a1
cmp dword [esi + 0x58], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x552399
cmp eax, 0x6675f964
je 0x5523ce
cmp eax, 0x7862661b
jne 0x552382
jmp 0x5523da
cmp eax, 0xd0a3dc29
je 0x5523d5
cmp eax, 0xd6d6a098
jne 0x552382
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x552382
mov eax, 0xd0a3dc29
jmp 0x552382
mov eax, dword [esi + 0x10]
jmp 0x552382
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x552415
cmp eax, 0x6675f964
je 0x55244a
cmp eax, 0x7862661b
jne 0x5523fe
jmp 0x552456
cmp eax, 0xd0a3dc29
je 0x552451
cmp eax, 0xd6d6a098
jne 0x5523fe
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov ebx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne ebx, edi
test al, al
mov eax, ebx
cmovne eax, edi
test cl, cl
cmove eax, ebx
jmp 0x5523fe
mov eax, 0xd0a3dc29
jmp 0x5523fe
mov eax, dword [esi + 0x10]
jmp 0x5523fe
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x84], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
cmp edi, 0xa
setl dl
test dl, cl
jne 0x5521dc
xor dl, cl
jne 0x5521dc
jmp 0x585cb4
mov ecx, dword [esi + 0x84]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
mov edx, dword [esi + 0x4c]
inc edx
test eax, eax
sete al
cmp dword [esi + 0x9c], 0xa
setl cl
test al, cl
jne 0x5521b2
xor al, cl
jne 0x5521b2
jmp 0x585cdc
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x5524e7
mov eax, dword [esi + 0x60]
mov eax, dword [ebx]
cmp eax, dword [esi + 0x94]
je 0x5527c4
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
mov edi, dword [esi + 0x80]
jne 0x5526ec
mov edx, dword [eax]
mov dword [edi], edx
test cl, cl
je 0x5526ec
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x552544
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
mov ebx, dword [esi + 0x80]
cmp ecx, 0x52166c0b
jg 0x5525b2
cmp ecx, 0xc1fd3d12
je 0x5525f8
cmp ecx, 0x3365058b
jne 0x552593
mov ecx, 0x7b4463f8
jmp 0x552593
cmp ecx, 0x7b4463f8
je 0x5525f4
cmp ecx, 0x52166c0c
jne 0x552593
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
mov ebx, dword [esi + 0x80]
test dh, dh
cmovne ecx, edi
jmp 0x552593
mov ecx, eax
jmp 0x552593
mov eax, dword [ebx]
cmp eax, dword [esi + 0x10]
je 0x5526f5
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 0x552624
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x55266c
cmp eax, 0xc76c0d8d
je 0x5526a5
cmp eax, 0x1f2e313
jne 0x55264d
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x55264d
cmp eax, 0x590bba57
je 0x552541
cmp eax, 0x74ccc71d
jne 0x55264d
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55264d
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55264d
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x55252d
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
mov ebx, dword [esi + 0xa4]
cmp eax, 0x3e63df80
jle 0x55273e
cmp eax, 0x3e63df81
je 0x552756
cmp eax, 0x5632c42c
jne 0x552724
jmp 0x5524e2
cmp eax, 0x1d5864bd
je 0x55279a
cmp eax, 0x3ce7f0d1
jne 0x552724
add dword [ebx], 0xc
mov eax, 0x3e63df81
jmp 0x552724
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x552724
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x552724
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
jmp 0x551a69
mov esp, dword [esi + 0xa4]
mov dword [esi + 0xd0], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0x94], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x552819
mov dword [esi + 0x20], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa0], edi
lea eax, [edi + 0x10]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x88], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x55363c
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x5c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x5c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x80], ecx
sete al
cmp dword [esi + 0x48], 0xa
setl cl
test cl, al
jne 0x552904
xor cl, al
je 0x585ce4
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x4c]
sbb eax, 0
jae 0x552fe5
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x10]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x90], eax
mov eax, 0
mov ebx, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x78], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x44], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x8c], edx
mov dword [esi + 0x9c], eax
mov edx, eax
mov dword [esi + 0x84], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x98], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x90]
sub eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x78]
sbb ecx, edx
or ecx, eax
jne 0x552f9b
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x22
mov ecx, dword [esi + 4]
push dword [esi + 0x58]
push dword [esi + 0xb8]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x80], 0x5a1cc736
mov eax, dword [esi + 0x80]
cmp eax, 0x1583cd3a
jg 0x552a22
cmp eax, 0xb018ea81
je 0x552a5d
cmp eax, 0xf7175d7a
jne 0x552a08
jmp 0x552add
cmp eax, 0x1583cd3b
je 0x552a7e
cmp eax, 0x5a1cc736
jne 0x552a08
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x552a02
mov dword [esi + 0xf0], 0x24
mov dword [esi + 0x80], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
jmp 0x552a02
mov dword [esi + 0xf0], 0x24
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x552a02
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x552b08
xor cl, al
je 0x552c38
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x552b6d
cmp ecx, 0x46df2edb
je 0x552ba9
cmp ecx, 0x766d7330
jne 0x552b53
jmp 0x552bb4
cmp ecx, 0x80c66156
je 0x552bad
cmp ecx, 0xf2325ac5
jne 0x552b53
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x552b53
mov ecx, eax
jmp 0x552b53
mov ecx, 0x46df2edb
jmp 0x552b53
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x552be9
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x552d3b
xor cl, al
jne 0x552d3b
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x552c84
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x552c9e
cmp ecx, 0x46df2edb
je 0x552c82
cmp ecx, 0x766d7330
jne 0x552c84
jmp 0x552ce1
cmp ecx, 0x80c66156
je 0x552cda
cmp ecx, 0xf2325ac5
jne 0x552c84
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x552c84
mov ecx, 0x46df2edb
jmp 0x552c84
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x552d16
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x552b08
mov dword [esi + 0xf0], 0x22
mov ecx, dword [esi + 0x94]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x552d8f
or cl, al
test cl, 1
jne 0x585d16
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x10], 0x5a1cc736
mov eax, dword [esi + 0x10]
cmp eax, 0x1583cd3a
jg 0x552dda
cmp eax, 0xb018ea81
je 0x552e6f
cmp eax, 0xf7175d7a
jne 0x552dbc
jmp 0x552e93
cmp eax, 0x1583cd3b
je 0x552e12
cmp eax, 0x5a1cc736
jne 0x552dbc
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x10], ecx
jmp 0x552db9
mov dword [esi + 0xf0], 0x23
mov ecx, dword [esi + 0x30]
push dword [esi + 0x94]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 0x10], ecx
jmp 0x552db9
mov dword [esi + 0xf0], 0x23
mov dword [esi + 0x10], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x94]
call fcn.004330f0
jmp 0x552db9
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x552ef5
cmp ecx, 0x46df2edb
je 0x552f31
cmp ecx, 0x766d7330
jne 0x552edb
jmp 0x552f3c
cmp ecx, 0x80c66156
je 0x552f35
cmp ecx, 0xf2325ac5
jne 0x552edb
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x552edb
mov ecx, eax
jmp 0x552edb
mov ecx, 0x46df2edb
jmp 0x552edb
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x552f77
mov edi, dword [esi + 0x94]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
lea eax, [ecx + 1]
mov dword [esi + 0x5c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x80], ecx
cmp dword [esi + 0x80], 0
sete al
cmp dword [esi + 0x48], 0xa
setl cl
mov edx, dword [esi + 0x98]
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x84]
mov dword [esi + 0x1c], edx
test al, cl
jne 0x5528d8
xor al, cl
mov eax, dword [esi + 0x98]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x1c], eax
jne 0x5528d8
jmp 0x585cee
mov dword [esi + 0x78], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x78]
mov edi, edx
mov dword [esi + 0x1c], edx
cmp edx, ecx
jb 0x55301d
jmp 0x553327
cmp dword [esi + 0x1c], 0
je 0x553303
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x80], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 0x10], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0x1c]
lea edx, [eax + eax*2]
mov dword [esi + 0x98], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x9c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x5530a7
cmp edx, 0x6675f964
je 0x5530e3
cmp edx, 0x7862661b
jne 0x55308d
jmp 0x5530ef
cmp edx, 0xd0a3dc29
je 0x5530ea
cmp edx, 0xd6d6a098
jne 0x55308d
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edx, ebx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x55308d
mov edx, 0xd0a3dc29
jmp 0x55308d
mov edx, dword [esi + 0x10]
jmp 0x55308d
mov edx, dword [esi + 0x1c]
dec edx
test dword [esi + 0x80], ecx
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x4c], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x84], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x1c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x98]
lea eax, [edx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x553152
cmp eax, 0x6675f964
je 0x553187
cmp eax, 0x7862661b
jne 0x55313b
jmp 0x553193
cmp eax, 0xd0a3dc29
je 0x55318e
cmp eax, 0xd6d6a098
jne 0x55313b
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x55313b
mov eax, 0xd0a3dc29
jmp 0x55313b
mov eax, dword [esi + 0x10]
jmp 0x55313b
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x4c]
cmp edx, dword [eax]
mov edx, dword [esi + 0x84]
sbb edx, dword [eax + 4]
jge 0x5532f7
test dword [esi + 0x80], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5531e3
cmp eax, 0x6675f964
je 0x553218
cmp eax, 0x7862661b
jne 0x5531cc
jmp 0x553224
cmp eax, 0xd0a3dc29
je 0x55321f
cmp eax, 0xd6d6a098
jne 0x5531cc
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x5531cc
mov eax, 0xd0a3dc29
jmp 0x5531cc
mov eax, dword [esi + 0x10]
jmp 0x5531cc
test dword [esi + 0x80], ecx
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x553261
cmp ecx, 0x6675f964
je 0x55329d
cmp ecx, 0x7862661b
jne 0x553247
jmp 0x5532a9
cmp ecx, 0xd0a3dc29
je 0x5532a4
cmp ecx, 0xd6d6a098
jne 0x553247
movzx eax, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ah, cl
xor ah, al
test cl, cl
mov ecx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne ecx, ebx
test al, al
mov edi, 0x6675f964
cmove ecx, edi
test ah, ah
cmovne ecx, ebx
jmp 0x553247
mov ecx, 0xd0a3dc29
jmp 0x553247
mov ecx, dword [esi + 0x10]
jmp 0x553247
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
mov dword [esi + 0x48], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x553013
xor dl, cl
jne 0x553013
jmp 0x585cfe
mov ecx, dword [esi + 0x5c]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x78]
test eax, eax
sete al
cmp dword [esi + 0x48], 0xa
setl cl
test al, cl
jne 0x552fec
xor al, cl
jne 0x552fec
jmp 0x585d2a
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x55333c
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
cmp eax, dword [esi + 0x44]
je 0x553622
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x553539
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x553539
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x55338b
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x5533f3
cmp ecx, 0xc1fd3d12
je 0x553433
cmp ecx, 0x3365058b
jne 0x5533d4
mov ecx, 0x7b4463f8
jmp 0x5533d4
cmp ecx, 0x7b4463f8
je 0x55342f
cmp ecx, 0x52166c0c
jne 0x5533d4
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x5533d4
mov ecx, eax
jmp 0x5533d4
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x553545
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 0x553462
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x5534ac
cmp eax, 0xc76c0d8d
je 0x5534ea
cmp eax, 0x1f2e313
jne 0x55348a
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x55348a
cmp eax, 0x590bba57
je 0x553388
cmp eax, 0x74ccc71d
jne 0x55348a
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55348a
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x55348a
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x553371
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x553588
cmp eax, 0x3e63df81
je 0x5535a6
cmp eax, 0x5632c42c
jne 0x55356e
jmp 0x553331
cmp eax, 0x1d5864bd
je 0x5535f3
cmp eax, 0x3ce7f0d1
jne 0x55356e
mov eax, dword [esi + 0xa4]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x55356e
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55356e
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55356e
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x552894
mov esp, dword [esi + 0xc0]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x55465f
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x25
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
inc dword [esi + 4]
test ch, ch
jne 0x55367d
or cl, al
test cl, 1
je 0x55367d
jmp 0x585d34
mov esp, dword [esi + 0xc0]
mov dword [esi + 0xd0], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0x94], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x55374b
mov dword [esi + 0x20], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa0], edi
lea eax, [edi + 0x10]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x88], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x554591
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x5c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x5c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x80], ecx
sete dl
setne al
cmp dword [esi + 0x48], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x55383c
or cl, al
jne 0x585cec
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x4c]
sbb eax, 0
jae 0x553f33
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x10]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x90], eax
mov eax, 0
mov ebx, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x78], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x44], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x8c], edx
mov dword [esi + 0x9c], eax
mov edx, eax
mov dword [esi + 0x84], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x98], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x90]
sub eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x78]
sbb ecx, edx
or ecx, eax
jne 0x553ee3
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 8
mov ecx, dword [esi + 4]
push dword [esi + 0x58]
push dword [esi + 0xb8]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x80], 0x5a1cc736
mov eax, dword [esi + 0x80]
cmp eax, 0x1583cd3a
jg 0x55395a
cmp eax, 0xb018ea81
je 0x55399a
cmp eax, 0xf7175d7a
jne 0x553940
jmp 0x553a1d
cmp eax, 0x1583cd3b
je 0x5539be
cmp eax, 0x5a1cc736
jne 0x553940
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 0x80], edi
jmp 0x55393a
mov dword [esi + 0xf0], 0xa
mov dword [esi + 0x80], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
jmp 0x55393a
mov dword [esi + 0xf0], 0xa
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x55393a
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x553a4a
or cl, al
test cl, 1
jne 0x553b82
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x553ab1
cmp ecx, 0x46df2edb
je 0x553aed
cmp ecx, 0x766d7330
jne 0x553a97
jmp 0x553af8
cmp ecx, 0x80c66156
je 0x553af1
cmp ecx, 0xf2325ac5
jne 0x553a97
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x553a97
mov ecx, eax
jmp 0x553a97
mov ecx, 0x46df2edb
jmp 0x553a97
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x553b2d
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x88]
mov edi, dword [esi + 0x9c]
mov dword [edx], edi
mov edi, dword [esi + 0x44]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x10]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x1c]
mov dword [edx + 0xc], edi
jne 0x553c88
or cl, al
je 0x553c88
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x553bd1
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x553beb
cmp ecx, 0x46df2edb
je 0x553bcf
cmp ecx, 0x766d7330
jne 0x553bd1
jmp 0x553c2e
cmp ecx, 0x80c66156
je 0x553c27
cmp ecx, 0xf2325ac5
jne 0x553bd1
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x553bd1
mov ecx, 0x46df2edb
jmp 0x553bd1
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x553c63
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x553a4a
mov dword [esi + 0xf0], 8
mov ecx, dword [esi + 0x94]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x553cdb
xor cl, al
je 0x585d1c
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x10], 0x5a1cc736
mov eax, dword [esi + 0x10]
cmp eax, 0x1583cd3a
jg 0x553d23
cmp eax, 0xb018ea81
je 0x553d60
cmp eax, 0xf7175d7a
jne 0x553d09
jmp 0x553ddb
cmp eax, 0x1583cd3b
je 0x553d81
cmp eax, 0x5a1cc736
jne 0x553d09
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 0x10], edi
jmp 0x553d06
mov dword [esi + 0xf0], 9
mov dword [esi + 0x10], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x94]
call fcn.004330f0
jmp 0x553d06
mov dword [esi + 0xf0], 9
mov ecx, dword [esi + 0x30]
push dword [esi + 0x94]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 0x10], edi
jmp 0x553d06
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x553e42
cmp ecx, 0x46df2edb
je 0x553e79
cmp ecx, 0x766d7330
jne 0x553e28
jmp 0x553e84
cmp ecx, 0x80c66156
je 0x553e7d
cmp ecx, 0xf2325ac5
jne 0x553e28
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x553e28
mov ecx, eax
jmp 0x553e28
mov ecx, 0x46df2edb
jmp 0x553e28
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x553ebf
mov edi, dword [esi + 0x94]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
lea eax, [ecx + 1]
mov dword [esi + 0x5c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x80], ecx
cmp dword [esi + 0x80], 0
sete dl
setne al
cmp dword [esi + 0x48], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x98]
mov dword [esi + 0x10], edi
mov edi, dword [esi + 0x84]
mov dword [esi + 0x1c], edi
cmp dl, ah
jne 0x55380a
or al, cl
mov eax, dword [esi + 0x98]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x1c], eax
je 0x55380a
jmp 0x585cfa
mov dword [esi + 0x78], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x78]
mov edi, edx
mov dword [esi + 0x10], edx
cmp edx, ecx
jb 0x553f6b
jmp 0x554283
cmp dword [esi + 0x10], 0
je 0x554259
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x44], edx
mov dword [esi + 0x80], eax
test eax, edx
sete byte [esi + 0x34]
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
sete al
mov dword [esi + 0x1c], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 0x10]
lea eax, [eax + eax*2]
mov dword [esi + 0x98], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x9c], eax
cmovne ebx, edi
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x553ff0
cmp eax, 0x6675f964
je 0x554025
cmp eax, 0x7862661b
jne 0x553fd9
jmp 0x554030
cmp eax, 0xd0a3dc29
je 0x55402c
cmp eax, 0xd6d6a098
jne 0x553fd9
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x553fd9
mov eax, 0xd0a3dc29
jmp 0x553fd9
mov eax, ebx
jmp 0x553fd9
mov ecx, dword [esi + 0x10]
dec ecx
mov eax, dword [esi + 0x80]
test dword [esi + 0x44], eax
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x4c], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x84], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x10], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x98]
lea eax, [ecx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x554096
cmp eax, 0x6675f964
je 0x5540d0
cmp eax, 0x7862661b
jne 0x55407f
jmp 0x5540db
cmp eax, 0xd0a3dc29
je 0x5540d7
cmp eax, 0xd6d6a098
jne 0x55407f
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x55407f
mov eax, 0xd0a3dc29
jmp 0x55407f
mov eax, ebx
jmp 0x55407f
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x84]
sbb ecx, dword [eax + 4]
jge 0x554249
mov eax, dword [esi + 0x80]
test dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55412e
cmp eax, 0x6675f964
je 0x554168
cmp eax, 0x7862661b
jne 0x554117
jmp 0x554173
cmp eax, 0xd0a3dc29
je 0x55416f
cmp eax, 0xd6d6a098
jne 0x554117
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x554117
mov eax, 0xd0a3dc29
jmp 0x554117
mov eax, ebx
jmp 0x554117
mov eax, dword [esi + 0x80]
test dword [esi + 0x44], eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5541b3
cmp eax, 0x6675f964
je 0x5541e8
cmp eax, 0x7862661b
jne 0x55419c
jmp 0x5541f3
cmp eax, 0xd0a3dc29
je 0x5541ef
cmp eax, 0xd6d6a098
jne 0x55419c
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test cl, cl
cmove eax, edi
jmp 0x55419c
mov eax, 0xd0a3dc29
jmp 0x55419c
mov eax, ebx
jmp 0x55419c
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push dword [esi + 0x44]
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete ch
setne cl
mov dword [esi + 0x48], edx
cmp edx, 0xa
setl dh
setge dl
cmp dh, ch
jne 0x553f61
or dl, cl
je 0x553f61
jmp 0x585d02
mov eax, dword [esi + 0x5c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x78]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x48], 0xa
setge cl
setl ah
xor ah, dl
jne 0x553f3a
or al, cl
je 0x553f3a
jmp 0x585d2c
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x554298
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
cmp eax, dword [esi + 0x1c]
je 0x554577
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x554492
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x554492
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x5542e6
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x554350
cmp ecx, 0xc1fd3d12
je 0x55438b
cmp ecx, 0x3365058b
jne 0x554331
mov ecx, 0x7b4463f8
jmp 0x554331
cmp ecx, 0x7b4463f8
je 0x554387
cmp ecx, 0x52166c0c
jne 0x554331
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x554331
mov ecx, eax
jmp 0x554331
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x55449e
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 0x5543ba
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x554405
cmp eax, 0xc76c0d8d
je 0x554443
cmp eax, 0x1f2e313
jne 0x5543e3
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x5543e3
cmp eax, 0x590bba57
je 0x5542e3
cmp eax, 0x74ccc71d
jne 0x5543e3
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x5543e3
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x5543e3
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x5542cc
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x5544e1
cmp eax, 0x3e63df81
je 0x5544ff
cmp eax, 0x5632c42c
jne 0x5544c7
jmp 0x55428d
cmp eax, 0x1d5864bd
je 0x55454d
cmp eax, 0x3ce7f0d1
jne 0x5544c7
mov eax, dword [esi + 0xa4]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x5544c7
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5544c7
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5544c7
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x5537c6
mov esp, dword [esi + 0xc0]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x554cee
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xb
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x5545d2
xor cl, al
jne 0x5545d2
jmp 0x585d3a
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5546ed
cmp ecx, 0xc56a9b93
je 0x55474a
cmp ecx, 0xd3cadfc0
jne 0x5546aa
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5546aa
cmp ecx, 0x5722fc0f
je 0x554757
cmp ecx, 0x615aa6db
jne 0x5546aa
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5546aa
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5546aa
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x5547e9
cmp ecx, 0x80dc4cc9
je 0x554800
cmp ecx, 0x7f3e42f
jne 0x5547a5
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5547a5
cmp ecx, 0x1aabc941
je 0x554804
cmp ecx, 0x5add25f0
jne 0x5547a5
mov ecx, 0x80dc4cc9
jmp 0x5547a5
mov ecx, eax
jmp 0x5547a5
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x5553cb
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x554893
cmp ecx, 0xc56a9b93
je 0x5548f1
cmp ecx, 0xd3cadfc0
jne 0x55484b
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x55484b
cmp ecx, 0x5722fc0f
je 0x5548fe
cmp ecx, 0x615aa6db
jne 0x55484b
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x55484b
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x55484b
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x94], eax
jmp 0x554912
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x554b0d
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, al
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, 1
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x5549d7
cmp ebx, 0x80dc4cc9
je 0x5549ee
cmp ebx, 0x7f3e42f
jne 0x554991
movzx ebx, byte [esi + 0xf]
mov byte [esi + 0x10], bl
mov ch, byte [esi + 8]
xor bl, ch
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test ch, ch
mov ebx, edx
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
cmp byte [esi + 0x10], 0
cmove ebx, edx
jmp 0x554991
cmp ebx, 0x1aabc941
je 0x5549f2
cmp ebx, 0x5add25f0
jne 0x554991
mov ebx, 0x80dc4cc9
jmp 0x554991
mov ebx, eax
jmp 0x554991
cmp byte [esi + 0x1c], 0
je 0x554b19
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x554ba5
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x94]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x554be8
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x554a7a
cmp eax, 0x9f04b71e
je 0x554ad0
cmp eax, 0xaf18808
jne 0x554a60
jmp 0x55490f
cmp eax, 0x3d9eb8cd
je 0x554aff
cmp eax, 0x6301b93d
jne 0x554a60
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x554a60
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x554a60
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x554a60
mov eax, dword [esi + 0x30]
lea edi, [eax - 1]
imul edi, eax
and edi, 1
test edi, edi
sete byte [esi + 0xf]
sete al
mov edi, 0x5add25f0
mov edx, 0x1aabc941
cmove edi, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov eax, 0x7f3e42f
jmp 0x554b50
mov eax, edi
cmp eax, 0x1aabc940
jg 0x554b8c
cmp eax, 0x80dc4cc9
je 0x554b4e
cmp eax, 0x7f3e42f
jne 0x554b50
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x554b50
cmp eax, 0x1aabc941
je 0x55494d
cmp eax, 0x5add25f0
jne 0x554b50
mov eax, 0x80dc4cc9
jmp 0x554b50
mov dword [esi + 0xf0], 0x26
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x554c1e
or cl, al
test cl, 1
je 0x554c1e
jmp 0x585d42
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x554c1e
or cl, al
test cl, 1
jne 0x585d56
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x554c60
cmp eax, 0x9f04b71e
je 0x554cb6
cmp eax, 0xaf18808
jne 0x554c46
jmp 0x554757
cmp eax, 0x3d9eb8cd
je 0x554ce0
cmp eax, 0x6301b93d
jne 0x554c46
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x554c46
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x554c46
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x554c46
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x554d84
cmp ecx, 0xc56a9b93
je 0x554de8
cmp ecx, 0xd3cadfc0
jne 0x554d3c
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x554d3c
cmp ecx, 0x5722fc0f
je 0x554df8
cmp ecx, 0x615aa6db
jne 0x554d3c
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x554d3c
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x554d3c
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x554e8c
cmp ecx, 0x80dc4cc9
je 0x554ea3
cmp ecx, 0x7f3e42f
jne 0x554e48
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x554e48
cmp ecx, 0x1aabc941
je 0x554ea7
cmp ecx, 0x5add25f0
jne 0x554e48
mov ecx, 0x80dc4cc9
jmp 0x554e48
mov ecx, eax
jmp 0x554e48
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x5554ec
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x554f34
cmp ecx, 0xc56a9b93
je 0x554f98
cmp ecx, 0xd3cadfc0
jne 0x554ef1
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x554ef1
cmp ecx, 0x5722fc0f
je 0x554fa8
cmp ecx, 0x615aa6db
jne 0x554ef1
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x554ef1
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x554ef1
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x94], eax
jmp 0x554fbc
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge dh
setl ah
xor ah, dl
or dh, cl
xor dh, 1
or dh, ah
mov ecx, dword [0x5c3f78]
mov dword [esi + 0x10], ecx
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
mov byte [esi + 0x1c], dh
test dh, 1
je 0x5551c0
mov edx, dword [esi + 0x10]
lea ecx, [edx + 1]
imul ecx, edx
mov edi, ecx
xor edi, 0xfffffffe
mov ebx, edi
and ebx, ecx
sete dl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl bl
xor bl, dl
mov ebx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ebx, edx
and edi, ecx
mov dword [esi + 0x30], edi
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x55508e
cmp ebx, 0x80dc4cc9
je 0x5550a5
cmp ebx, 0x7f3e42f
jne 0x55504a
movzx edx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, dl
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test dl, dl
mov edx, 0x5add25f0
cmove ebx, edx
test ah, ah
cmovne ebx, edi
jmp 0x55504a
cmp ebx, 0x1aabc941
je 0x5550a9
cmp ebx, 0x5add25f0
jne 0x55504a
mov ebx, 0x80dc4cc9
jmp 0x55504a
mov ebx, ecx
jmp 0x55504a
test byte [esi + 0x1c], 1
je 0x5551cf
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x55526c
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x94]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x5552b3
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x555132
cmp eax, 0x9f04b71e
je 0x555188
cmp eax, 0xaf18808
jne 0x555118
jmp 0x554fb9
cmp eax, 0x3d9eb8cd
je 0x5551b2
cmp eax, 0x6301b93d
jne 0x555118
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x555118
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x555118
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x555118
mov ecx, dword [esi + 0x10]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x30]
test edi, edi
sete cl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov ecx, 0x7f3e42f
jmp 0x55520d
mov ecx, edi
cmp ecx, 0x1aabc940
jg 0x555251
cmp ecx, 0x80dc4cc9
je 0x55520b
cmp ecx, 0x7f3e42f
jne 0x55520d
movzx edx, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov ah, dl
xor ah, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edx, 0x5add25f0
cmove ecx, edx
test ah, ah
cmovne ecx, ebx
jmp 0x55520d
cmp ecx, 0x1aabc941
je 0x555000
cmp ecx, 0x5add25f0
jne 0x55520d
mov ecx, 0x80dc4cc9
jmp 0x55520d
mov dword [esi + 0xf0], 0xc
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x5552ed
or cl, al
je 0x5552ed
jmp 0x585d48
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5552ed
or cl, al
jne 0x585d5e
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x555330
cmp eax, 0x9f04b71e
je 0x55538e
cmp eax, 0xaf18808
jne 0x555316
jmp 0x554df8
cmp eax, 0x3d9eb8cd
je 0x5553bd
cmp eax, 0x6301b93d
jne 0x555316
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x555316
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x555316
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x555316
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x5553fc
or cl, al
jne 0x585e8e
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x555478
cmp ecx, 0xc56a9b93
je 0x5554df
cmp ecx, 0xd3cadfc0
jne 0x555435
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x555435
cmp ecx, 0x5722fc0f
je 0x55560d
cmp ecx, 0x615aa6db
jne 0x555435
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x555435
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x555435
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x555517
xor cl, al
je 0x585f36
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x555595
cmp ecx, 0xc56a9b93
je 0x5555fd
cmp ecx, 0xd3cadfc0
jne 0x555552
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x555552
cmp ecx, 0x5722fc0f
je 0x5557e7
cmp ecx, 0x615aa6db
jne 0x555552
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x555552
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x555552
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x55561c
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x5556a9
cmp edx, 0x80dc4cc9
je 0x5556c0
cmp edx, 0x7f3e42f
jne 0x555665
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x555665
cmp edx, 0x1aabc941
je 0x5556c4
cmp edx, 0x5add25f0
jne 0x555665
mov edx, 0x80dc4cc9
jmp 0x555665
mov edx, ecx
jmp 0x555665
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x5559c7
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x555700
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x5556fd
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x555752
cmp ecx, 0x9f04b71e
je 0x5557aa
cmp ecx, 0xaf18808
jne 0x555735
jmp 0x555619
cmp ecx, 0x3d9eb8cd
je 0x5557d9
cmp ecx, 0x6301b93d
jne 0x555735
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x555735
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x555735
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x555735
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x5557f6
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x555880
cmp edx, 0x80dc4cc9
je 0x555897
cmp edx, 0x7f3e42f
jne 0x555841
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x555841
cmp edx, 0x1aabc941
je 0x55589b
cmp edx, 0x5add25f0
jne 0x555841
mov edx, 0x80dc4cc9
jmp 0x555841
mov edx, ecx
jmp 0x555841
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x555ab2
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c3f64], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x5558e4
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x5558e1
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x555936
cmp ecx, 0x9f04b71e
je 0x55598f
cmp ecx, 0xaf18808
jne 0x555919
jmp 0x5557f3
cmp ecx, 0x3d9eb8cd
je 0x5559b9
cmp ecx, 0x6301b93d
jne 0x555919
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x555919
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x555919
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x555919
cmp dword [esi + 4], 0x12345678
jne 0x5559da
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x555b9f
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x27
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x555a26
xor cl, al
jne 0x555a26
jmp 0x585d58
cmp dword [esi + 4], 0x12345678
jne 0x555ac5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x55624c
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xd
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
inc dword [esi + 4]
cmp ch, dl
jne 0x555b11
or cl, al
test cl, 1
je 0x555b11
jmp 0x585d60
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x555c35
cmp ecx, 0xc56a9b93
je 0x555c99
cmp ecx, 0xd3cadfc0
jne 0x555bed
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x555bed
cmp ecx, 0x5722fc0f
je 0x555ca9
cmp ecx, 0x615aa6db
jne 0x555bed
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x555bed
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x555bed
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x555d3b
cmp ecx, 0x80dc4cc9
je 0x555d52
cmp ecx, 0x7f3e42f
jne 0x555cf7
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x555cf7
cmp ecx, 0x1aabc941
je 0x555d56
cmp ecx, 0x5add25f0
jne 0x555cf7
mov ecx, 0x80dc4cc9
jmp 0x555cf7
mov ecx, eax
jmp 0x555cf7
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x5568f1
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x555de0
cmp ecx, 0xc56a9b93
je 0x555e3e
cmp ecx, 0xd3cadfc0
jne 0x555d9d
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x555d9d
cmp ecx, 0x5722fc0f
je 0x555e4b
cmp ecx, 0x615aa6db
jne 0x555d9d
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x555d9d
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x555d9d
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x94], eax
jmp 0x555e5f
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x556054
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmove eax, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov edx, 0x5add25f0
cmovge eax, edx
xor bh, bl
cmovne eax, ecx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x555f1c
cmp ebx, 0x80dc4cc9
je 0x555f33
cmp ebx, 0x7f3e42f
jne 0x555ed9
movzx ecx, byte [esi + 0xf]
mov dh, byte [esi + 8]
mov dl, cl
xor dl, dh
test dh, dh
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test cl, cl
mov ecx, 0x5add25f0
cmove ebx, ecx
test dl, dl
cmovne ebx, edi
jmp 0x555ed9
cmp ebx, 0x1aabc941
je 0x555f37
cmp ebx, 0x5add25f0
jne 0x555ed9
mov ebx, 0x80dc4cc9
jmp 0x555ed9
mov ebx, eax
jmp 0x555ed9
cmp byte [esi + 0x1c], 0
je 0x556067
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x5560ff
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x94]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x556141
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x555fc0
cmp eax, 0x9f04b71e
je 0x55601c
cmp eax, 0xaf18808
jne 0x555fa6
jmp 0x555e5c
cmp eax, 0x3d9eb8cd
je 0x556046
cmp eax, 0x6301b93d
jne 0x555fa6
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x555fa6
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x555fa6
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x555fa6
mov ecx, dword [esi + 0x10]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x30], ecx
mov edi, dword [esi + 0x30]
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov eax, 0x7f3e42f
jmp 0x5560a5
mov eax, edi
cmp eax, 0x1aabc940
jg 0x5560e6
cmp eax, 0x80dc4cc9
je 0x5560a3
cmp eax, 0x7f3e42f
jne 0x5560a5
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne eax, ebx
test cl, cl
mov ecx, 0x5add25f0
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x5560a5
cmp eax, 0x1aabc941
je 0x555e99
cmp eax, 0x5add25f0
jne 0x5560a5
mov eax, 0x80dc4cc9
jmp 0x5560a5
mov dword [esi + 0xf0], 0x28
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x556176
xor cl, al
jne 0x556176
jmp 0x585d74
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x556176
xor cl, al
je 0x585d72
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x5561b9
cmp eax, 0x9f04b71e
je 0x55620f
cmp eax, 0xaf18808
jne 0x55619f
jmp 0x555ca9
cmp eax, 0x3d9eb8cd
je 0x55623e
cmp eax, 0x6301b93d
jne 0x55619f
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55619f
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55619f
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x55619f
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5562de
cmp ecx, 0xc56a9b93
je 0x55633b
cmp ecx, 0xd3cadfc0
jne 0x556296
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x556296
cmp ecx, 0x5722fc0f
je 0x556348
cmp ecx, 0x615aa6db
jne 0x556296
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x556296
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x556296
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x5563dc
cmp ecx, 0x80dc4cc9
je 0x5563f3
cmp ecx, 0x7f3e42f
jne 0x556398
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x556398
cmp ecx, 0x1aabc941
je 0x5563f7
cmp ecx, 0x5add25f0
jne 0x556398
mov ecx, 0x80dc4cc9
jmp 0x556398
mov ecx, eax
jmp 0x556398
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x556a0d
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x556481
cmp ecx, 0xc56a9b93
je 0x5564df
cmp ecx, 0xd3cadfc0
jne 0x55643e
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x55643e
cmp ecx, 0x5722fc0f
je 0x5564ec
cmp ecx, 0x615aa6db
jne 0x55643e
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x55643e
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x55643e
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x5564fd
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x5566f6
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, al
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, 1
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x5565c4
cmp ebx, 0x80dc4cc9
je 0x5565db
cmp ebx, 0x7f3e42f
jne 0x55657b
movzx ecx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ch, bl
xor ch, cl
test bl, bl
mov ebx, 0x5add25f0
mov edx, 0x80dc4cc9
cmovne ebx, edx
test cl, cl
mov edx, 0x5add25f0
cmove ebx, edx
test ch, ch
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
jmp 0x55657b
cmp ebx, 0x1aabc941
je 0x5565df
cmp ebx, 0x5add25f0
jne 0x55657b
mov ebx, 0x80dc4cc9
jmp 0x55657b
mov ebx, eax
jmp 0x55657b
cmp byte [esi + 0x10], 0
je 0x556702
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x556797
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x5567de
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x556664
cmp eax, 0x9f04b71e
je 0x5566b9
cmp eax, 0xaf18808
jne 0x55664a
jmp 0x5564fa
cmp eax, 0x3d9eb8cd
je 0x5566e8
cmp eax, 0x6301b93d
jne 0x55664a
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55664a
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55664a
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x55664a
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov eax, 0x7f3e42f
jmp 0x55673d
mov eax, edi
cmp eax, 0x1aabc940
jg 0x55677e
cmp eax, 0x80dc4cc9
je 0x55673b
cmp eax, 0x7f3e42f
jne 0x55673d
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov ch, al
xor ch, cl
test al, al
mov eax, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne eax, ebx
test cl, cl
mov edx, 0x5add25f0
cmove eax, edx
test ch, ch
cmovne eax, ebx
jmp 0x55673d
cmp eax, 0x1aabc941
je 0x556537
cmp eax, 0x5add25f0
jne 0x55673d
mov eax, 0x80dc4cc9
jmp 0x55673d
mov dword [esi + 0xf0], 0xe
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x556814
or cl, al
je 0x556814
jmp 0x585d7c
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x556814
or cl, al
test cl, 1
jne 0x585d7a
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x556856
cmp eax, 0x9f04b71e
je 0x5568b4
cmp eax, 0xaf18808
jne 0x55683c
jmp 0x556348
cmp eax, 0x3d9eb8cd
je 0x5568e3
cmp eax, 0x6301b93d
jne 0x55683c
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x55683c
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55683c
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x55683c
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x55691e
or cl, al
test cl, 1
jne 0x585e90
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x55699f
cmp ecx, 0xc56a9b93
je 0x556a00
cmp ecx, 0xd3cadfc0
jne 0x556957
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x556957
cmp ecx, 0x5722fc0f
je 0x556b35
cmp ecx, 0x615aa6db
jne 0x556957
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x556957
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x556957
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x556a3e
or cl, al
jne 0x585f38
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x556abd
cmp ecx, 0xc56a9b93
je 0x556b25
cmp ecx, 0xd3cadfc0
jne 0x556a7a
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x556a7a
cmp ecx, 0x5722fc0f
je 0x556d14
cmp ecx, 0x615aa6db
jne 0x556a7a
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x556a7a
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x556a7a
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x556b44
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x556bd3
cmp edx, 0x80dc4cc9
je 0x556bea
cmp edx, 0x7f3e42f
jne 0x556b8f
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov eax, 0x5add25f0
cmove edx, eax
test bh, bh
cmovne edx, edi
jmp 0x556b8f
cmp edx, 0x1aabc941
je 0x556bee
cmp edx, 0x5add25f0
jne 0x556b8f
mov edx, 0x80dc4cc9
jmp 0x556b8f
mov edx, ecx
jmp 0x556b8f
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x556ef3
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x556c33
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x556c30
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x556c84
cmp ecx, 0x9f04b71e
je 0x556cdc
cmp ecx, 0xaf18808
jne 0x556c67
jmp 0x556b41
cmp ecx, 0x3d9eb8cd
je 0x556d06
cmp ecx, 0x6301b93d
jne 0x556c67
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x556c67
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x556c67
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x556c67
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x556d23
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x556daf
cmp edx, 0x80dc4cc9
je 0x556dc6
cmp edx, 0x7f3e42f
jne 0x556d70
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x556d70
cmp edx, 0x1aabc941
je 0x556dca
cmp edx, 0x5add25f0
jne 0x556d70
mov edx, 0x80dc4cc9
jmp 0x556d70
mov edx, ecx
jmp 0x556d70
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x55bfe5
mov ecx, dword [0x5c3f60]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x556e07
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x556e04
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x556e59
cmp ecx, 0x9f04b71e
je 0x556ebb
cmp ecx, 0xaf18808
jne 0x556e3c
jmp 0x556d20
cmp ecx, 0x3d9eb8cd
je 0x556ee5
cmp ecx, 0x6301b93d
jne 0x556e3c
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x556e3c
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x556e3c
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x556e3c
cmp dword [esi + 4], 0x12345678
jne 0x556f06
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc6]
cmp ecx, 0xa
setl byte [esi + 0xc7]
mov eax, 0xe2c12531
cmp eax, 0xe2c12530
jg 0x55702d
cmp eax, 0x9858f9d0
je 0x5610ae
cmp eax, 0xb3e2a994
jne 0x556f45
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x55713c
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x29
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
inc dword [esi + 4]
test ch, ch
jne 0x556f9d
or cl, al
test cl, 1
je 0x556f9d
jmp 0x585da8
cmp eax, 0x7c4966b4
je 0x557074
cmp eax, 0xe2c12531
jne 0x556f45
movzx ecx, byte [esi + 0xc6]
movzx eax, byte [esi + 0xc7]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x7c4966b4
mov edi, 0xb3e2a994
cmovne eax, edi
test cl, cl
mov ecx, 0x7c4966b4
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x556f45
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x5577fc
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x31
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x5570af
xor cl, al
jne 0x5570af
jmp 0x585da6
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5571d2
cmp ecx, 0xc56a9b93
je 0x557236
cmp ecx, 0xd3cadfc0
jne 0x55718a
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x55718a
cmp ecx, 0x5722fc0f
je 0x557246
cmp ecx, 0x615aa6db
jne 0x55718a
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x55718a
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x55718a
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x5572da
cmp ecx, 0x80dc4cc9
je 0x5572f1
cmp ecx, 0x7f3e42f
jne 0x557296
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x557296
cmp ecx, 0x1aabc941
je 0x5572f5
cmp ecx, 0x5add25f0
jne 0x557296
mov ecx, 0x80dc4cc9
jmp 0x557296
mov ecx, eax
jmp 0x557296
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x557eab
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x557383
cmp ecx, 0xc56a9b93
je 0x5573e7
cmp ecx, 0xd3cadfc0
jne 0x557340
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x557340
cmp ecx, 0x5722fc0f
je 0x5573f7
cmp ecx, 0x615aa6db
jne 0x557340
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x557340
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x557340
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x94], eax
jmp 0x55740b
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c3f64], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x1c], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x55760b
mov eax, dword [esi + 0x30]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
mov ebx, edi
and ebx, ecx
sete ah
mov edx, dword [esi + 4]
cmp edx, 0xa
setl bl
xor bl, ah
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
and edi, ecx
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x5574d5
cmp ebx, 0x80dc4cc9
je 0x5574ec
cmp ebx, 0x7f3e42f
jne 0x557495
mov bh, byte [esi + 0xf]
mov byte [esi + 0x10], bh
mov bl, byte [esi + 8]
xor bh, bl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov ebx, edx
cmovne ebx, eax
cmp byte [esi + 0x10], 0
cmove ebx, edx
jmp 0x557495
cmp ebx, 0x1aabc941
je 0x5574f0
cmp ebx, 0x5add25f0
jne 0x557495
mov ebx, 0x80dc4cc9
jmp 0x557495
mov ebx, ecx
jmp 0x557495
cmp byte [esi + 0x1c], 0
je 0x557617
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x5576ac
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x94]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x5576ef
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x557578
cmp eax, 0x9f04b71e
je 0x5575ce
cmp eax, 0xaf18808
jne 0x55755e
jmp 0x557408
cmp eax, 0x3d9eb8cd
je 0x5575fd
cmp eax, 0x6301b93d
jne 0x55755e
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55755e
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55755e
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x55755e
mov eax, dword [esi + 0x30]
lea edi, [eax - 1]
imul edi, eax
and edi, 1
test edi, edi
sete cl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov ecx, 0x7f3e42f
jmp 0x557652
mov ecx, edi
cmp ecx, 0x1aabc940
jg 0x557691
cmp ecx, 0x80dc4cc9
je 0x557650
cmp ecx, 0x7f3e42f
jne 0x557652
movzx edx, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov ah, dl
xor ah, cl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test cl, cl
mov ecx, ebx
cmovne ecx, eax
test dl, dl
cmove ecx, ebx
jmp 0x557652
cmp ecx, 0x1aabc941
je 0x55744e
cmp ecx, 0x5add25f0
jne 0x557652
mov ecx, 0x80dc4cc9
jmp 0x557652
mov dword [esi + 0xf0], 0x2a
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x557725
or cl, al
test cl, 1
je 0x557725
jmp 0x585eac
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x557725
or cl, al
test cl, 1
jne 0x585eae
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x557768
cmp eax, 0x9f04b71e
je 0x5577c4
cmp eax, 0xaf18808
jne 0x55774e
jmp 0x557246
cmp eax, 0x3d9eb8cd
je 0x5577ee
cmp eax, 0x6301b93d
jne 0x55774e
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55774e
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55774e
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x55774e
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x55788e
cmp ecx, 0xc56a9b93
je 0x5578eb
cmp ecx, 0xd3cadfc0
jne 0x557846
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x557846
cmp ecx, 0x5722fc0f
je 0x5578f8
cmp ecx, 0x615aa6db
jne 0x557846
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x557846
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x557846
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete dl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x557982
cmp ecx, 0x80dc4cc9
je 0x557999
cmp ecx, 0x7f3e42f
jne 0x557943
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x557943
cmp ecx, 0x1aabc941
je 0x55799d
cmp ecx, 0x5add25f0
jne 0x557943
mov ecx, 0x80dc4cc9
jmp 0x557943
mov ecx, eax
jmp 0x557943
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x557fd2
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x557a28
cmp ecx, 0xc56a9b93
je 0x557a85
cmp ecx, 0xd3cadfc0
jne 0x5579e5
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5579e5
cmp ecx, 0x5722fc0f
je 0x557a92
cmp ecx, 0x615aa6db
jne 0x5579e5
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5579e5
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x5579e5
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x557aa3
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, dword [0x5c3f78]
mov dword [esi + 0x10], ecx
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
test al, 1
je 0x557cac
mov ecx, dword [esi + 0x10]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
mov dword [esi + 0x30], ecx
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov ecx, 0x1aabc941
cmovne edx, ecx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x557b70
cmp ebx, 0x80dc4cc9
je 0x557b87
cmp ebx, 0x7f3e42f
jne 0x557b2c
movzx ecx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, cl
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test cl, cl
mov ecx, 0x5add25f0
cmove ebx, ecx
test ah, ah
cmovne ebx, edi
jmp 0x557b2c
cmp ebx, 0x1aabc941
je 0x557b8b
cmp ebx, 0x5add25f0
jne 0x557b2c
mov ebx, 0x80dc4cc9
jmp 0x557b2c
mov ebx, edx
jmp 0x557b2c
test al, 1
je 0x557cbf
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x557d5c
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x557d9d
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x557c0f
cmp eax, 0x9f04b71e
je 0x557c6f
cmp eax, 0xaf18808
jne 0x557bf5
jmp 0x557aa0
cmp eax, 0x3d9eb8cd
je 0x557c9e
cmp eax, 0x6301b93d
jne 0x557bf5
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x557bf5
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x557bf5
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x557bf5
mov ecx, dword [esi + 0x10]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
mov dword [esi + 0x30], ecx
mov edi, dword [esi + 0x30]
test edi, edi
sete cl
mov ebx, dword [esi + 4]
cmp ebx, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp ebx, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov edx, 0x7f3e42f
jmp 0x557cfd
mov edx, edi
cmp edx, 0x1aabc940
jg 0x557d41
cmp edx, 0x80dc4cc9
je 0x557cfb
cmp edx, 0x7f3e42f
jne 0x557cfd
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
test dl, dl
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test cl, cl
mov ecx, 0x5add25f0
cmove edx, ecx
test ah, ah
cmovne edx, ebx
jmp 0x557cfd
cmp edx, 0x1aabc941
je 0x557ae3
cmp edx, 0x5add25f0
jne 0x557cfd
mov edx, 0x80dc4cc9
jmp 0x557cfd
mov dword [esi + 0xf0], 0x32
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x557dd7
xor cl, al
jne 0x557dd7
jmp 0x585e92
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x557dd7
or cl, al
jne 0x585e94
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x557e19
cmp eax, 0x9f04b71e
je 0x557e6e
cmp eax, 0xaf18808
jne 0x557dff
jmp 0x5578f8
cmp eax, 0x3d9eb8cd
je 0x557e9d
cmp eax, 0x6301b93d
jne 0x557dff
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x557dff
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x557dff
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x557dff
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x557edc
or cl, al
jne 0x585eb0
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x557f5a
cmp ecx, 0xc56a9b93
je 0x557fc2
cmp ecx, 0xd3cadfc0
jne 0x557f17
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x557f17
cmp ecx, 0x5722fc0f
je 0x5580fa
cmp ecx, 0x615aa6db
jne 0x557f17
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x557f17
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x557f17
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x557ffe
xor cl, al
je 0x585e96
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x558082
cmp ecx, 0xc56a9b93
je 0x5580ea
cmp ecx, 0xd3cadfc0
jne 0x55803a
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x55803a
cmp ecx, 0x5722fc0f
je 0x5582d8
cmp ecx, 0x615aa6db
jne 0x55803a
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x55803a
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x55803a
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x558109
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x558195
cmp edx, 0x80dc4cc9
je 0x5581ac
cmp edx, 0x7f3e42f
jne 0x558156
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x558156
cmp edx, 0x1aabc941
je 0x5581b0
cmp edx, 0x5add25f0
jne 0x558156
mov edx, 0x80dc4cc9
jmp 0x558156
mov edx, ecx
jmp 0x558156
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x5584b7
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x5581ec
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x5581e9
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x55823e
cmp ecx, 0x9f04b71e
je 0x5582a0
cmp ecx, 0xaf18808
jne 0x558221
jmp 0x558106
cmp ecx, 0x3d9eb8cd
je 0x5582ca
cmp ecx, 0x6301b93d
jne 0x558221
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x558221
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x558221
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x558221
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x5582e7
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x558374
cmp edx, 0x80dc4cc9
je 0x55838b
cmp edx, 0x7f3e42f
jne 0x558330
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x558330
cmp edx, 0x1aabc941
je 0x55838f
cmp edx, 0x5add25f0
jne 0x558330
mov edx, 0x80dc4cc9
jmp 0x558330
mov edx, ecx
jmp 0x558330
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x55a211
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x5583d5
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x5583d2
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x558427
cmp ecx, 0x9f04b71e
je 0x55847f
cmp ecx, 0xaf18808
jne 0x55840a
jmp 0x5582e4
cmp ecx, 0x3d9eb8cd
je 0x5584a9
cmp ecx, 0x6301b93d
jne 0x55840a
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x55840a
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x55840a
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x55840a
cmp dword [esi + 4], 0x12345678
jne 0x5584ca
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x558513
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x559325
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x94], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x558605
xor cl, al
je 0x585eb2
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x94]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x558cd2
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x94]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x558c8b
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x94]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x2b
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55872f
cmp dword [esi + 4], 0xb018ea81
je 0x558770
cmp dword [esi + 4], 0xf7175d7a
jne 0x55870f
jmp 0x5587ea
cmp dword [esi + 4], 0x1583cd3b
je 0x55878e
cmp dword [esi + 4], 0x5a1cc736
jne 0x55870f
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x55870f
mov dword [esi + 0xf0], 0x2d
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x55870f
mov dword [esi + 0xf0], 0x2d
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x55870f
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x55881b
or cl, al
jne 0x558940
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55887d
cmp ecx, 0x46df2edb
je 0x5588b4
cmp ecx, 0x766d7330
jne 0x558863
jmp 0x5588bf
cmp ecx, 0x80c66156
je 0x5588b8
cmp ecx, 0xf2325ac5
jne 0x558863
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x558863
mov ecx, eax
jmp 0x558863
mov ecx, 0x46df2edb
jmp 0x558863
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5588f4
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x94]
mov dword [eax + 0xc], ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x558a45
xor cl, al
jne 0x558a45
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x558991
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x5589ab
cmp ecx, 0x46df2edb
je 0x55898f
cmp ecx, 0x766d7330
jne 0x558991
cmp ecx, 0x80c66156
je 0x5589e7
cmp ecx, 0xf2325ac5
jne 0x558991
mov ecx, 0x46df2edb
jmp 0x558991
mov dword [esi + 0xf0], 0x2b
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x558a91
xor cl, al
je 0x585eb4
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x558adc
cmp dword [esi + 4], 0xb018ea81
je 0x558b18
cmp dword [esi + 4], 0xf7175d7a
jne 0x558abc
jmp fcn.00558b92
cmp dword [esi + 4], 0x1583cd3b
je 0x558b36
cmp dword [esi + 4], 0x5a1cc736
jne 0x558abc
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x558abc
mov dword [esi + 0xf0], 0x2c
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x558abc
mov dword [esi + 0xf0], 0x2c
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x558abc
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x94], edx
test al, cl
jne 0x5585d9
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x94], eax
jne 0x5585d9
jmp 0x585eb6
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x20], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x558d10
jmp 0x559014
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x94], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x20], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x558d8b
cmp edx, 0x6675f964
je 0x558dc7
cmp edx, 0x7862661b
jne 0x558d71
jmp 0x558dd2
cmp edx, 0xd0a3dc29
je 0x558dce
cmp edx, 0xd6d6a098
jne 0x558d71
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x558d71
mov edx, 0xd0a3dc29
jmp 0x558d71
mov edx, ebx
jmp 0x558d71
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x94], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x558e2d
cmp eax, 0x6675f964
je 0x558e67
cmp eax, 0x7862661b
jne 0x558e16
jmp 0x558e72
cmp eax, 0xd0a3dc29
je 0x558e6e
cmp eax, 0xd6d6a098
jne 0x558e16
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x558e16
mov eax, 0xd0a3dc29
jmp 0x558e16
mov eax, ebx
jmp 0x558e16
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x558fda
cmp dword [esi + 0x94], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x558ec0
cmp eax, 0x6675f964
je 0x558ef5
cmp eax, 0x7862661b
jne 0x558ea9
jmp 0x558f00
cmp eax, 0xd0a3dc29
je 0x558efc
cmp eax, 0xd6d6a098
jne 0x558ea9
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x558ea9
mov eax, 0xd0a3dc29
jmp 0x558ea9
mov eax, ebx
jmp 0x558ea9
cmp dword [esi + 0x94], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x94], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x558f3e
cmp eax, 0x6675f964
je 0x558f78
cmp eax, 0x7862661b
jne 0x558f27
cmp eax, 0xd0a3dc29
je 0x558f7f
cmp eax, 0xd6d6a098
jne 0x558f27
mov eax, 0xd0a3dc29
jmp 0x558f27
mov eax, ebx
jmp 0x558f27
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x558cdc
xor al, cl
jne 0x558cdc
jmp 0x585eba
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x559029
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x20]
je 0x55930b
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x559228
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x559228
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x559084
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c40a4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov edi, 0x3365058b
cmovge eax, edi
xor cl, dl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x5590eb
cmp ecx, 0xc1fd3d12
je 0x55912b
cmp ecx, 0x3365058b
jne 0x5590cc
mov ecx, 0x7b4463f8
jmp 0x5590cc
cmp ecx, 0x7b4463f8
je 0x559127
cmp ecx, 0x52166c0c
jne 0x5590cc
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x5590cc
mov ecx, eax
jmp 0x5590cc
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x559234
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 0x55915a
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x5591a5
cmp eax, 0xc76c0d8d
je 0x5591de
cmp eax, 0x1f2e313
jne 0x559183
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x559183
cmp eax, 0x590bba57
je 0x559081
cmp eax, 0x74ccc71d
jne 0x559183
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x559183
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x559183
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x55906a
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x559276
cmp eax, 0x3e63df81
je 0x559294
cmp eax, 0x5632c42c
jne 0x55925c
jmp 0x55901e
cmp eax, 0x1d5864bd
je 0x5592e1
cmp eax, 0x3ce7f0d1
jne 0x55925c
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x55925c
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55925c
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55925c
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x55858c
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, 1
je 0x559351
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x55a164
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x94], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x559443
xor cl, al
je 0x585ebc
mov edx, dword [esi + 0x94]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x559b0b
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x94]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x559ac4
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x94]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x2e
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55956d
cmp dword [esi + 4], 0xb018ea81
je 0x5595a9
cmp dword [esi + 4], 0xf7175d7a
jne 0x55954d
jmp 0x559623
cmp dword [esi + 4], 0x1583cd3b
je 0x5595c7
cmp dword [esi + 4], 0x5a1cc736
jne 0x55954d
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x55954d
mov dword [esi + 0xf0], 0x30
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x55954d
mov dword [esi + 0xf0], 0x30
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x55954d
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x559650
or cl, al
test cl, 1
jne 0x559776
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5596b3
cmp ecx, 0x46df2edb
je 0x5596ea
cmp ecx, 0x766d7330
jne 0x559699
jmp 0x5596f5
cmp ecx, 0x80c66156
je 0x5596ee
cmp ecx, 0xf2325ac5
jne 0x559699
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x559699
mov ecx, eax
jmp 0x559699
mov ecx, 0x46df2edb
jmp 0x559699
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x55972a
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x94]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0xc], ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x55987b
xor cl, al
jne 0x55987b
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x5597c7
cmp ecx, 0x46df2eda
jle 0x5597e1
mov dword [esi + 0xf0], 0x2e
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x5598c8
xor cl, al
je 0x585ebe
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x559912
cmp dword [esi + 4], 0xb018ea81
je 0x55994e
cmp dword [esi + 4], 0x1583cd3b
je 0x55996c
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x94], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
test al, cl
jne 0x559417
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
jne 0x559417
jmp 0x585ec0
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x94], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x559b4c
jmp 0x559e4e
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x44], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x94], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x559bc7
cmp edx, 0x6675f964
je 0x559c03
cmp edx, 0x7862661b
jne 0x559bad
jmp 0x559c0e
cmp edx, 0xd0a3dc29
je 0x559c0a
cmp edx, 0xd6d6a098
jne 0x559bad
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x559bad
mov edx, 0xd0a3dc29
jmp 0x559bad
mov edx, ebx
jmp 0x559bad
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x559c69
cmp eax, 0x6675f964
je 0x559ca3
cmp eax, 0x7862661b
jne 0x559c52
jmp 0x559cae
cmp eax, 0xd0a3dc29
je 0x559caa
cmp eax, 0xd6d6a098
jne 0x559c52
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x559c52
mov eax, 0xd0a3dc29
jmp 0x559c52
mov eax, ebx
jmp 0x559c52
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x559e12
cmp dword [esi + 0x44], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x559cfc
cmp eax, 0x6675f964
je 0x559d36
cmp eax, 0x7862661b
jne 0x559ce5
jmp 0x559d41
cmp eax, 0xd0a3dc29
je 0x559d3d
cmp eax, 0xd6d6a098
jne 0x559ce5
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x559ce5
mov eax, 0xd0a3dc29
jmp 0x559ce5
mov eax, ebx
jmp 0x559ce5
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x559d7c
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x559b15
or al, cl
je 0x559b15
jmp 0x585ec4
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x559e63
cmp eax, dword [esi + 0x94]
je 0x55a14a
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x55a061
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x55a061
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x559eb5
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x559f1d
cmp ecx, 0xc1fd3d12
je 0x559f5d
cmp ecx, 0x3365058b
jne 0x559efe
mov ecx, 0x7b4463f8
jmp 0x559efe
cmp ecx, 0x7b4463f8
je 0x559f59
cmp ecx, 0x52166c0c
jne 0x559efe
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x559efe
mov ecx, eax
jmp 0x559efe
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x55a06d
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 0x559f8c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x559fd7
cmp eax, 0xc76c0d8d
je 0x55a010
cmp eax, 0x1f2e313
jne 0x559fb5
cmp eax, 0x590bba57
je 0x559eb2
cmp eax, 0x74ccc71d
jne 0x559fb5
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x559fb5
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x559e9b
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x55a0af
cmp eax, 0x3e63df81
je 0x55a0cd
cmp eax, 0x5632c42c
jne 0x55a095
jmp fcn.00559e58
cmp eax, 0x1d5864bd
je 0x55a11b
cmp eax, 0x3ce7f0d1
jne 0x55a095
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x55a095
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55a095
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55a095
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x5593ca
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c69b4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x55a1f2
cmp ecx, 0x150b35d3
je 0x55a20a
cmp ecx, 0x1e00e94d
jne 0x55a1b3
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x55a1b3
cmp ecx, 0x3d9de5f5
je 0x55bf90
cmp ecx, 0x3f6d87b9
jne 0x55a1b3
mov ecx, eax
jmp 0x55a1b3
mov ecx, 0x3f6d87b9
jmp 0x55a1b3
cmp dword [esi + 4], 0x12345678
jne 0x55a224
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x55a262
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x55b078
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x94], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x55a354
xor cl, al
je 0x585e98
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x94]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x55aa11
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x94]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x55a9ca
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x94]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x33
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55a47d
cmp dword [esi + 4], 0xb018ea81
je 0x55a4b9
cmp dword [esi + 4], 0xf7175d7a
jne 0x55a45d
jmp 0x55a52e
cmp dword [esi + 4], 0x1583cd3b
je 0x55a4d7
cmp dword [esi + 4], 0x5a1cc736
jne 0x55a45d
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x55a45d
mov dword [esi + 0xf0], 0x35
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x55a45d
mov dword [esi + 0xf0], 0x35
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x55a45d
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x55a55b
or cl, al
test cl, 1
jne 0x55a685
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55a5c0
cmp ecx, 0x46df2edb
je 0x55a5f7
cmp ecx, 0x766d7330
jne 0x55a5a6
jmp 0x55a602
cmp ecx, 0x80c66156
je 0x55a5fb
cmp ecx, 0xf2325ac5
jne 0x55a5a6
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x55a5a6
mov ecx, eax
jmp 0x55a5a6
mov ecx, 0x46df2edb
jmp 0x55a5a6
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x55a637
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x20]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x94]
mov dword [edx + 0xc], edi
jne 0x55a783
or cl, al
test cl, 1
je 0x55a783
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x55a6d4
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x55a6ee
cmp ecx, 0x46df2edb
je 0x55a6d2
cmp ecx, 0x766d7330
jne 0x55a6d4
jmp fcn.0055a72c
cmp ecx, 0x80c66156
je 0x55a725
cmp ecx, 0xf2325ac5
jne 0x55a6d4
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x55a6d4
mov ecx, 0x46df2edb
jmp 0x55a6d4
mov dword [esi + 0xf0], 0x33
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x55a7d1
or cl, al
test cl, 1
jne 0x585e9a
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55a81b
cmp dword [esi + 4], 0xb018ea81
je 0x55a857
cmp dword [esi + 4], 0xf7175d7a
jne 0x55a7fb
jmp 0x55a8cc
cmp dword [esi + 4], 0x1583cd3b
je 0x55a875
cmp dword [esi + 4], 0x5a1cc736
jne 0x55a7fb
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x55a7fb
mov dword [esi + 0xf0], 0x34
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x55a7fb
mov dword [esi + 0xf0], 0x34
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x55a7fb
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55a92e
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x94], edx
test al, cl
jne 0x55a328
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x94], eax
jne 0x55a328
jmp 0x585e9c
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x20], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x55aa4f
jmp 0x55ad5c
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x94], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x20], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x55aaca
cmp edx, 0x6675f964
je 0x55ab06
cmp edx, 0x7862661b
jne 0x55aab0
jmp 0x55ab11
cmp edx, 0xd0a3dc29
je 0x55ab0d
cmp edx, 0xd6d6a098
jne 0x55aab0
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x55aab0
mov edx, 0xd0a3dc29
jmp 0x55aab0
mov edx, ebx
jmp 0x55aab0
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x94], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55ab6c
cmp eax, 0x6675f964
je 0x55aba1
cmp eax, 0x7862661b
jne 0x55ab55
jmp 0x55abac
cmp eax, 0xd0a3dc29
je 0x55aba8
cmp eax, 0xd6d6a098
jne 0x55ab55
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x55ab55
mov eax, 0xd0a3dc29
jmp 0x55ab55
mov eax, ebx
jmp 0x55ab55
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x55ad1c
cmp dword [esi + 0x94], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x55abfd
cmp edx, 0x6675f964
je 0x55ac39
cmp edx, 0x7862661b
jne 0x55abe3
jmp 0x55ac44
cmp edx, 0xd0a3dc29
je 0x55ac40
cmp edx, 0xd6d6a098
jne 0x55abe3
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x55abe3
mov edx, 0xd0a3dc29
jmp 0x55abe3
mov edx, ebx
jmp 0x55abe3
cmp dword [esi + 0x94], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x94], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x55ac85
cmp ecx, 0x6675f964
je 0x55acc1
cmp ecx, 0x7862661b
jne 0x55ac6b
jmp fcn.0055accc
cmp ecx, 0xd0a3dc29
je 0x55acc8
cmp ecx, 0xd6d6a098
jne 0x55ac6b
movzx eax, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ah, cl
xor ah, al
test cl, cl
mov ecx, 0x6675f964
mov edx, 0xd0a3dc29
cmovne ecx, edx
test al, al
mov edi, 0x6675f964
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x55ac6b
mov ecx, 0xd0a3dc29
jmp 0x55ac6b
mov ecx, ebx
jmp 0x55ac6b
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x55aa1b
or al, cl
je 0x55aa1b
jmp 0x585ea0
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x55ad71
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x20]
je 0x55b05e
mov ecx, dword [0x5c4080]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
jne 0x55af74
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x55af74
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x55adc9
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x55ae31
cmp ecx, 0xc1fd3d12
je 0x55ae6c
cmp ecx, 0x3365058b
jne 0x55ae12
mov ecx, 0x7b4463f8
jmp 0x55ae12
cmp ecx, 0x7b4463f8
je 0x55ae68
cmp ecx, 0x52166c0c
jne 0x55ae12
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x55ae12
mov ecx, eax
jmp 0x55ae12
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x55af80
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 0x55ae9b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x55aee5
cmp eax, 0xc76c0d8d
je 0x55af23
cmp eax, 0x1f2e313
jne 0x55aec3
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x55aec3
cmp eax, 0x590bba57
je 0x55adc6
cmp eax, 0x74ccc71d
jne 0x55aec3
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55aec3
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55aec3
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x55adaf
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x55afc3
cmp eax, 0x3e63df81
je 0x55afe1
cmp eax, 0x5632c42c
jne 0x55afa9
jmp 0x55ad66
cmp eax, 0x1d5864bd
je 0x55b02f
cmp eax, 0x3ce7f0d1
jne 0x55afa9
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x55afa9
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55afa9
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55afa9
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x55a2db
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x55b0a8
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x55bee3
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x94], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x55b19e
or cl, al
test cl, 1
jne 0x585ea2
mov edx, dword [esi + 0x94]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x55b877
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x94]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x55b82a
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x94]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x36
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55b2c8
cmp dword [esi + 4], 0xb018ea81
je 0x55b309
cmp dword [esi + 4], 0xf7175d7a
jne 0x55b2a8
jmp 0x55b381
cmp dword [esi + 4], 0x1583cd3b
je 0x55b327
cmp dword [esi + 4], 0x5a1cc736
jne 0x55b2a8
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x55b2a8
mov dword [esi + 0xf0], 0x38
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x55b2a8
mov dword [esi + 0xf0], 0x38
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x55b2a8
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x55b3ae
or cl, al
test cl, 1
jne 0x55b4d9
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55b415
cmp ecx, 0x46df2edb
je 0x55b44c
cmp ecx, 0x766d7330
jne 0x55b3fb
jmp 0x55b457
cmp ecx, 0x80c66156
je 0x55b450
cmp ecx, 0xf2325ac5
jne 0x55b3fb
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x55b3fb
mov ecx, eax
jmp 0x55b3fb
mov ecx, 0x46df2edb
jmp 0x55b3fb
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x55b48c
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
mov dword [eax], edx
mov edx, dword [esi + 0x48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x94]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x44]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x55b5d9
xor cl, al
jne 0x55b5d9
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x55b52a
cmp ecx, 0x46df2eda
jle 0x55b544
cmp ecx, 0x46df2edb
je 0x55b528
cmp ecx, 0x80c66156
je 0x55b57b
mov dword [esi + 0xf0], 0x36
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x55b62b
or cl, al
jne 0x585ea4
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55b676
cmp dword [esi + 4], 0xb018ea81
je 0x55b6b2
cmp dword [esi + 4], 0xf7175d7a
jne 0x55b656
cmp dword [esi + 4], 0x1583cd3b
je 0x55b6d0
cmp dword [esi + 4], 0x5a1cc736
jne 0x55b656
mov dword [esi + 0xf0], 0x37
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
jmp 0x55b656
mov dword [esi + 0xf0], 0x37
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x55b656
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x94], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x44], edi
cmp dl, ah
jne 0x55b16e
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x55b16e
jmp 0x585ea6
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x94], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x55b8b8
jmp 0x55bbc2
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x44], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x94], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x55b933
cmp edx, 0x6675f964
je 0x55b96f
cmp edx, 0x7862661b
jne 0x55b919
jmp 0x55b97a
cmp edx, 0xd0a3dc29
je 0x55b976
cmp edx, 0xd6d6a098
jne 0x55b919
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x55b919
mov edx, 0xd0a3dc29
jmp 0x55b919
mov edx, ebx
jmp 0x55b919
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55b9d5
cmp eax, 0x6675f964
je 0x55ba0a
cmp eax, 0x7862661b
jne 0x55b9be
jmp 0x55ba15
cmp eax, 0xd0a3dc29
je 0x55ba11
cmp eax, 0xd6d6a098
jne 0x55b9be
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x55b9be
mov eax, 0xd0a3dc29
jmp 0x55b9be
mov eax, ebx
jmp 0x55b9be
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x55bb82
cmp dword [esi + 0x44], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x55ba66
cmp edx, 0x6675f964
je 0x55baa2
cmp edx, 0x7862661b
jne 0x55ba4c
jmp 0x55baad
cmp edx, 0xd0a3dc29
je 0x55baa9
cmp edx, 0xd6d6a098
jne 0x55ba4c
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x55ba4c
mov edx, 0xd0a3dc29
jmp 0x55ba4c
mov edx, ebx
jmp 0x55ba4c
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x55baeb
cmp ecx, 0x6675f964
je 0x55bb27
cmp ecx, 0xd0a3dc29
je 0x55bb2e
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x55b881
or al, cl
je 0x55b881
jmp 0x585eaa
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x55bbd7
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x94]
je 0x55bec9
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x55bde0
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x55bde0
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x55bc35
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x55bc9f
cmp ecx, 0xc1fd3d12
je 0x55bcdf
cmp ecx, 0x3365058b
jne 0x55bc80
mov ecx, 0x7b4463f8
jmp 0x55bc80
cmp ecx, 0x7b4463f8
je 0x55bcdb
cmp ecx, 0x52166c0c
jne 0x55bc80
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3365058b
mov ebx, 0x7b4463f8
cmovne ecx, ebx
test dl, dl
mov edi, 0x3365058b
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x55bc80
mov ecx, eax
jmp 0x55bc80
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x55bdec
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 0x55bd0e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x55bd58
cmp eax, 0xc76c0d8d
je 0x55bd91
cmp eax, 0x1f2e313
jne 0x55bd36
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x55bd36
cmp eax, 0x590bba57
je 0x55bc32
cmp eax, 0x74ccc71d
jne 0x55bd36
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55bd36
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x55bd36
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x55bc1b
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x55be2e
cmp eax, 0x3e63df81
je 0x55be4c
cmp eax, 0x5632c42c
jne 0x55be14
jmp 0x55bbcc
cmp eax, 0x1d5864bd
je 0x55be9a
cmp eax, 0x3ce7f0d1
jne 0x55be14
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x55be14
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55be14
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55be14
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x55b121
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c69b4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x55bf75
cmp ecx, 0x150b35d3
je 0x55bf89
cmp ecx, 0x1e00e94d
jne 0x55bf31
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x55bf31
cmp ecx, 0x3d9de5f5
je 0x55bfd5
cmp ecx, 0x3f6d87b9
jne 0x55bf31
mov ecx, eax
jmp 0x55bf31
mov ecx, 0x3f6d87b9
jmp 0x55bf31
mov esp, dword [esi + 0xc8]
mov eax, dword [0x5c69a8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x7c4966b4
mov edi, 0x9858f9d0
cmove eax, edi
cmp dword [0x5c69ac], 0xa
mov edx, 0x7c4966b4
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x556f45
mov eax, 0xb3e2a994
mov esp, dword [esi + 0xc8]
jmp 0x556f45
cmp dword [esi + 4], 0x12345678
jne 0x55bff8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xc6]
cmp ecx, 0xa
setl byte [esi + 0xc7]
mov eax, 0xe2c12531
cmp eax, 0xe2c12530
jg 0x55c11b
cmp eax, 0x9858f9d0
je 0x5610be
cmp eax, 0xb3e2a994
jne 0x55c036
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x55c224
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xf
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x55c08e
xor cl, al
jne 0x55c08e
jmp 0x585dac
cmp eax, 0x7c4966b4
je 0x55c15d
cmp eax, 0xe2c12531
jne 0x55c036
movzx ecx, byte [esi + 0xc6]
movzx eax, byte [esi + 0xc7]
mov edx, ecx
xor dl, al
mov edx, 0x7c4966b4
mov edi, 0xb3e2a994
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55c036
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x55c8d6
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x17
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x55c198
xor cl, al
jne 0x55c198
jmp 0x585daa
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x55c2b1
cmp ecx, 0xc56a9b93
je 0x55c314
cmp ecx, 0xd3cadfc0
jne 0x55c26e
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x55c26e
cmp ecx, 0x5722fc0f
je 0x55c321
cmp ecx, 0x615aa6db
jne 0x55c26e
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x55c26e
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x55c26e
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x55c3b0
cmp ecx, 0x80dc4cc9
je 0x55c3c7
cmp ecx, 0x7f3e42f
jne 0x55c371
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x55c371
cmp ecx, 0x1aabc941
je 0x55c3cb
cmp ecx, 0x5add25f0
jne 0x55c371
mov ecx, 0x80dc4cc9
jmp 0x55c371
mov ecx, eax
jmp 0x55c371
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x55cf9b
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x55c45a
cmp ecx, 0xc56a9b93
je 0x55c4bd
cmp ecx, 0xd3cadfc0
jne 0x55c412
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x55c412
cmp ecx, 0x5722fc0f
je 0x55c4ca
cmp ecx, 0x615aa6db
jne 0x55c412
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x55c412
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x55c412
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x94], eax
jmp 0x55c4de
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x55c6e3
mov ecx, dword [esi + 0x30]
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 + 4]
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, eax
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x55c5a5
cmp ebx, 0x80dc4cc9
je 0x55c5bc
cmp ebx, 0x7f3e42f
jne 0x55c55f
movzx ebx, byte [esi + 0xf]
mov byte [esi + 0x10], bl
mov ch, byte [esi + 8]
xor bl, ch
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test ch, ch
mov ebx, edx
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
cmp byte [esi + 0x10], 0
cmove ebx, edx
jmp 0x55c55f
cmp ebx, 0x1aabc941
je 0x55c5c0
cmp ebx, 0x5add25f0
jne 0x55c55f
mov ebx, 0x80dc4cc9
jmp 0x55c55f
mov ebx, eax
jmp 0x55c55f
cmp byte [esi + 0x1c], 0
je 0x55c6ef
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x55c77f
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x94]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x55c7c1
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x55c648
cmp eax, 0x9f04b71e
je 0x55c6a6
cmp eax, 0xaf18808
jne 0x55c62e
jmp 0x55c4db
cmp eax, 0x3d9eb8cd
je 0x55c6d5
cmp eax, 0x6301b93d
jne 0x55c62e
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x55c62e
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55c62e
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x55c62e
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov eax, 0x7f3e42f
jmp 0x55c72a
mov eax, edi
cmp eax, 0x1aabc940
jg 0x55c766
cmp eax, 0x80dc4cc9
je 0x55c728
cmp eax, 0x7f3e42f
jne 0x55c72a
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x55c72a
cmp eax, 0x1aabc941
je 0x55c518
cmp eax, 0x5add25f0
jne 0x55c72a
mov eax, 0x80dc4cc9
jmp 0x55c72a
mov dword [esi + 0xf0], 0x10
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x55c7f6
xor cl, al
jne 0x55c7f6
jmp 0x585f54
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x55c7f6
xor cl, al
je 0x585f56
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x55c839
cmp eax, 0x9f04b71e
je 0x55c899
cmp eax, 0xaf18808
jne 0x55c81f
jmp 0x55c321
cmp eax, 0x3d9eb8cd
je 0x55c8c8
cmp eax, 0x6301b93d
jne 0x55c81f
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55c81f
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55c81f
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x55c81f
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x55c96c
cmp ecx, 0xc56a9b93
je 0x55c9d0
cmp ecx, 0xd3cadfc0
jne 0x55c924
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x55c924
cmp ecx, 0x5722fc0f
je 0x55c9e0
cmp ecx, 0x615aa6db
jne 0x55c924
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x55c924
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x55c924
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete dl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x55ca6f
cmp ecx, 0x80dc4cc9
je 0x55ca86
cmp ecx, 0x7f3e42f
jne 0x55ca2b
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x55ca2b
cmp ecx, 0x1aabc941
je 0x55ca8a
cmp ecx, 0x5add25f0
jne 0x55ca2b
mov ecx, 0x80dc4cc9
jmp 0x55ca2b
mov ecx, eax
jmp 0x55ca2b
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x55d0c1
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x55cb1d
cmp ecx, 0xc56a9b93
je 0x55cb81
cmp ecx, 0xd3cadfc0
jne 0x55cad5
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x55cad5
cmp ecx, 0x5722fc0f
je 0x55cb91
cmp ecx, 0x615aa6db
jne 0x55cad5
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x55cad5
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x55cad5
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x94], eax
jmp 0x55cba5
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x55cda9
mov ecx, dword [esi + 0x30]
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 + 4]
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, eax
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x55cc72
cmp ebx, 0x80dc4cc9
je 0x55cc89
cmp ebx, 0x7f3e42f
jne 0x55cc27
movzx ecx, byte [esi + 0xf]
mov byte [esi + 0x10], cl
mov ch, byte [esi + 8]
xor cl, ch
test ch, ch
mov ebx, 0x5add25f0
mov edx, 0x80dc4cc9
cmovne ebx, edx
cmp byte [esi + 0x10], 0
mov edx, 0x5add25f0
cmove ebx, edx
test cl, cl
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
jmp 0x55cc27
cmp ebx, 0x1aabc941
je 0x55cc8d
cmp ebx, 0x5add25f0
jne 0x55cc27
mov ebx, 0x80dc4cc9
jmp 0x55cc27
mov ebx, eax
jmp 0x55cc27
cmp byte [esi + 0x1c], 0
je 0x55cdb9
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x55ce4e
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x94]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x55ce8f
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x55cd15
cmp eax, 0x9f04b71e
je 0x55cd71
cmp eax, 0xaf18808
jne 0x55ccfb
jmp 0x55cba2
cmp eax, 0x3d9eb8cd
je 0x55cd9b
cmp eax, 0x6301b93d
jne 0x55ccfb
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55ccfb
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55ccfb
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x55ccfb
mov ecx, dword [esi + 0x30]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov eax, 0x7f3e42f
jmp 0x55cdf4
mov eax, edi
cmp eax, 0x1aabc940
jg 0x55ce35
cmp eax, 0x80dc4cc9
je 0x55cdf2
cmp eax, 0x7f3e42f
jne 0x55cdf4
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne eax, ebx
test cl, cl
mov ecx, 0x5add25f0
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x55cdf4
cmp eax, 0x1aabc941
je 0x55cbe0
cmp eax, 0x5add25f0
jne 0x55cdf4
mov eax, 0x80dc4cc9
jmp 0x55cdf4
mov dword [esi + 0xf0], 0x18
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x55cec5
xor cl, al
jne 0x55cec5
jmp 0x585f3a
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x55cec5
or cl, al
test cl, 1
jne 0x585f3c
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x55cf07
cmp eax, 0x9f04b71e
je 0x55cf63
cmp eax, 0xaf18808
jne 0x55ceed
jmp 0x55c9e0
cmp eax, 0x3d9eb8cd
je 0x55cf8d
cmp eax, 0x6301b93d
jne 0x55ceed
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55ceed
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55ceed
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x55ceed
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x55cfcc
or cl, al
jne 0x585f58
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x55d04d
cmp ecx, 0xc56a9b93
je 0x55d0b4
cmp ecx, 0xd3cadfc0
jne 0x55d005
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x55d005
cmp ecx, 0x5722fc0f
je 0x55d1da
cmp ecx, 0x615aa6db
jne 0x55d005
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x55d005
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x55d005
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x55d0ec
xor cl, al
je 0x585f3e
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x55d16c
cmp ecx, 0xc56a9b93
je 0x55d1cd
cmp ecx, 0xd3cadfc0
jne 0x55d124
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x55d124
cmp ecx, 0x5722fc0f
je 0x55d3b1
cmp ecx, 0x615aa6db
jne 0x55d124
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x55d124
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x55d124
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x55d1e9
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x55d273
cmp edx, 0x80dc4cc9
je 0x55d28a
cmp edx, 0x7f3e42f
jne 0x55d234
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x55d234
cmp edx, 0x1aabc941
je 0x55d28e
cmp edx, 0x5add25f0
jne 0x55d234
mov edx, 0x80dc4cc9
jmp 0x55d234
mov edx, ecx
jmp 0x55d234
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x55d59c
mov ecx, dword [0x5c3f60]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x55d2cb
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x55d2c8
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x55d31d
cmp ecx, 0x9f04b71e
je 0x55d379
cmp ecx, 0xaf18808
jne 0x55d300
jmp 0x55d1e6
cmp ecx, 0x3d9eb8cd
je 0x55d3a3
cmp ecx, 0x6301b93d
jne 0x55d300
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x55d300
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x55d300
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x55d300
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x55d3c0
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x55d44f
cmp edx, 0x80dc4cc9
je 0x55d466
cmp edx, 0x7f3e42f
jne 0x55d40b
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov eax, 0x5add25f0
cmove edx, eax
test bh, bh
cmovne edx, edi
jmp 0x55d40b
cmp edx, 0x1aabc941
je 0x55d46a
cmp edx, 0x5add25f0
jne 0x55d40b
mov edx, 0x80dc4cc9
jmp 0x55d40b
mov edx, ecx
jmp 0x55d40b
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x55f305
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c3f64], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
mov edx, dword [edi]
mov edi, dword [edi + 4]
test cl, 1
jne 0x55d4af
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, 1
je 0x55d4ac
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x55d502
cmp ecx, 0x9f04b71e
je 0x55d564
cmp ecx, 0xaf18808
jne 0x55d4e5
jmp 0x55d3bd
cmp ecx, 0x3d9eb8cd
je 0x55d58e
cmp ecx, 0x6301b93d
jne 0x55d4e5
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x55d4e5
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x55d4e5
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x55d4e5
cmp dword [esi + 4], 0x12345678
jne 0x55d5af
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x55d5ed
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x55e407
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x94], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete dl
cmp dword [esi + 0x5c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x55d6e3
or cl, al
test cl, 1
jne 0x585f5a
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x94]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x55ddb2
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x94]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x55dd65
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x94]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x11
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55d80c
cmp dword [esi + 4], 0xb018ea81
je 0x55d848
cmp dword [esi + 4], 0xf7175d7a
jne 0x55d7ec
jmp 0x55d8c2
cmp dword [esi + 4], 0x1583cd3b
je 0x55d866
cmp dword [esi + 4], 0x5a1cc736
jne 0x55d7ec
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x55d7ec
mov dword [esi + 0xf0], 0x13
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x55d7ec
mov dword [esi + 0xf0], 0x13
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x55d7ec
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x55d8ed
xor cl, al
je 0x55da19
mov eax, dword [0x5c4090]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55d950
cmp ecx, 0x46df2edb
je 0x55d98c
cmp ecx, 0x766d7330
jne 0x55d936
jmp 0x55d997
cmp ecx, 0x80c66156
je 0x55d990
cmp ecx, 0xf2325ac5
jne 0x55d936
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x55d936
mov ecx, eax
jmp 0x55d936
mov ecx, 0x46df2edb
jmp 0x55d936
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x55d9cc
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x4c]
mov dword [eax], edx
mov edx, dword [esi + 0x48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x20]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x94]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x55db19
xor cl, al
jne 0x55db19
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x55da65
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x55da7f
cmp ecx, 0x46df2edb
je 0x55da63
cmp ecx, 0x766d7330
jne 0x55da65
jmp fcn.0055dac2
cmp ecx, 0x80c66156
je 0x55dabb
cmp ecx, 0xf2325ac5
jne 0x55da65
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x55da65
mov ecx, 0x46df2edb
jmp 0x55da65
mov dword [esi + 0xf0], 0x11
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x55db66
xor cl, al
je 0x585f5c
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55dbb0
cmp dword [esi + 4], 0xb018ea81
je 0x55dbec
cmp dword [esi + 4], 0xf7175d7a
jne 0x55db90
jmp 0x55dc64
cmp dword [esi + 4], 0x1583cd3b
je 0x55dc0a
cmp dword [esi + 4], 0x5a1cc736
jne 0x55db90
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x55db90
mov dword [esi + 0xf0], 0x12
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x55db90
mov dword [esi + 0xf0], 0x12
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x55db90
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55dcc9
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x20], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x94], edi
cmp dl, ah
jne 0x55d6b3
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x94], eax
je 0x55d6b3
jmp 0x585f5e
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x94], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 0x20], edx
cmp edx, ecx
jb 0x55ddf3
jmp 0x55e0f5
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x48], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x94], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 4], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*2]
mov dword [esi + 0x78], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55de74
cmp eax, 0x6675f964
je 0x55dea9
cmp eax, 0x7862661b
jne 0x55de5d
jmp 0x55deb5
cmp eax, 0xd0a3dc29
je 0x55deb0
cmp eax, 0xd6d6a098
jne 0x55de5d
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x55de5d
mov eax, 0xd0a3dc29
jmp 0x55de5d
mov eax, dword [esi + 4]
jmp 0x55de5d
mov edx, dword [esi + 0x20]
dec edx
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x88], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x20], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x78]
lea eax, [edx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55df12
cmp eax, 0x6675f964
je 0x55df4c
cmp eax, 0x7862661b
jne 0x55defb
jmp 0x55df58
cmp eax, 0xd0a3dc29
je 0x55df53
cmp eax, 0xd6d6a098
jne 0x55defb
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x55defb
mov eax, 0xd0a3dc29
jmp 0x55defb
mov eax, dword [esi + 4]
jmp 0x55defb
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x88]
cmp edx, dword [eax]
mov edx, dword [esi + 0x90]
sbb edx, dword [eax + 4]
jge 0x55e0b9
test dword [esi + 0x48], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55dfa8
cmp eax, 0x6675f964
je 0x55dfe2
cmp eax, 0x7862661b
jne 0x55df91
jmp 0x55dfee
cmp eax, 0xd0a3dc29
je 0x55dfe9
cmp eax, 0xd6d6a098
jne 0x55df91
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x55df91
mov eax, 0xd0a3dc29
jmp 0x55df91
mov eax, dword [esi + 4]
jmp 0x55df91
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55e025
cmp eax, 0x6675f964
je 0x55e05f
cmp eax, 0x7862661b
jne 0x55e00e
jmp fcn.0055e06b
cmp eax, 0xd0a3dc29
je 0x55e066
cmp eax, 0xd6d6a098
jne 0x55e00e
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ch, al
xor ch, cl
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test cl, cl
mov edi, 0x6675f964
cmove eax, edi
test ch, ch
cmovne eax, ebx
jmp 0x55e00e
mov eax, 0xd0a3dc29
jmp 0x55e00e
mov eax, dword [esi + 4]
jmp 0x55e00e
mov ecx, dword [esi + 0x8c]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0xa0]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x55ddbc
or al, cl
je 0x55ddbc
jmp 0x585f62
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x55e10a
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x94]
je 0x55e3ed
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
je 0x55e302
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, 1
je 0x55e302
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x55e162
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x55e1ca
cmp ecx, 0xc1fd3d12
je 0x55e205
cmp ecx, 0x3365058b
jne 0x55e1ab
mov ecx, 0x7b4463f8
jmp 0x55e1ab
cmp ecx, 0x7b4463f8
je 0x55e201
cmp ecx, 0x52166c0c
jne 0x55e1ab
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x55e1ab
mov ecx, eax
jmp 0x55e1ab
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x55e30e
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 0x55e234
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x55e27f
cmp eax, 0xc76c0d8d
je 0x55e2b8
cmp eax, 0x1f2e313
jne 0x55e25d
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x55e25d
cmp eax, 0x590bba57
je 0x55e15f
cmp eax, 0x74ccc71d
jne 0x55e25d
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55e25d
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x55e25d
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x55e147
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x55e351
cmp eax, 0x3e63df81
je 0x55e36f
cmp eax, 0x5632c42c
jne 0x55e337
jmp 0x55e0ff
cmp eax, 0x1d5864bd
je 0x55e3c3
cmp eax, 0x3ce7f0d1
jne 0x55e337
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x55e337
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov edi, 0x5632c42c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55e337
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x55e337
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x55d666
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x55e42e
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x55f254
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x94], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x55e520
xor cl, al
je 0x585f64
mov edx, dword [esi + 0x94]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x55ebf6
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x94]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x55ebaf
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x94]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x14
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55e649
cmp dword [esi + 4], 0xb018ea81
je 0x55e68a
cmp dword [esi + 4], 0xf7175d7a
jne 0x55e629
jmp 0x55e6ff
cmp dword [esi + 4], 0x1583cd3b
je 0x55e6a8
cmp dword [esi + 4], 0x5a1cc736
jne 0x55e629
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x55e629
mov dword [esi + 0xf0], 0x16
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x55e629
mov dword [esi + 0xf0], 0x16
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x55e629
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x55e72b
xor cl, al
je 0x55e860
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55e792
cmp ecx, 0x46df2edb
je 0x55e7ce
cmp ecx, 0x766d7330
jne 0x55e778
jmp 0x55e7d9
cmp ecx, 0x80c66156
je 0x55e7d2
cmp ecx, 0xf2325ac5
jne 0x55e778
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x55e778
mov ecx, eax
jmp 0x55e778
mov ecx, 0x46df2edb
jmp 0x55e778
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x55e80e
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x58]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x94]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x44]
mov dword [edx + 0xc], edi
jne 0x55e95e
or cl, al
je 0x55e95e
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x55e8af
cmp ecx, 0x46df2eda
jle 0x55e8c9
cmp ecx, 0x46df2edb
je 0x55e8ad
cmp ecx, 0x80c66156
je 0x55e900
mov dword [esi + 0xf0], 0x14
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x55e9ac
or cl, al
test cl, 1
jne 0x585f66
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55e9f7
cmp dword [esi + 4], 0xb018ea81
je 0x55ea38
cmp dword [esi + 4], 0xf7175d7a
jne 0x55e9d7
cmp dword [esi + 4], 0x1583cd3b
je 0x55ea56
cmp dword [esi + 4], 0x5a1cc736
jne 0x55e9d7
mov dword [esi + 0xf0], 0x15
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
jmp 0x55e9d7
mov dword [esi + 0xf0], 0x15
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x55e9d7
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x94], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
test al, cl
jne 0x55e4f4
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
jne 0x55e4f4
jmp 0x585f68
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x94], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x55ec37
jmp 0x55ef2e
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x44], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x94], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x55ecb2
cmp edx, 0x6675f964
je 0x55ecee
cmp edx, 0x7862661b
jne 0x55ec98
jmp 0x55ecf9
cmp edx, 0xd0a3dc29
je 0x55ecf5
cmp edx, 0xd6d6a098
jne 0x55ec98
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x55ec98
mov edx, 0xd0a3dc29
jmp 0x55ec98
mov edx, ebx
jmp 0x55ec98
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55ed54
cmp eax, 0x6675f964
je 0x55ed8e
cmp eax, 0x7862661b
jne 0x55ed3d
jmp 0x55ed99
cmp eax, 0xd0a3dc29
je 0x55ed95
cmp eax, 0xd6d6a098
jne 0x55ed3d
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x55ed3d
mov eax, 0xd0a3dc29
jmp 0x55ed3d
mov eax, ebx
jmp 0x55ed3d
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x55eef4
cmp dword [esi + 0x44], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55ede7
cmp eax, 0x6675f964
je 0x55ee1c
cmp eax, 0x7862661b
jne 0x55edd0
jmp 0x55ee27
cmp eax, 0xd0a3dc29
je 0x55ee23
cmp eax, 0xd6d6a098
jne 0x55edd0
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x55edd0
mov eax, 0xd0a3dc29
jmp 0x55edd0
mov eax, ebx
jmp 0x55edd0
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55ee62
cmp eax, 0x6675f964
je 0x55ee9c
cmp eax, 0xd0a3dc29
je 0x55eea3
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x55ec00
xor al, cl
jne 0x55ec00
jmp 0x585f6c
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x55ef43
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x94]
je 0x55f23a
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
je 0x55f14b
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, 1
je 0x55f14b
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x55ef9b
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x55f007
cmp ecx, 0xc1fd3d12
je 0x55f042
cmp ecx, 0x3365058b
jne 0x55efe8
mov ecx, 0x7b4463f8
jmp 0x55efe8
cmp ecx, 0x7b4463f8
je 0x55f03e
cmp ecx, 0x52166c0c
jne 0x55efe8
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x55efe8
mov ecx, eax
jmp 0x55efe8
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x55f157
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 0x55f071
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x55f0bc
cmp eax, 0xc76c0d8d
je 0x55f0fa
cmp eax, 0x1f2e313
jne 0x55f09a
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x55f09a
cmp eax, 0x590bba57
je 0x55ef98
cmp eax, 0x74ccc71d
jne 0x55f09a
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x1f2e313
mov ebx, 0xc76c0d8d
cmovne eax, ebx
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x55f09a
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov ebx, 0x590bba57
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55f09a
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x55ef80
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x55f199
cmp eax, 0x3e63df81
je 0x55f1b7
cmp eax, 0x5632c42c
jne 0x55f17f
jmp 0x55ef38
cmp eax, 0x1d5864bd
je 0x55f20b
cmp eax, 0x3ce7f0d1
jne 0x55f17f
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x55f17f
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov edi, 0x5632c42c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55f17f
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55f17f
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x55e4a7
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c69b4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x55f2e6
cmp ecx, 0x150b35d3
je 0x55f2fe
cmp ecx, 0x1e00e94d
jne 0x55f2a2
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x55f2a2
cmp ecx, 0x3d9de5f5
je 0x561055
cmp ecx, 0x3f6d87b9
jne 0x55f2a2
mov ecx, eax
jmp 0x55f2a2
mov ecx, 0x3f6d87b9
jmp 0x55f2a2
cmp dword [esi + 4], 0x12345678
jne 0x55f318
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x55f361
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x560169
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x94], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x55f44f
xor cl, al
je 0x585f40
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x94]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x55fb1c
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x94]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x55facf
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x94]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x19
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55f579
cmp dword [esi + 4], 0xb018ea81
je 0x55f5ba
cmp dword [esi + 4], 0xf7175d7a
jne 0x55f559
jmp 0x55f632
cmp dword [esi + 4], 0x1583cd3b
je 0x55f5d8
cmp dword [esi + 4], 0x5a1cc736
jne 0x55f559
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x55f559
mov dword [esi + 0xf0], 0x1b
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x55f559
mov dword [esi + 0xf0], 0x1b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x55f559
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x55f65f
or cl, al
test cl, 1
jne 0x55f789
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55f6c1
cmp ecx, 0x46df2edb
je 0x55f6fd
cmp ecx, 0x766d7330
jne 0x55f6a7
jmp 0x55f708
cmp ecx, 0x80c66156
je 0x55f701
cmp ecx, 0xf2325ac5
jne 0x55f6a7
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x55f6a7
mov ecx, eax
jmp 0x55f6a7
mov ecx, 0x46df2edb
jmp 0x55f6a7
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x55f73d
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x94]
mov dword [eax + 0xc], ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x55f885
xor cl, al
jne 0x55f885
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x55f7d6
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x55f7f0
cmp ecx, 0x46df2edb
je 0x55f7d4
cmp ecx, 0x766d7330
jne 0x55f7d6
jmp 0x55f82e
cmp ecx, 0x80c66156
je 0x55f827
cmp ecx, 0xf2325ac5
jne 0x55f7d6
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x55f7d6
mov ecx, 0x46df2edb
jmp 0x55f7d6
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x55f863
mov dword [esi + 0xf0], 0x19
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x55f8d7
or cl, al
jne 0x585f42
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x55f922
cmp dword [esi + 4], 0xb018ea81
je 0x55f95e
cmp dword [esi + 4], 0xf7175d7a
jne 0x55f902
jmp 0x55f9d6
cmp dword [esi + 4], 0x1583cd3b
je 0x55f97c
cmp dword [esi + 4], 0x5a1cc736
jne 0x55f902
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x55f902
mov dword [esi + 0xf0], 0x1a
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x55f902
mov dword [esi + 0xf0], 0x1a
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x55f902
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x55fa38
cmp ecx, 0x46df2edb
je 0x55fa6f
cmp ecx, 0x80c66156
je 0x55fa73
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x20], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x94], edi
cmp dl, ah
jne 0x55f427
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x94], eax
je 0x55f427
jmp 0x585f44
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x20], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x55fb5a
jmp 0x55fe54
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x94], edx
sete byte [esi + 0x34]
sete al
mov edx, 0x6675f964
mov edi, 0x7862661b
cmove edx, edi
mov dword [esi + 0x20], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov ebx, 0x6675f964
cmovge edx, ebx
setl ah
xor ah, al
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x48], eax
cmovne edx, edi
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55fbd2
cmp eax, 0x6675f964
je 0x55fc07
cmp eax, 0x7862661b
jne 0x55fbbb
jmp 0x55fc12
cmp eax, 0xd0a3dc29
je 0x55fc0e
cmp eax, 0xd6d6a098
jne 0x55fbbb
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test bl, bl
cmove eax, edi
jmp 0x55fbbb
mov eax, 0xd0a3dc29
jmp 0x55fbbb
mov eax, edx
jmp 0x55fbbb
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x94], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55fc6d
cmp eax, 0x6675f964
je 0x55fca7
cmp eax, 0x7862661b
jne 0x55fc56
jmp 0x55fcb2
cmp eax, 0xd0a3dc29
je 0x55fcae
cmp eax, 0xd6d6a098
jne 0x55fc56
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, ecx
jmp 0x55fc56
mov eax, 0xd0a3dc29
jmp 0x55fc56
mov eax, edx
jmp 0x55fc56
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x55fe18
cmp dword [esi + 0x94], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x55fd00
cmp eax, 0x6675f964
je 0x55fd3a
cmp eax, 0x7862661b
jne 0x55fce9
jmp 0x55fd45
cmp eax, 0xd0a3dc29
je 0x55fd41
cmp eax, 0xd6d6a098
jne 0x55fce9
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, ecx
jmp 0x55fce9
mov eax, 0xd0a3dc29
jmp 0x55fce9
mov eax, edx
jmp 0x55fce9
cmp dword [esi + 0x94], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x94], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x55fd86
cmp ecx, 0x6675f964
je 0x55fdbd
cmp ecx, 0x7862661b
jne 0x55fd6c
jmp 0x55fdc8
cmp ecx, 0xd0a3dc29
je 0x55fdc4
cmp ecx, 0xd6d6a098
jne 0x55fd6c
movzx ebx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, bl
xor ch, cl
mov edi, 0x6675f964
mov eax, 0xd0a3dc29
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test bl, bl
cmove ecx, edi
jmp 0x55fd6c
mov ecx, 0xd0a3dc29
jmp 0x55fd6c
mov ecx, edx
jmp 0x55fd6c
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push dword [esi + 0x94]
call fcn.00434540
mov ecx, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea eax, [ecx + 1]
mov dword [esi + 0x8c], ecx
imul eax, ecx
and eax, 1
sete cl
mov dword [esi + 0x5c], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x55fb50
mov ecx, dword [esi + 0x8c]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x55fb26
or al, cl
je 0x55fb26
jmp 0x585f48
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x55fe69
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x20]
je 0x56014f
mov ecx, dword [0x5c4080]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x560066
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x560066
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x55feb8
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x55ff22
cmp ecx, 0xc1fd3d12
je 0x55ff5d
cmp ecx, 0x3365058b
jne 0x55ff03
mov ecx, 0x7b4463f8
jmp 0x55ff03
cmp ecx, 0x7b4463f8
je 0x55ff59
cmp ecx, 0x52166c0c
jne 0x55ff03
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x55ff03
mov ecx, eax
jmp 0x55ff03
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x560072
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 0x55ff8c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x55ffd7
cmp eax, 0xc76c0d8d
je 0x560015
cmp eax, 0x1f2e313
jne 0x55ffb5
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x55ffb5
cmp eax, 0x590bba57
je 0x55feb5
cmp eax, 0x74ccc71d
jne 0x55ffb5
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x55ffb5
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x55ffb5
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x55fe9e
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x5600b5
cmp eax, 0x3e63df81
je 0x5600d3
cmp eax, 0x5632c42c
jne 0x56009b
jmp 0x55fe5e
cmp eax, 0x1d5864bd
je 0x560120
cmp eax, 0x3ce7f0d1
jne 0x56009b
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x56009b
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x56009b
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x56009b
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x55f3da
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x560190
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x560faa
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x94], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x560282
xor cl, al
je 0x585f4a
mov edx, dword [esi + 0x94]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x56094e
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x94]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x560901
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x94]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x1c
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x5603ab
cmp dword [esi + 4], 0xb018ea81
je 0x5603e7
cmp dword [esi + 4], 0xf7175d7a
jne 0x56038b
jmp 0x56045b
cmp dword [esi + 4], 0x1583cd3b
je 0x560405
cmp dword [esi + 4], 0x5a1cc736
jne 0x56038b
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x56038b
mov dword [esi + 0xf0], 0x1e
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x56038b
mov dword [esi + 0xf0], 0x1e
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x56038b
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x560486
xor cl, al
je 0x5605b2
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5604e8
cmp ecx, 0x46df2edb
je 0x560524
cmp ecx, 0x766d7330
jne 0x5604ce
jmp 0x56052f
cmp ecx, 0x80c66156
je 0x560528
cmp ecx, 0xf2325ac5
jne 0x5604ce
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5604ce
mov ecx, eax
jmp 0x5604ce
mov ecx, 0x46df2edb
jmp 0x5604ce
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x560564
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x58]
mov eax, dword [esi + 0x4c]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x94]
mov dword [edi + 8], eax
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x44]
mov dword [edi + 0xc], ecx
setl ch
setge cl
cmp ch, dl
jne 0x5606b7
or cl, al
test cl, 1
je 0x5606b7
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x560603
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x56061d
cmp ecx, 0x46df2edb
je 0x560601
cmp ecx, 0x766d7330
jne 0x560603
cmp ecx, 0x80c66156
je 0x560659
cmp ecx, 0xf2325ac5
jne 0x560603
mov ecx, 0x46df2edb
jmp 0x560603
mov dword [esi + 0xf0], 0x1c
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x560703
xor cl, al
je 0x585f4c
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x56074d
cmp dword [esi + 4], 0xb018ea81
je 0x560789
cmp dword [esi + 4], 0xf7175d7a
jne 0x56072d
jmp fcn.00560803
cmp dword [esi + 4], 0x1583cd3b
je 0x5607a7
cmp dword [esi + 4], 0x5a1cc736
jne 0x56072d
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x56072d
mov dword [esi + 0xf0], 0x1d
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
jmp 0x56072d
mov dword [esi + 0xf0], 0x1d
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x56072d
cmp dword [esi + 4], 0
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x94], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
jne 0x560256
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x560256
jmp 0x585f4e
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x94], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x56098f
jmp 0x560c86
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x44], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x94], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x560a0a
cmp edx, 0x6675f964
je 0x560a41
cmp edx, 0x7862661b
jne 0x5609f0
jmp 0x560a4c
cmp edx, 0xd0a3dc29
je 0x560a48
cmp edx, 0xd6d6a098
jne 0x5609f0
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test al, al
cmove edx, edi
jmp 0x5609f0
mov edx, 0xd0a3dc29
jmp 0x5609f0
mov edx, ebx
jmp 0x5609f0
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x560aa7
cmp eax, 0x6675f964
je 0x560adc
cmp eax, 0x7862661b
jne 0x560a90
jmp 0x560ae7
cmp eax, 0xd0a3dc29
je 0x560ae3
cmp eax, 0xd6d6a098
jne 0x560a90
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x560a90
mov eax, 0xd0a3dc29
jmp 0x560a90
mov eax, ebx
jmp 0x560a90
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x560c50
cmp dword [esi + 0x44], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x560b35
cmp eax, 0x6675f964
je 0x560b6a
cmp eax, 0x7862661b
jne 0x560b1e
jmp 0x560b75
cmp eax, 0xd0a3dc29
je 0x560b71
cmp eax, 0xd6d6a098
jne 0x560b1e
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x560b1e
mov eax, 0xd0a3dc29
jmp 0x560b1e
mov eax, ebx
jmp 0x560b1e
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x94], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x560bb3
cmp ecx, 0x6675f964
je 0x560bef
cmp ecx, 0x7862661b
jne 0x560b99
cmp ecx, 0xd0a3dc29
je 0x560bf6
cmp ecx, 0xd6d6a098
jne 0x560b99
mov ecx, 0xd0a3dc29
jmp 0x560b99
mov ecx, ebx
jmp 0x560b99
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x560958
xor al, cl
jne 0x560958
jmp 0x585f52
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x560c9b
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x94]
je 0x560f90
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x560ea7
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x560ea7
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x560cf9
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x560d65
cmp ecx, 0xc1fd3d12
je 0x560da5
cmp ecx, 0x3365058b
jne 0x560d46
mov ecx, 0x7b4463f8
jmp 0x560d46
cmp ecx, 0x7b4463f8
je 0x560da1
cmp ecx, 0x52166c0c
jne 0x560d46
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x560d46
mov ecx, eax
jmp 0x560d46
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x560eb3
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 0x560dd4
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x560e1f
cmp eax, 0xc76c0d8d
je 0x560e58
cmp eax, 0x1f2e313
jne 0x560dfd
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x560dfd
cmp eax, 0x590bba57
je 0x560cf6
cmp eax, 0x74ccc71d
jne 0x560dfd
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x560dfd
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x560dfd
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x560cdf
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x560ef5
cmp eax, 0x3e63df81
je 0x560f13
cmp eax, 0x5632c42c
jne 0x560edb
jmp 0x560c90
cmp eax, 0x1d5864bd
je 0x560f61
cmp eax, 0x3ce7f0d1
jne 0x560edb
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x560edb
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x560edb
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x560edb
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x560209
mov esp, dword [esi + 0xc0]
mov edx, dword [0x5c69b0]
mov ecx, dword [0x5c69b4]
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, 0x150b35d3
mov ebx, 0x3d9de5f5
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x24]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x56103a
cmp ecx, 0x150b35d3
je 0x56104e
cmp ecx, 0x1e00e94d
jne 0x560ffb
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x560ffb
cmp ecx, 0x3d9de5f5
je 0x56109e
cmp ecx, 0x3f6d87b9
jne 0x560ffb
mov ecx, eax
jmp 0x560ffb
mov ecx, 0x3f6d87b9
jmp 0x560ffb
mov esp, dword [esi + 0xc8]
mov edx, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
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, 0x7c4966b4
mov ebx, 0x9858f9d0
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x55c036
mov eax, 0xb3e2a994
mov esp, dword [esi + 0xc8]
jmp 0x55c036
mov eax, 0xd6670776
mov esp, dword [esi + 0xd0]
jmp 0x550b1c
mov esp, dword [esi + 0xd0]
mov eax, dword [0x5c69a0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x7ef29a83
mov edi, 0xbd026deb
cmove eax, edi
cmp dword [0x5c69a4], 0xa
mov edx, 0x7ef29a83
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x550b1c
mov eax, 0x3c794280
mov esp, dword [esi + 0x94]
jmp 0x53c8b0
mov esp, dword [esi + 0x3c]
mov edx, dword [0x5c6998]
mov ecx, dword [0x5c699c]
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, 0x3a573551
mov ebx, 0x882b8ee6
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
mov edi, 0x52b7e1e4
jmp 0x53c8b0
movzx ecx, byte [esi + 0xd6]
movzx eax, byte [esi + 0xd7]
mov edx, ecx
xor dl, al
mov edx, 0xdb1f0693
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x53c830
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xdc], eax
mov esp, eax
mov dword [esi + 0xd8], esp
mov eax, dword [0x5c6998]
mov ecx, dword [0x5c699c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xd4]
cmp ecx, 0xa
setl byte [esi + 0xd5]
mov eax, 0x7a3dcd10
nop dword [eax]
cmp eax, 0x3c79427f
jg 0x5612d0
cmp eax, 0x882b8ee6
je 0x5859c0
cmp eax, 0x3a573551
jne 0x5611d0
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
xor edi, edi
nop word cs:[eax + eax]
cmp edi, 0x64
jae 0x5613eb
mov dword [esi + 4], edi
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xab
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
mov edi, dword [esi + 4]
inc edi
cmp ch, dl
jne 0x561230
or cl, al
test cl, 1
je 0x561230
jmp 0x585a00
cmp eax, 0x3c794280
je 0x561317
cmp eax, 0x7a3dcd10
jne 0x5611d0
movzx ecx, byte [esi + 0xd4]
movzx eax, byte [esi + 0xd5]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3a573551
mov ebx, 0x3c794280
cmovne eax, ebx
test cl, cl
mov ecx, 0x3a573551
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x5611d0
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
xor edx, edx
nop dword [eax]
cmp edx, 0x64
jae 0x561b1e
mov dword [esi + 4], edx
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x72
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 4]
inc edx
test ah, ah
jne 0x561350
or cl, al
je 0x561350
jmp 0x585a30
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop word cs:[eax + eax]
cmp ecx, 0x5722fc0e
jg 0x561490
cmp ecx, 0xc56a9b93
je 0x5614f3
cmp ecx, 0xd3cadfc0
jne 0x561440
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x561440
cmp ecx, 0x5722fc0f
je 0x561500
cmp ecx, 0x615aa6db
jne 0x561440
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x561440
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x561440
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
nop
cmp ecx, 0x1aabc940
jg 0x561590
cmp ecx, 0x80dc4cc9
je 0x5615a7
cmp ecx, 0x7f3e42f
jne 0x561550
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x561550
cmp ecx, 0x1aabc941
je 0x5615b0
cmp ecx, 0x5add25f0
jne 0x561550
mov ecx, 0x80dc4cc9
jmp 0x561550
mov ecx, eax
jmp 0x561550
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x562254
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x561650
cmp ecx, 0xc56a9b93
je 0x5616ae
cmp ecx, 0xd3cadfc0
jne 0x561600
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x561600
cmp ecx, 0x5722fc0f
je 0x5616c0
cmp ecx, 0x615aa6db
jne 0x561600
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x561600
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x561600
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x5616d3
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov ecx, dword [0x5c3f78]
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
mov dword [esi + 0x1c], ecx
jne 0x5617d3
lea edi, [ecx + 1]
imul edi, ecx
and edi, 1
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov ebx, 0x7f3e42f
jmp 0x561760
mov ebx, edi
nop word cs:[eax + eax]
cmp ebx, 0x1aabc940
jg 0x5617b0
cmp ebx, 0x80dc4cc9
je 0x561751
cmp ebx, 0x7f3e42f
jne 0x561760
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov edx, ecx
xor dl, al
test cl, cl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test al, al
mov eax, 0x5add25f0
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x561760
cmp ebx, 0x1aabc941
je 0x5617d0
cmp ebx, 0x5add25f0
jne 0x561760
mov ebx, 0x80dc4cc9
jmp 0x561760
mov ecx, dword [esi + 0x1c]
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 + 4]
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, eax
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
nop word [eax + eax]
cmp ebx, 0x1aabc940
jg 0x561870
cmp ebx, 0x80dc4cc9
je 0x561887
cmp ebx, 0x7f3e42f
jne 0x561820
movzx ebx, byte [esi + 0xf]
mov byte [esi + 0x30], bl
mov ch, byte [esi + 8]
xor bl, ch
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test ch, ch
mov ebx, edx
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
cmp byte [esi + 0x30], 0
cmove ebx, edx
jmp 0x561820
cmp ebx, 0x1aabc941
je 0x561890
cmp ebx, 0x5add25f0
jne 0x561820
mov ebx, 0x80dc4cc9
jmp 0x561820
mov ebx, eax
jmp 0x561820
cmp byte [esi + 0x10], 0
je 0x561718
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x5619c0
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x561a10
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
nop dword [eax]
cmp eax, 0x3d9eb8cc
jg 0x561920
cmp eax, 0x9f04b71e
je 0x561980
cmp eax, 0xaf18808
jne 0x561900
jmp 0x5616d0
cmp eax, 0x3d9eb8cd
je 0x5619af
cmp eax, 0x6301b93d
jne 0x561900
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x561900
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x561900
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x561900
mov dword [esi + 0xf0], 0xac
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x561a46
or cl, al
test cl, 1
je 0x561a46
jmp 0x585a50
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x561a46
or cl, al
test cl, 1
jne 0x585a90
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
nop
cmp eax, 0x3d9eb8cc
jg 0x561a90
cmp eax, 0x9f04b71e
je 0x561ae6
cmp eax, 0xaf18808
jne 0x561a70
jmp 0x561500
cmp eax, 0x3d9eb8cd
je 0x561b10
cmp eax, 0x6301b93d
jne 0x561a70
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x561a70
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x561a70
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x561a70
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x561bc0
cmp ecx, 0xc56a9b93
je 0x561c23
cmp ecx, 0xd3cadfc0
jne 0x561b70
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x561b70
cmp ecx, 0x5722fc0f
je 0x561c30
cmp ecx, 0x615aa6db
jne 0x561b70
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x561b70
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x561b70
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x561cc0
cmp ecx, 0x80dc4cc9
je 0x561cd7
cmp ecx, 0x7f3e42f
jne 0x561c80
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x561c80
cmp ecx, 0x1aabc941
je 0x561ce0
cmp ecx, 0x5add25f0
jne 0x561c80
mov ecx, 0x80dc4cc9
jmp 0x561c80
mov ecx, eax
jmp 0x561c80
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x56237f
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x561d80
cmp ecx, 0xc56a9b93
je 0x561dde
cmp ecx, 0xd3cadfc0
jne 0x561d30
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x561d30
cmp ecx, 0x5722fc0f
je 0x561df0
cmp ecx, 0x615aa6db
jne 0x561d30
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x561d30
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x561d30
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x561e03
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
mov eax, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov dword [esi + 0x1c], eax
jne 0x561ef3
lea edi, [eax - 1]
imul edi, eax
and edi, 1
test edi, edi
sete byte [esi + 0xf]
sete cl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge edi, eax
xor dl, cl
cmovne edi, ebx
mov edx, 0x7f3e42f
jmp 0x561e90
mov edx, edi
nop word [eax + eax]
cmp edx, 0x1aabc940
jg 0x561ed0
cmp edx, 0x80dc4cc9
je 0x561e88
cmp edx, 0x7f3e42f
jne 0x561e90
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
jmp 0x561e90
cmp edx, 0x1aabc941
je 0x561ef0
cmp edx, 0x5add25f0
jne 0x561e90
mov edx, 0x80dc4cc9
jmp 0x561e90
mov eax, dword [esi + 0x1c]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
nop word cs:[eax + eax]
cmp ebx, 0x1aabc940
jg 0x561f90
cmp ebx, 0x80dc4cc9
je 0x561fa7
cmp ebx, 0x7f3e42f
jne 0x561f40
mov ah, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov bh, ah
xor bh, bl
mov ecx, 0x5add25f0
mov dword [esi + 0x30], edi
mov edi, 0x80dc4cc9
cmovne ecx, edi
test bl, bl
mov ebx, ecx
cmovne ebx, edi
mov edi, dword [esi + 0x30]
test ah, ah
cmove ebx, ecx
jmp 0x561f40
cmp ebx, 0x1aabc941
je 0x561fb0
cmp ebx, 0x5add25f0
jne 0x561f40
mov ebx, 0x80dc4cc9
jmp 0x561f40
mov ebx, edx
jmp 0x561f40
cmp byte [esi + 0x10], 0
je 0x561e53
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x5620e0
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x562130
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
nop dword [eax + eax]
cmp eax, 0x3d9eb8cc
jg 0x562040
cmp eax, 0x9f04b71e
je 0x5620a0
cmp eax, 0xaf18808
jne 0x562020
jmp 0x561e00
cmp eax, 0x3d9eb8cd
je 0x5620cf
cmp eax, 0x6301b93d
jne 0x562020
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x562020
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x562020
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x562020
mov dword [esi + 0xf0], 0x73
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x56216a
xor cl, al
jne 0x56216a
jmp 0x585a70
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x56216a
or cl, al
jne 0x585aa0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
nop word cs:[eax + eax]
cmp eax, 0x3d9eb8cc
jg 0x5621c0
cmp eax, 0x9f04b71e
je 0x56221c
cmp eax, 0xaf18808
jne 0x5621a0
jmp 0x561c30
cmp eax, 0x3d9eb8cd
je 0x562246
cmp eax, 0x6301b93d
jne 0x5621a0
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5621a0
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5621a0
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x5621a0
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x56227f
xor cl, al
je 0x585be0
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x562310
cmp ecx, 0xc56a9b93
je 0x562372
cmp ecx, 0xd3cadfc0
jne 0x5622c0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x5622c0
cmp ecx, 0x5722fc0f
je 0x5624af
cmp ecx, 0x615aa6db
jne 0x5622c0
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5622c0
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5622c0
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5623ac
or cl, al
test cl, 1
jne 0x585bd0
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop word cs:[eax + eax]
cmp ecx, 0x5722fc0e
jg 0x562440
cmp ecx, 0xc56a9b93
je 0x5624a2
cmp ecx, 0xd3cadfc0
jne 0x5623f0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5623f0
cmp ecx, 0x5722fc0f
je 0x5627b4
cmp ecx, 0x615aa6db
jne 0x5623f0
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5623f0
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5623f0
mov eax, dword [esi + 8]
xor eax, eax
jmp 0x5624c3
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx - 1]
imul edx, ecx
mov edi, dword [0x5c3f7c]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x14]
sete dl
mov ecx, 0x5add25f0
mov ebx, 0x1aabc941
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 8]
setl dh
mov edi, 0x5add25f0
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0x7f3e42f
nop dword [eax]
cmp edx, 0x1aabc940
jg 0x562560
cmp edx, 0x80dc4cc9
je 0x562577
cmp edx, 0x7f3e42f
jne 0x562510
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
mov edi, 0x80dc4cc9
cmovne edx, edi
jmp 0x562510
cmp edx, 0x1aabc941
je 0x562580
cmp edx, 0x5add25f0
jne 0x562510
mov edx, 0x80dc4cc9
jmp 0x562510
mov edx, ecx
jmp 0x562510
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x5626c1
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c3f64], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x5625c8
mov ebx, edi
sub ebx, edx
add eax, ebx
mov ebx, edi
sub ebx, edx
add eax, ebx
test cl, cl
je 0x5625c6
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
mov dword [esi + 4], eax
nop
cmp ecx, 0x3d9eb8cc
jg 0x562620
cmp ecx, 0x9f04b71e
je 0x562686
cmp ecx, 0xaf18808
jne 0x562600
jmp 0x5624c0
cmp ecx, 0x3d9eb8cd
je 0x5626b3
cmp ecx, 0x6301b93d
jne 0x562600
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
mov eax, dword [esi + 4]
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x562600
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
mov eax, dword [esi + 4]
test dl, dl
cmove ecx, edi
jmp 0x562600
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x562600
cmp eax, 0x12345678
jne 0x5626d2
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x94], esp
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
xor edx, edx
nop
cmp edx, 0x64
jae 0x562a9b
mov dword [esi + 4], edx
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xad
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
mov edx, dword [esi + 4]
inc edx
test cl, al
jne 0x562720
xor cl, al
jne 0x562720
jmp 0x585ac0
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x5627c3
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x5c3f7c]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x14]
sete dl
mov ecx, 0x5add25f0
mov ebx, 0x1aabc941
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 8]
setl dh
mov edi, 0x5add25f0
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0x7f3e42f
nop dword [eax]
cmp edx, 0x1aabc940
jg 0x562850
cmp edx, 0x80dc4cc9
je 0x562867
cmp edx, 0x7f3e42f
jne 0x562810
movzx eax, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, al
xor dh, dl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x562810
cmp edx, 0x1aabc941
je 0x562870
cmp edx, 0x5add25f0
jne 0x562810
mov edx, 0x80dc4cc9
jmp 0x562810
mov edx, ecx
jmp 0x562810
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x562995
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x5628ac
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x5628a9
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x562900
cmp ecx, 0x9f04b71e
je 0x562958
cmp ecx, 0xaf18808
jne 0x5628e0
jmp 0x5627c0
cmp ecx, 0x3d9eb8cd
je 0x562987
cmp ecx, 0x6301b93d
jne 0x5628e0
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x5628e0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x5628e0
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x5628e0
cmp dword [esi + 4], 0x12345678
jne 0x5629a8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x94], esp
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
xor edx, edx
nop word cs:[eax + eax]
cmp edx, 0x64
jae 0x5631b2
mov dword [esi + 4], edx
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x74
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 4]
inc edx
test ah, ah
jne 0x562a00
or cl, al
je 0x562a00
jmp 0x585af0
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop word cs:[eax + eax]
cmp ecx, 0x5722fc0e
jg 0x562b40
cmp ecx, 0xc56a9b93
je 0x562b9d
cmp ecx, 0xd3cadfc0
jne 0x562af0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x562af0
cmp ecx, 0x5722fc0f
je 0x562bb0
cmp ecx, 0x615aa6db
jne 0x562af0
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x562af0
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x562af0
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x562c50
cmp ecx, 0x80dc4cc9
je 0x562c67
cmp ecx, 0x7f3e42f
jne 0x562c00
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x562c00
cmp ecx, 0x1aabc941
je 0x562c70
cmp ecx, 0x5add25f0
jne 0x562c00
mov ecx, 0x80dc4cc9
jmp 0x562c00
mov ecx, eax
jmp 0x562c00
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x5638f2
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x562d10
cmp ecx, 0xc56a9b93
je 0x562d74
cmp ecx, 0xd3cadfc0
jne 0x562cc0
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x562cc0
cmp ecx, 0x5722fc0f
je 0x562d90
cmp ecx, 0x615aa6db
jne 0x562cc0
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x562cc0
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x562cc0
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x562da3
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov eax, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov dword [esi + 0x1c], eax
jne 0x562e93
mov ecx, eax
inc eax
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete byte [esi + 0xf]
sete al
mov edi, 0x5add25f0
mov edx, 0x1aabc941
cmove edi, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov eax, 0x7f3e42f
jmp 0x562e30
mov eax, edi
nop word cs:[eax + eax]
cmp eax, 0x1aabc940
jg 0x562e70
cmp eax, 0x80dc4cc9
je 0x562e20
cmp eax, 0x7f3e42f
jne 0x562e30
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x562e30
cmp eax, 0x1aabc941
je 0x562e90
cmp eax, 0x5add25f0
jne 0x562e30
mov eax, 0x80dc4cc9
jmp 0x562e30
mov eax, dword [esi + 0x1c]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmove eax, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov edx, 0x5add25f0
cmovge eax, edx
xor bh, bl
cmovne eax, ecx
mov ebx, 0x7f3e42f
nop dword [eax]
cmp ebx, 0x1aabc940
jg 0x562f20
cmp ebx, 0x80dc4cc9
je 0x562f37
cmp ebx, 0x7f3e42f
jne 0x562ed0
movzx edx, byte [esi + 0xf]
mov dh, byte [esi + 8]
mov ebx, edx
xor bl, dh
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dh, dh
mov ebx, ecx
mov dword [esi + 0x30], edi
mov edi, 0x80dc4cc9
cmovne ebx, edi
mov edi, dword [esi + 0x30]
test dl, dl
cmove ebx, ecx
jmp 0x562ed0
cmp ebx, 0x1aabc941
je 0x562f40
cmp ebx, 0x5add25f0
jne 0x562ed0
mov ebx, 0x80dc4cc9
jmp 0x562ed0
mov ebx, eax
jmp 0x562ed0
cmp byte [esi + 0x10], 0
je 0x562deb
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x56305d
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x56309e
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
nop dword [eax + eax]
cmp eax, 0x3d9eb8cc
jg 0x562fd0
cmp eax, 0x9f04b71e
je 0x563025
cmp eax, 0xaf18808
jne 0x562fb0
jmp 0x562da0
cmp eax, 0x3d9eb8cd
je 0x56304f
cmp eax, 0x6301b93d
jne 0x562fb0
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x562fb0
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x562fb0
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x562fb0
mov dword [esi + 0xf0], 0xae
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x5630d8
xor cl, al
jne 0x5630d8
jmp 0x585b50
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5630d8
or cl, al
jne 0x585ba0
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x563120
cmp eax, 0x9f04b71e
je 0x56317a
cmp eax, 0xaf18808
jne 0x563100
jmp 0x562bb0
cmp eax, 0x3d9eb8cd
je 0x5631a4
cmp eax, 0x6301b93d
jne 0x563100
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x563100
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x563100
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x563100
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x563250
cmp ecx, 0xc56a9b93
je 0x5632b3
cmp ecx, 0xd3cadfc0
jne 0x563200
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x563200
cmp ecx, 0x5722fc0f
je 0x5632d0
cmp ecx, 0x615aa6db
jne 0x563200
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov eax, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov edx, 0x5722fc0f
cmovne ebx, edx
test edi, ecx
mov ecx, ebx
cmove ecx, edx
cmp eax, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x563200
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x563200
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x563370
cmp ecx, 0x80dc4cc9
je 0x563387
cmp ecx, 0x7f3e42f
jne 0x563320
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x563320
cmp ecx, 0x1aabc941
je 0x563390
cmp ecx, 0x5add25f0
jne 0x563320
mov ecx, 0x80dc4cc9
jmp 0x563320
mov ecx, eax
jmp 0x563320
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x563a12
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x563430
cmp ecx, 0xc56a9b93
je 0x563494
cmp ecx, 0xd3cadfc0
jne 0x5633e0
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5633e0
cmp ecx, 0x5722fc0f
je 0x5634b0
cmp ecx, 0x615aa6db
jne 0x5633e0
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x5633e0
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x5633e0
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x5634c3
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov eax, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov dword [esi + 0x1c], eax
jne 0x5635c3
lea edi, [eax + 1]
imul edi, eax
and edi, 1
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov ebx, 0x7f3e42f
jmp 0x563550
mov ebx, edi
nop word cs:[eax + eax]
cmp ebx, 0x1aabc940
jg 0x5635a0
cmp ebx, 0x80dc4cc9
je 0x563541
cmp ebx, 0x7f3e42f
jne 0x563550
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov edx, eax
xor dl, cl
test cl, cl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test al, al
mov eax, 0x5add25f0
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x563550
cmp ebx, 0x1aabc941
je 0x5635c0
cmp ebx, 0x5add25f0
jne 0x563550
mov ebx, 0x80dc4cc9
jmp 0x563550
mov eax, dword [esi + 0x1c]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmove eax, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov edx, 0x5add25f0
cmovge eax, edx
xor bh, bl
cmovne eax, ecx
mov ebx, 0x7f3e42f
nop dword [eax]
cmp ebx, 0x1aabc940
jg 0x563650
cmp ebx, 0x80dc4cc9
je 0x563667
cmp ebx, 0x7f3e42f
jne 0x563600
movzx edx, byte [esi + 0xf]
mov dh, byte [esi + 8]
mov ebx, edx
xor bl, dh
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dh, dh
mov ebx, ecx
mov dword [esi + 0x30], edi
mov edi, 0x80dc4cc9
cmovne ebx, edi
mov edi, dword [esi + 0x30]
test dl, dl
cmove ebx, ecx
jmp 0x563600
cmp ebx, 0x1aabc941
je 0x563670
cmp ebx, 0x5add25f0
jne 0x563600
mov ebx, 0x80dc4cc9
jmp 0x563600
mov ebx, eax
jmp 0x563600
cmp byte [esi + 0x10], 0
je 0x563508
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x563792
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x5637d3
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
nop dword [eax + eax]
cmp eax, 0x3d9eb8cc
jg 0x563700
cmp eax, 0x9f04b71e
je 0x56375a
cmp eax, 0xaf18808
jne 0x5636e0
jmp 0x5634c0
cmp eax, 0x3d9eb8cd
je 0x563784
cmp eax, 0x6301b93d
jne 0x5636e0
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x5636e0
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5636e0
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x5636e0
mov dword [esi + 0xf0], 0x75
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x563809
xor cl, al
jne 0x563809
jmp 0x585b40
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x563809
or cl, al
test cl, 1
jne 0x585b90
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
nop word cs:[eax + eax]
cmp eax, 0x3d9eb8cc
jg 0x563860
cmp eax, 0x9f04b71e
je 0x5638b5
cmp eax, 0xaf18808
jne 0x563840
jmp 0x5632d0
cmp eax, 0x3d9eb8cd
je 0x5638e4
cmp eax, 0x6301b93d
jne 0x563840
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x563840
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x563840
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x563840
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x56391f
or cl, al
test cl, 1
jne 0x585c20
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop dword [eax + eax]
cmp ecx, 0x5722fc0e
jg 0x5639a3
cmp ecx, 0xc56a9b93
je 0x563a05
cmp ecx, 0xd3cadfc0
jne 0x563960
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x563960
cmp ecx, 0x5722fc0f
je 0x563b3f
cmp ecx, 0x615aa6db
jne 0x563960
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x563960
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x563960
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x563a43
or cl, al
jne 0x585c00
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
nop
cmp ecx, 0x5722fc0e
jg 0x563ac8
cmp ecx, 0xc56a9b93
je 0x563b2f
cmp ecx, 0xd3cadfc0
jne 0x563a80
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x563a80
cmp ecx, 0x5722fc0f
je 0x5643c6
cmp ecx, 0x615aa6db
jne 0x563a80
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov eax, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov edx, 0x5722fc0f
cmovne ebx, edx
test edi, ecx
mov ecx, ebx
cmove ecx, edx
cmp eax, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x563a80
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x563a80
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x563b53
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
mov eax, dword [esi + 4]
nop word cs:[eax + eax]
cmp edx, 0x1aabc940
jg 0x563c00
cmp edx, 0x80dc4cc9
je 0x563c17
cmp edx, 0x7f3e42f
jne 0x563bb0
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov eax, 0x5add25f0
cmove edx, eax
mov eax, dword [esi + 4]
test bh, bh
cmovne edx, edi
jmp 0x563bb0
cmp edx, 0x1aabc941
je 0x563c20
cmp edx, 0x5add25f0
jne 0x563bb0
mov edx, 0x80dc4cc9
jmp 0x563bb0
mov edx, ecx
jmp 0x563bb0
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x563d5d
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x563c5c
mov ebx, edi
sub ebx, edx
add eax, ebx
mov ebx, edi
sub ebx, edx
add eax, ebx
test cl, cl
je 0x563c5a
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
mov dword [esi + 4], eax
nop word cs:[eax + eax]
cmp ecx, 0x3d9eb8cc
jg 0x563cc0
cmp ecx, 0x9f04b71e
je 0x563d25
cmp ecx, 0xaf18808
jne 0x563ca0
jmp 0x563b50
cmp ecx, 0x3d9eb8cd
je 0x563d4f
cmp ecx, 0x6301b93d
jne 0x563ca0
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x563ca0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x563ca0
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x563ca0
cmp eax, 0x12345678
jne 0x563d6e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov edx, dword [0x5c3fa0]
mov ecx, dword [0x5c3fa4]
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, 0xf963c607
mov edi, 0x77192157
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0xa0dba2a4
nop dword [eax + eax]
cmp ecx, 0x734bd94a
jle 0x563dea
cmp ecx, 0x734bd94b
je 0x563e07
cmp ecx, 0x77192157
jne 0x563dd0
jmp 0x563e3d
cmp ecx, 0xa0dba2a4
je 0x563e11
cmp ecx, 0xf963c607
jne 0x563dd0
mov word [esi + 8], 0x7a61
mov ecx, 0x734bd94b
jmp 0x563dd0
mov word [esi + 8], 0x7a61
mov ecx, eax
jmp 0x563dd0
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xf963c607
mov ebx, 0x734bd94b
cmovne ecx, ebx
test dl, dl
mov edi, 0xf963c607
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x563dd0
lea ecx, [esi + 0x60]
call fcn.0040ab10
mov dword [esi + 0xf0], 0xaf
xor eax, eax
jmp 0x563e62
mov eax, dword [esi + 0x20]
inc eax
cmp eax, 0x3e8
je 0x564c66
mov dword [esi + 0x20], eax
movsx eax, byte [esi + 9]
movsx edx, byte [esi + 8]
mov dword [esi + 0xf0], 0xaf
lea ecx, [esi + 8]
push eax
push edx
lea eax, [esi + 0x14]
push eax
call fcn.0041c940
movsx eax, al
lea ecx, [esi + 0x60]
push eax
call fcn.0041cf20
mov edx, dword [0x5c3fa8]
mov ecx, dword [0x5c3fac]
lea eax, [edx + 1]
mov dword [esi + 0x44], edx
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
mov dword [esi + 0x3c], ecx
cmp ecx, 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov edi, dword [0x5c3fb0]
mov eax, dword [0x5c3fb4]
mov dword [esi + 0x10], eax
je 0x564053
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 4], eax
lea eax, [edi + 1]
imul eax, edi
mov edx, eax
xor edx, 0xfffffffe
and edx, eax
setne al
sete cl
cmp dword [esi + 0x10], 0xa
setge ah
setl ch
xor ch, cl
or ah, al
xor ah, 1
or ah, ch
mov ecx, 0xfef5751f
mov eax, 0xff38d630
cmovne ecx, eax
mov ebx, 0xfef5751f
mov eax, 0x116ab669
cmovne ebx, eax
mov dword [esi + 0x30], ebx
mov eax, 0x17e23197
nop word [eax + eax]
cmp eax, 0xff38d62f
jg 0x563f60
cmp eax, 0x8e14a9ab
je 0x563fab
cmp eax, 0xae9be2ed
je 0x563f9a
cmp eax, 0xfef5751f
jne 0x563f30
mov eax, 0x116ab669
jmp 0x563fa1
cmp eax, 0xff38d630
je 0x563f93
cmp eax, 0x116ab669
je 0x563f9f
cmp eax, 0x17e23197
jne 0x563f30
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x14], 0x10
mov eax, 0x8e14a9ab
mov ebx, ecx
mov ecx, edi
mov edi, 0xae9be2ed
cmovae eax, edi
mov edi, ecx
mov ecx, ebx
jmp 0x563f30
mov eax, 0x8e14a9ab
jmp 0x563f30
mov eax, dword [esi + 0x30]
jmp 0x563f30
mov eax, ecx
mov ebx, dword [esi + 0x24]
mov ebx, dword [ebx]
mov dword [esi + 4], ebx
jmp 0x563f30
cmp byte [esi + 0x1c], 0
je 0x564060
mov edx, dword [esi + 0x70]
dec edx
mov eax, dword [esi + 4]
cmp byte [eax + edx], 0x6f
je 0x564123
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov edi, 0x17e23197
mov eax, dword [esi + 0x24]
nop word cs:[eax + eax]
cmp edi, 0xff38d62f
jg 0x564010
cmp edi, 0x8e14a9ab
je 0x564119
cmp edi, 0xae9be2ed
je 0x564045
cmp edi, 0xfef5751f
jne 0x563fe0
mov edi, 0x116ab669
jmp 0x56404c
cmp edi, 0xff38d630
je 0x56403e
cmp edi, 0x116ab669
je 0x56404a
cmp edi, 0x17e23197
jne 0x563fe0
mov edi, dword [esi + 0x24]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edi, ebx
jmp 0x563fe0
mov edi, 0x8e14a9ab
jmp 0x563fe0
mov edi, dword [esi + 0x30]
jmp 0x563fe0
mov edi, ecx
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
jmp 0x563fe0
lea eax, [edi + 1]
imul eax, edi
mov edx, eax
xor edx, 0xfffffffe
and edx, eax
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
test edx, edx
setne al
cmp dword [esi + 0x10], 0xa
setge cl
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
mov edx, 0x17e23197
jmp 0x5640b0
mov edx, 0x8e14a9ab
nop word cs:[eax + eax]
cmp edx, 0xff38d62f
jg 0x5640e0
cmp edx, 0x8e14a9ab
je 0x563ed3
cmp edx, 0xae9be2ed
je 0x56410e
cmp edx, 0xfef5751f
jne 0x5640b0
mov edx, dword [esi + 0x24]
mov edx, 0x116ab669
jmp 0x5640b0
cmp edx, 0xff38d630
je 0x5640a1
cmp edx, 0x116ab669
je 0x564112
cmp edx, 0x17e23197
jne 0x5640b0
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x5640b0
mov edx, ecx
jmp 0x5640b0
mov edx, dword [esi + 0x24]
mov edx, eax
jmp 0x5640b0
cmp byte [eax + edx], 0x75
jne 0x563e53
lea edi, [esi + 0x60]
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0xa8]
push eax
nop word [eax + eax]
call fcn.00432f10
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ch
xor ch, dl
jne 0x5641a8
or cl, al
test cl, 1
je 0x5641a8
lea edi, [esi + 0x60]
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
lea ebx, [esi + 0xa8]
push ebx
call fcn.00432f10
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
push ebx
jmp 0x564140
lea ecx, [esi + 0x34]
call fcn.00539cc0
mov ecx, dword [0x5c3fb8]
mov eax, dword [0x5c3fbc]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 0x7c]
mov ecx, 0x6ca8d283
mov edi, 0xe88306d3
cmove ecx, edi
cmp eax, 0xa
setl bh
setl byte [esi + 0x50]
mov eax, dword [esi + 0x34]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x30], eax
mov eax, 0x6ca8d283
cmovge ecx, eax
xor bh, bl
cmovne ecx, edi
mov edi, 0x243324be
cmp edi, 0x243324bd
jg 0x564220
cmp edi, 0x9538d02c
je 0x56425b
cmp edi, 0xe88306d3
jne 0x564200
jmp 0x564270
cmp edi, 0x6ca8d283
je 0x56425f
cmp edi, 0x243324be
jne 0x564200
movzx eax, byte [esi + 0x7c]
mov bh, byte [esi + 0x50]
mov bl, al
xor bl, bh
test bh, bh
mov edi, 0x6ca8d283
mov edx, 0x9538d02c
cmovne edi, edx
test al, al
mov eax, 0x6ca8d283
cmove edi, eax
test bl, bl
cmovne edi, edx
jmp 0x564200
mov edi, ecx
jmp 0x564200
mov edi, 0x9538d02c
jmp 0x564200
mov eax, dword [esi + 0x30]
cmp dword [esi + 4], eax
sete byte [esi + 0x24]
movzx eax, byte [esi + 0x24]
cmp al, 1
je 0x564388
mov eax, dword [0x5c3fc0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x5c3fc4]
sete byte [esi + 0x7c]
sete dl
mov ecx, 0x19354864
mov edi, 0x99b50cb6
cmove ecx, edi
cmp eax, 0xa
setl byte [esi + 0x50]
setl al
mov ebx, 0x19354864
cmovge ecx, ebx
xor al, dl
cmovne ecx, edi
mov edx, 0x78873f8d
nop dword [eax]
cmp edx, 0x6bae78ea
jg 0x5642f0
cmp edx, 0x99b50cb6
je 0x564330
cmp edx, 0x19354864
jne 0x5642d0
mov edx, 0x6bae78eb
jmp 0x5642d0
cmp edx, 0x6bae78eb
je 0x564327
cmp edx, 0x78873f8d
jne 0x5642d0
movzx eax, byte [esi + 0x7c]
movzx edx, byte [esi + 0x50]
mov ah, al
xor ah, dl
mov edi, 0x19354864
mov ebx, 0x6bae78eb
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x5642d0
mov edx, ecx
jmp 0x5642d0
mov eax, dword [esi + 4]
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x24]
movsx eax, byte [edi]
push eax
call fcn.00599035
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [edi], cl
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5641a0
or cl, al
je 0x5641a0
jmp 0x585b20
mov edx, dword [0x5c3fa8]
mov ecx, dword [0x5c3fac]
lea eax, [edx + 1]
mov dword [esi + 0x44], edx
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
mov dword [esi + 0x3c], ecx
cmp ecx, 0xa
setl cl
test cl, al
jne 0x563e53
xor cl, al
jne 0x563e53
jmp 0x585c40
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x5643e3
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
jmp 0x56445a
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
mov eax, dword [esi + 4]
nop dword [eax]
cmp edx, 0x1aabc940
jg 0x564480
cmp edx, 0x80dc4cc9
je 0x564497
cmp edx, 0x7f3e42f
jne 0x564460
jmp 0x564430
cmp edx, 0x1aabc941
je 0x5644a0
cmp edx, 0x5add25f0
jne 0x564460
mov edx, 0x80dc4cc9
jmp 0x564460
mov edx, ecx
jmp 0x564460
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x5645dd
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c3f64], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x5644e8
mov ebx, edi
sub ebx, edx
add eax, ebx
mov ebx, edi
sub ebx, edx
add eax, ebx
test cl, cl
je 0x5644e6
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
mov dword [esi + 4], eax
nop
cmp ecx, 0x3d9eb8cc
jg 0x564540
cmp ecx, 0x9f04b71e
je 0x5645a0
cmp ecx, 0xaf18808
jne 0x564520
jmp 0x5643e0
cmp ecx, 0x3d9eb8cd
je 0x5645cf
cmp ecx, 0x6301b93d
jne 0x564520
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x564520
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x564520
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x564520
cmp eax, 0x12345678
jne 0x5645ee
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c3fa0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c3fa4]
sete byte [esi + 0x24]
sete dl
mov eax, 0xf963c607
mov edi, 0x77192157
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov ebx, 0xf963c607
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xa0dba2a4
nop word cs:[eax + eax]
cmp ecx, 0x734bd94a
jle 0x56466a
cmp ecx, 0x734bd94b
je 0x564687
cmp ecx, 0x77192157
jne 0x564650
jmp 0x5646b8
cmp ecx, 0xa0dba2a4
je 0x564691
cmp ecx, 0xf963c607
jne 0x564650
mov word [esi + 8], 0x7a61
mov ecx, 0x734bd94b
jmp 0x564650
mov word [esi + 8], 0x7a61
mov ecx, eax
jmp 0x564650
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0xf963c607
mov ebx, 0x734bd94b
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x564650
lea ecx, [esi + 0x60]
call fcn.0040ab10
mov dword [esi + 0xf0], 0x76
xor eax, eax
jmp 0x5646dd
mov eax, dword [esi + 0x20]
inc eax
cmp eax, 0x3e8
je 0x564d4f
mov dword [esi + 0x20], eax
movsx eax, byte [esi + 9]
movsx edx, byte [esi + 8]
mov dword [esi + 0xf0], 0x76
lea ecx, [esi + 8]
push eax
push edx
lea eax, [esi + 0x14]
push eax
call fcn.0041c940
movsx eax, al
lea ecx, [esi + 0x60]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c3fa8]
mov edx, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x44], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
mov dword [esi + 0x3c], edx
cmp edx, 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov ecx, dword [0x5c3fb0]
mov eax, dword [0x5c3fb4]
mov dword [esi + 4], eax
mov dword [esi + 0x1c], ecx
jne 0x56480c
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
and edx, eax
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
test edx, edx
sete al
cmp dword [esi + 4], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
mov edx, 0x17e23197
jmp 0x5647a0
mov edx, 0x8e14a9ab
nop word [eax + eax]
cmp edx, 0xff38d62f
jg 0x5647d0
cmp edx, 0x8e14a9ab
je 0x564809
cmp edx, 0xae9be2ed
je 0x5647fe
cmp edx, 0xfef5751f
jne 0x5647a0
mov edx, dword [esi + 0x24]
mov edx, 0x116ab669
jmp 0x5647a0
cmp edx, 0xff38d630
je 0x564795
cmp edx, 0x116ab669
je 0x564802
cmp edx, 0x17e23197
jne 0x5647a0
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov edi, 0xae9be2ed
cmovae edx, edi
jmp 0x5647a0
mov edx, ecx
jmp 0x5647a0
mov edx, dword [esi + 0x24]
mov edx, eax
jmp 0x5647a0
mov ecx, dword [esi + 0x1c]
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
and edx, 1
sete cl
cmp dword [esi + 4], 0xa
setge ch
setl bl
xor bl, cl
mov edi, dword [esi + 0x24]
or ch, al
not ch
or ch, bl
test ch, 1
mov ebx, 0xfef5751f
mov eax, 0xff38d630
cmovne ebx, eax
mov ecx, 0xfef5751f
mov eax, 0x116ab669
cmovne ecx, eax
mov eax, 0x17e23197
nop word [eax + eax]
cmp eax, 0xff38d62f
jg 0x564890
cmp eax, 0x8e14a9ab
je 0x5648e4
cmp eax, 0xae9be2ed
je 0x5648d4
cmp eax, 0xfef5751f
jne 0x564860
mov eax, 0x116ab669
jmp 0x5648da
cmp eax, 0xff38d630
je 0x5648cd
cmp eax, 0x116ab669
je 0x5648d8
cmp eax, 0x17e23197
jne 0x564860
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x14], 0x10
mov eax, 0x8e14a9ab
mov dword [esi + 0x30], edx
mov edx, edi
mov edi, ecx
mov ecx, ebx
mov ebx, 0xae9be2ed
cmovae eax, ebx
mov ebx, ecx
mov ecx, edi
mov edi, edx
mov edx, dword [esi + 0x30]
jmp 0x564860
mov eax, 0x8e14a9ab
jmp 0x564860
mov eax, ecx
jmp 0x564860
mov eax, ebx
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x564860
cmp byte [esi + 0x10], 0
je 0x56475d
mov edx, dword [esi + 0x70]
dec edx
cmp byte [edi + edx], 0x6f
je 0x56499a
lea eax, [esi + 0x60]
mov dword [esi + 0x24], eax
mov edi, 0x17e23197
mov eax, dword [esi + 0x24]
nop word [eax + eax]
cmp edi, 0xff38d62f
jg 0x564940
cmp edi, 0x8e14a9ab
je 0x564990
cmp edi, 0xae9be2ed
je 0x564983
cmp edi, 0xfef5751f
jne 0x564910
mov edi, 0x116ab669
jmp 0x564989
cmp edi, 0xff38d630
je 0x56497c
cmp edi, 0x116ab669
je 0x564987
cmp edi, 0x17e23197
jne 0x564910
mov edi, dword [esi + 0x24]
cmp dword [edi + 0x14], 0x10
mov edi, 0x8e14a9ab
mov dword [esi + 4], eax
mov eax, ecx
mov ecx, ebx
mov ebx, 0xae9be2ed
cmovae edi, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esi + 4]
jmp 0x564910
mov edi, 0x8e14a9ab
jmp 0x564910
mov edi, ecx
jmp 0x564910
mov edi, ebx
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
jmp 0x564910
cmp byte [eax + edx], 0x75
jne 0x5646ce
lea edi, [esi + 0x60]
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
lea eax, [esi + 0xa8]
push eax
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
nop dword [eax + eax]
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x564a38
xor cl, al
jne 0x564a38
lea edi, [esi + 0x60]
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
lea ebx, [esi + 0xa8]
push ebx
call fcn.00432f10
mov ecx, edi
lea eax, [esi + 0x34]
push eax
call fcn.00432d20
mov ecx, edi
push ebx
call fcn.00432f10
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x5649d0
lea ecx, [esi + 0x34]
call fcn.00539cc0
mov edx, dword [0x5c3fb8]
mov eax, dword [0x5c3fbc]
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, 0x6ca8d283
mov ebx, 0xe88306d3
cmovne edi, ebx
test edx, ecx
sete byte [esi + 0x7c]
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
setl byte [esi + 0x50]
mov eax, dword [esi + 0x34]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x30], eax
cmovge ecx, edi
mov edi, 0x243324be
nop word cs:[eax + eax]
cmp edi, 0x243324bd
jg 0x564ac0
cmp edi, 0x9538d02c
je 0x564afb
cmp edi, 0xe88306d3
jne 0x564aa0
jmp 0x564b10
cmp edi, 0x6ca8d283
je 0x564aff
cmp edi, 0x243324be
jne 0x564aa0
movzx eax, byte [esi + 0x7c]
mov bh, byte [esi + 0x50]
mov bl, al
xor bl, bh
mov edx, 0x6ca8d283
mov edi, 0x9538d02c
cmovne edx, edi
test bh, bh
mov edi, edx
mov ebx, 0x9538d02c
cmovne edi, ebx
test al, al
cmove edi, edx
jmp 0x564aa0
mov edi, ecx
jmp 0x564aa0
mov edi, 0x9538d02c
jmp 0x564aa0
mov eax, dword [esi + 0x30]
cmp dword [esi + 4], eax
sete byte [esi + 0x24]
movzx eax, byte [esi + 0x24]
cmp al, 1
je 0x564c23
mov eax, dword [0x5c3fc0]
mov edx, dword [0x5c3fc4]
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, 0x19354864
mov ebx, 0x99b50cb6
cmovne edi, ebx
test eax, ecx
sete byte [esi + 0x7c]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 0x50]
cmovge ecx, edi
mov edx, 0x78873f8d
cmp edx, 0x6bae78ea
jg 0x564b90
cmp edx, 0x99b50cb6
je 0x564bd0
cmp edx, 0x19354864
jne 0x564b70
mov edx, 0x6bae78eb
jmp 0x564b70
cmp edx, 0x6bae78eb
je 0x564bc7
cmp edx, 0x78873f8d
jne 0x564b70
movzx eax, byte [esi + 0x7c]
movzx edx, byte [esi + 0x50]
mov ah, al
xor ah, dl
mov edi, 0x19354864
mov ebx, 0x6bae78eb
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x564b70
mov edx, ecx
jmp 0x564b70
mov eax, dword [esi + 4]
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x24]
movsx eax, byte [edi]
push eax
call fcn.00599035
add esp, 4
and al, 0xa
mov byte [edi], al
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ah
xor ah, dl
jne 0x564a30
or cl, al
je 0x564a30
jmp 0x585b30
mov ecx, dword [0x5c3fa8]
mov edi, dword [0x5c3fac]
lea eax, [ecx + 1]
mov dword [esi + 0x44], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
setne al
mov dword [esi + 0x3c], edi
cmp edi, 0xa
setl ah
setge cl
cmp ah, dl
jne 0x5646ce
or cl, al
je 0x5646ce
jmp 0x585c50
mov ecx, dword [esi + 0x44]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp dword [esi + 0x3c], 0xa
setl cl
test cl, al
jne 0x564c8c
xor cl, al
je 0x585ccc
mov eax, dword [0x5c3fb0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete cl
cmp dword [0x5c3fb4], 0xa
setge dl
setl ah
xor ah, cl
or dl, al
xor dl, 1
or dl, ah
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
lea edx, [esi + 0x60]
mov dword [esi + 0x24], edx
mov edx, 0x17e23197
mov edi, dword [esi + 0x24]
cmp edx, 0xff38d62f
jg 0x564d0d
cmp edx, 0x8e14a9ab
je 0x564e32
cmp edx, 0xae9be2ed
je 0x564d42
cmp edx, 0xfef5751f
jne 0x564ce2
mov edx, 0x116ab669
jmp 0x564d48
cmp edx, 0xff38d630
je 0x564d3b
cmp edx, 0x116ab669
je 0x564d46
cmp edx, 0x17e23197
jne 0x564ce2
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x564ce2
mov edx, 0x8e14a9ab
jmp 0x564ce2
mov edx, ecx
jmp 0x564ce2
mov edx, eax
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x564ce2
mov ecx, dword [esi + 0x44]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne al
sete dl
cmp dword [esi + 0x3c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x564d7b
or cl, al
jne 0x585cc8
mov eax, dword [0x5c3fb0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fb4], 0xa
setl cl
or cl, al
mov eax, 0xfef5751f
mov ecx, 0xff38d630
cmovne eax, ecx
mov ecx, 0xfef5751f
mov edx, 0x116ab669
cmovne ecx, edx
lea edx, [esi + 0x60]
mov dword [esi + 0x24], edx
mov edx, 0x17e23197
mov edi, dword [esi + 0x24]
cmp edx, 0xff38d62f
jg 0x564df0
cmp edx, 0x8e14a9ab
je 0x564eba
cmp edx, 0xae9be2ed
je 0x564e25
cmp edx, 0xfef5751f
jne 0x564dc5
mov edx, 0x116ab669
jmp 0x564e2b
cmp edx, 0xff38d630
je 0x564e1e
cmp edx, 0x116ab669
je 0x564e29
cmp edx, 0x17e23197
jne 0x564dc5
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x564dc5
mov edx, 0x8e14a9ab
jmp 0x564dc5
mov edx, ecx
jmp 0x564dc5
mov edx, eax
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x564dc5
cmp byte [edi + 0xd7], 0x31
jne 0x564fb8
lea edx, [esi + 0x60]
mov dword [esi + 0x24], edx
mov edx, 0x17e23197
mov edi, dword [esi + 0x24]
cmp edx, 0xff38d62f
jg 0x564e78
cmp edx, 0x8e14a9ab
je 0x564f42
cmp edx, 0xae9be2ed
je 0x564ead
cmp edx, 0xfef5751f
jne 0x564e4d
mov edx, 0x116ab669
jmp 0x564eb3
cmp edx, 0xff38d630
je 0x564ea6
cmp edx, 0x116ab669
je 0x564eb1
cmp edx, 0x17e23197
jne 0x564e4d
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x564e4d
mov edx, 0x8e14a9ab
jmp 0x564e4d
mov edx, ecx
jmp 0x564e4d
mov edx, eax
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x564e4d
cmp byte [edi + 0xd7], 0x31
jne 0x575498
lea edx, [esi + 0x60]
mov dword [esi + 0x24], edx
mov edx, 0x17e23197
mov edi, dword [esi + 0x24]
cmp edx, 0xff38d62f
jg 0x564f00
cmp edx, 0x8e14a9ab
je 0x57541f
cmp edx, 0xae9be2ed
je 0x564f35
cmp edx, 0xfef5751f
jne 0x564ed5
mov edx, 0x116ab669
jmp 0x564f3b
cmp edx, 0xff38d630
je 0x564f2e
cmp edx, 0x116ab669
je 0x564f39
cmp edx, 0x17e23197
jne 0x564ed5
mov edx, dword [esi + 0x24]
cmp dword [edx + 0x14], 0x10
mov edx, 0x8e14a9ab
mov ebx, 0xae9be2ed
cmovae edx, ebx
jmp 0x564ed5
mov edx, 0x8e14a9ab
jmp 0x564ed5
mov edx, ecx
jmp 0x564ed5
mov edx, eax
mov edi, dword [esi + 0x24]
mov edi, dword [edi]
jmp 0x564ed5
cmp byte [edi + 0x2d0], 0x30
jne 0x564fb8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setge cl
setl ch
xor ch, dl
jne 0x564fb8
or cl, al
test cl, 1
je 0x564fb8
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov eax, dword [0x5c3fa8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x564fb8
xor cl, al
je 0x564f7e
lea ecx, [esi + 0x60]
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x56500d
xor cl, al
jne 0x56500d
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0040ae90
mov ecx, edi
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
jmp 0x564fd3
mov eax, dword [0x5c69a0]
mov ecx, dword [0x5c69a4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xce]
cmp ecx, 0xa
setl byte [esi + 0xcf]
mov eax, 0xbfdf2516
mov edi, 0x52b7e1e4
cmp eax, 0xd6670775
jg 0x56508c
cmp eax, 0xbd026deb
je 0x5858fb
cmp eax, 0xbfdf2516
jne 0x565041
movzx ecx, byte [esi + 0xce]
movzx eax, byte [esi + 0xcf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x7ef29a83
mov ebx, 0xd6670776
cmovne eax, ebx
test cl, cl
mov ecx, 0x7ef29a83
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x565041
cmp eax, 0xd6670776
je 0x565ee1
cmp eax, 0x7ef29a83
jne 0x565041
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x30], al
push eax
sub esp, 8
mov dword [esi + 0x10], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
cmp byte [esi + 0x30], 0
je 0x5650d4
mov dword [esi + 0x3c], eax
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x88], edi
lea eax, [edx + 0x10]
mov dword [esi + 0xb4], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0xb0], eax
mov edi, 0xa
mov dword [esi + 0xb8], edx
mov dword [esi + 0x8c], ebx
cmp edi, 0x1f3
mov eax, dword [esi + 0x10]
ja 0x566d05
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [edi + 1]
imul edi, eax
shr edi, 1
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x1c], eax
mov dword [esi + 0x30], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x98], eax
mov ebx, dword [0x5c4084]
mov dword [esi + 0xa0], edi
mov ecx, dword [esi + 0x98]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x84], ecx
sete al
cmp ebx, 0xa
setl cl
test cl, al
jne 0x5651c2
xor cl, al
je 0x585c8c
mov dword [esi + 0x9c], ebx
mov edx, dword [esi + 0x1c]
mov eax, edx
imul eax, dword [esi + 0x30]
mulx ecx, ebx, edx
add eax, eax
add eax, ecx
cmp ebx, edi
sbb eax, 0
jae 0x5658ac
sub edi, edx
mov dword [esi + 0x48], edi
mov edi, edx
mov ecx, 0
mov ebx, dword [esi + 0x30]
sbb ecx, ebx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x1c], edx
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push dword [esi + 0x48]
call fcn.005893d0
mov dword [esi + 0x80], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x4c], edx
mov dword [esi + 0x58], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x80]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x48]
sub ecx, dword [esi + 0x4c]
mov edi, dword [esi + 0x5c]
sbb edi, edx
or edi, ecx
mov edi, dword [esi + 0x44]
mov ebx, dword [esi + 0x9c]
mov ecx, dword [esi + 0x84]
jne 0x56585e
mov edx, dword [esi + 0xb8]
mov ecx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x30]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x58]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x80]
mov dword [edx + 0xc], eax
mov dword [esi + 0xf0], 0xca
mov ecx, dword [esi + 4]
push edi
push dword [esi + 0xb4]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x10]
cmp ebx, 0x1583cd3a
jg 0x5652e3
cmp ebx, 0xb018ea81
je 0x565370
cmp ebx, 0xf7175d7a
jne 0x5652c2
jmp 0x56538c
cmp ebx, 0x1583cd3b
je 0x56531a
cmp ebx, 0x5a1cc736
jne 0x5652c2
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x5652bf
mov dword [esi + 0xf0], 0xcc
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
mov ebx, ecx
cmp eax, 0xa
cmovge ebx, edi
jmp 0x5652bf
mov dword [esi + 0xf0], 0xcc
push dword [esi + 4]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x5652bf
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5653bd
or cl, al
jne 0x565505
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
mov ebx, dword [esi + 0x58]
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov edi, dword [esi + 0x88]
mov ecx, 0xf2325ac5
mov edx, dword [esi + 0x30]
cmp ecx, 0x46df2eda
jle 0x56542e
cmp ecx, 0x46df2edb
je 0x565476
cmp ecx, 0x766d7330
jne 0x565414
jmp 0x565481
cmp ecx, 0x80c66156
je 0x56547a
cmp ecx, 0xf2325ac5
jne 0x565414
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x88]
test dh, dh
mov edx, dword [esi + 0x30]
cmovne ecx, ebx
mov ebx, dword [esi + 0x58]
jmp 0x565414
mov ecx, eax
jmp 0x565414
mov ecx, 0x46df2edb
jmp 0x565414
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5654bc
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x30]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x8c]
mov dword [eax], ebx
mov ecx, dword [esi + 0x80]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x565618
xor cl, al
jne 0x565618
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
mov ebx, dword [esi + 0x58]
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x30]
jmp 0x56555b
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x565575
cmp ecx, 0x46df2edb
je 0x565559
cmp ecx, 0x766d7330
jne 0x56555b
jmp 0x5655c1
cmp ecx, 0x80c66156
je 0x5655ba
cmp ecx, 0xf2325ac5
jne 0x56555b
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x1c]
test dh, dh
mov edx, dword [esi + 0x30]
cmovne ecx, ebx
mov ebx, dword [esi + 0x58]
jmp 0x56555b
mov ecx, 0x46df2edb
jmp 0x56555b
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5655fc
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x30]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x8c]
mov dword [eax], ebx
mov ecx, dword [esi + 0x80]
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
jmp 0x5653bd
mov dword [esi + 0xf0], 0xca
mov ecx, dword [esi + 0x20]
push edi
push dword [esi + 0xb0]
push dword [esi + 0x8c]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x565662
xor cl, al
je 0x585cbe
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov edi, 0x5a1cc736
mov ecx, dword [esi + 0x10]
cmp edi, 0x1583cd3a
jg 0x5656af
cmp edi, 0xb018ea81
je 0x565741
cmp edi, 0xf7175d7a
jne 0x56568e
jmp 0x56575d
cmp edi, 0x1583cd3b
je 0x5656eb
cmp edi, 0x5a1cc736
jne 0x56568e
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x56568b
mov dword [esi + 0xf0], 0xcb
push dword [esi + 0x20]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov edi, ecx
jmp 0x56568b
mov dword [esi + 0xf0], 0xcb
push dword [esi + 0x20]
call fcn.004330f0
mov edi, 0x1583cd3b
jmp 0x56568b
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5657c0
cmp ecx, 0x46df2edb
je 0x5657fc
cmp ecx, 0x766d7330
jne 0x5657a6
jmp 0x565807
cmp ecx, 0x80c66156
je 0x565800
cmp ecx, 0xf2325ac5
jne 0x5657a6
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5657a6
mov ecx, eax
jmp 0x5657a6
mov ecx, 0x46df2edb
jmp 0x5657a6
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56583f
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [0x5c4080]
mov ebx, dword [0x5c4084]
lea eax, [ecx + 1]
mov dword [esi + 0x98], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
test ecx, ecx
sete al
setne byte [esi + 0x58]
cmp ebx, 0xa
setl ah
setge byte [esi + 0x80]
mov edx, dword [esi + 0x78]
mov dword [esi + 0x1c], edx
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x30], ecx
cmp al, ah
mov edi, dword [esi + 0xa0]
jne 0x565194
movzx eax, byte [esi + 0x80]
or byte [esi + 0x58], al
mov dword [esi + 0x1c], edx
mov dword [esi + 0x30], ecx
je 0x565194
jmp 0x585ca0
mov ebx, 1
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edi, ebx
mov dword [esi + 0x4c], ebx
cmp ebx, ecx
jb 0x5658e6
jmp 0x565be6
mov dword [esi + 0x9c], edi
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x565bb8
mov eax, dword [0x5c4098]
mov edx, dword [0x5c409c]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x58], ecx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov ecx, 0x7862661b
cmove ebx, ecx
mov dword [esi + 0x1c], edx
cmp edx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
lea edx, [edi + edi*2]
mov dword [esi + 0x48], eax
lea eax, [eax + edx*4]
mov dword [esi + 0x80], eax
cmovne ebx, ecx
mov dword [esi + 0x30], ebx
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x565961
cmp edx, 0x6675f964
je 0x5659a6
cmp edx, 0x7862661b
jne 0x565947
jmp 0x5659b2
cmp edx, 0xd0a3dc29
je 0x5659ad
cmp edx, 0xd6d6a098
jne 0x565947
mov ebx, edi
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne edx, edi
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
mov edi, ebx
mov eax, 0xd0a3dc29
cmovne edx, eax
jmp 0x565947
mov edx, 0xd0a3dc29
jmp 0x565947
mov edx, dword [esi + 0x30]
jmp 0x565947
dec edi
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0x80]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [esi + 0x84], ecx
mov edx, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x5c], edi
lea eax, [edi + edi*2]
mov ecx, dword [esi + 0x48]
lea eax, [ecx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x565a07
cmp eax, 0x6675f964
je 0x565a4a
cmp eax, 0x7862661b
jne 0x5659f0
jmp 0x565a56
cmp eax, 0xd0a3dc29
je 0x565a51
cmp eax, 0xd6d6a098
jne 0x5659f0
mov ecx, edx
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
mov edx, ecx
mov ecx, 0xd0a3dc29
cmovne eax, ecx
jmp 0x5659f0
mov eax, 0xd0a3dc29
jmp 0x5659f0
mov eax, dword [esi + 0x30]
jmp 0x5659f0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x84]
cmp ecx, dword [eax]
sbb edx, dword [eax + 4]
jge 0x565ba5
cmp dword [esi + 0x58], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x565a9e
cmp eax, 0x6675f964
je 0x565ad8
cmp eax, 0x7862661b
jne 0x565a87
jmp 0x565ae4
cmp eax, 0xd0a3dc29
je 0x565adf
cmp eax, 0xd6d6a098
jne 0x565a87
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x565a87
mov eax, 0xd0a3dc29
jmp 0x565a87
mov eax, dword [esi + 0x30]
jmp 0x565a87
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x565b19
cmp eax, 0x6675f964
je 0x565b4e
cmp eax, 0x7862661b
jne 0x565b02
jmp 0x565b5a
cmp eax, 0xd0a3dc29
je 0x565b55
cmp eax, 0xd6d6a098
jne 0x565b02
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test cl, cl
cmove eax, edi
jmp 0x565b02
mov eax, 0xd0a3dc29
jmp 0x565b02
mov eax, dword [esi + 0x30]
jmp 0x565b02
mov eax, dword [esi + 0x80]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edx
call fcn.00434540
mov ecx, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea eax, [ecx - 1]
mov dword [esi + 0x98], ecx
imul eax, ecx
and eax, 1
sete cl
cmp edi, 0xa
setl dl
test dl, cl
jne 0x5658d5
xor dl, cl
jne 0x5658d5
jmp 0x585cb0
mov eax, dword [esi + 0x98]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov ebx, dword [esi + 0x4c]
inc ebx
test eax, eax
setne al
sete dl
cmp dword [esi + 0x9c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5658b1
or al, cl
je 0x5658b1
jmp 0x585cd4
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x565bf5
mov eax, dword [esi + 0x60]
mov eax, dword [ebx]
cmp eax, dword [esi + 0x1c]
je 0x565ece
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
mov edi, dword [esi + 0x3c]
je 0x565df1
mov edx, dword [eax]
mov dword [edi], edx
test cl, 1
je 0x565df1
mov eax, dword [eax + 4]
mov dword [esi + 0x30], eax
jmp 0x565c4a
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c40a4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov edi, 0x3365058b
cmovge eax, edi
xor cl, dl
cmovne eax, ebx
mov ecx, 0x52166c0c
jmp 0x565cb9
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
mov ebx, dword [esi + 0x3c]
cmp ecx, 0x52166c0b
jg 0x565cdb
cmp ecx, 0xc1fd3d12
je 0x565cf1
cmp ecx, 0x3365058b
jne 0x565cbc
mov ecx, 0x7b4463f8
jmp 0x565cbc
cmp ecx, 0x7b4463f8
je 0x565ced
cmp ecx, 0x52166c0c
jne 0x565cbc
jmp 0x565c94
mov ecx, eax
jmp 0x565cbc
mov eax, dword [ebx]
cmp eax, dword [esi + 0x30]
je 0x565dfa
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 0x565d1d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x565d64
cmp eax, 0xc76c0d8d
je 0x565da2
cmp eax, 0x1f2e313
jne 0x565d45
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x565d45
cmp eax, 0x590bba57
je 0x565c47
cmp eax, 0x74ccc71d
jne 0x565d45
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x565d45
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
mov ebx, dword [esi + 0x3c]
jmp 0x565d45
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x565c32
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
mov ebx, dword [esi + 0xa4]
cmp eax, 0x3e63df80
jle 0x565e43
cmp eax, 0x3e63df81
je 0x565e5b
cmp eax, 0x5632c42c
jne 0x565e29
jmp 0x565bf0
cmp eax, 0x1d5864bd
je 0x565e9f
cmp eax, 0x3ce7f0d1
jne 0x565e29
add dword [ebx], 0xc
mov eax, 0x3e63df81
jmp 0x565e29
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x565e29
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x565e29
mov ecx, dword [esi + 0x10]
call fcn.0041e120
mov edi, dword [esi + 0xbc]
jmp 0x565140
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0x3c], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
cmp byte [esi + 0x10], 0
je 0x565f0c
mov dword [esi + 0x80], edx
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x88], eax
lea eax, [edi + 0x10]
mov dword [esi + 0xb4], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
mov dword [esi + 0xb8], edi
mov dword [esi + 0x8c], ebx
cmp ecx, 0x1f3
mov eax, dword [esi + 0x30]
ja 0x567c41
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x84], eax
mov ebx, dword [0x5c4084]
mov ecx, dword [esi + 0x84]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x98], ecx
sete al
mov dword [esi + 0x48], ebx
cmp ebx, 0xa
setl cl
test cl, al
jne 0x566000
xor cl, al
je 0x585c8e
mov edx, dword [esi + 0x1c]
mov eax, edx
imul eax, dword [esi + 0x20]
mulx ecx, edi, edx
add eax, eax
add eax, ecx
mov ebx, dword [esi + 0xa0]
cmp edi, ebx
sbb eax, 0
jae 0x5666b6
sub ebx, edx
mov dword [esi + 0x9c], ebx
mov edi, edx
mov ecx, 0
mov ebx, dword [esi + 0x20]
sbb ecx, ebx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x1c], edx
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push dword [esi + 0x9c]
call fcn.005893d0
mov dword [esi + 0x10], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x4c], edx
mov dword [esi + 0x44], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x9c]
sub ecx, dword [esi + 0x4c]
mov edi, dword [esi + 0x5c]
sbb edi, edx
or edi, ecx
mov edx, dword [esi + 0xb8]
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x98]
jne 0x566681
mov ecx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x20]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x44]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0xc], eax
mov dword [esi + 0xf0], 0xb0
mov ecx, dword [esi + 4]
push dword [esi + 0x58]
push dword [esi + 0xb4]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp ebx, 0x1583cd3a
jg 0x56611d
cmp ebx, 0xb018ea81
je 0x5661a5
cmp ebx, 0xf7175d7a
jne 0x5660fc
jmp 0x5661c1
cmp ebx, 0x1583cd3b
je 0x566154
cmp ebx, 0x5a1cc736
jne 0x5660fc
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x5660f9
mov dword [esi + 0xf0], 0xb2
push dword [esi + 4]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ebx, 0xb018ea81
mov edx, 0xf7175d7a
cmove ebx, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x5660f9
mov dword [esi + 0xf0], 0xb2
push dword [esi + 4]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x5660f9
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5661f2
or cl, al
jne 0x566336
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
mov ebx, dword [esi + 0x88]
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
mov edi, dword [esi + 0x44]
mov edx, dword [esi + 0x10]
cmp ecx, 0x46df2eda
jle 0x566261
cmp ecx, 0x46df2edb
je 0x5662a9
cmp ecx, 0x766d7330
jne 0x566247
jmp 0x5662b4
cmp ecx, 0x80c66156
je 0x5662ad
cmp ecx, 0xf2325ac5
jne 0x566247
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x44]
test dh, dh
mov edx, dword [esi + 0x10]
cmovne ecx, ebx
mov ebx, dword [esi + 0x88]
jmp 0x566247
mov ecx, eax
jmp 0x566247
mov ecx, 0x46df2edb
jmp 0x566247
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5662ef
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [esi + 0x8c]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esi + 0x1c]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x20]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x566446
xor cl, al
jne 0x566446
mov eax, dword [0x5c4090]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x10]
jmp 0x56638c
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x5663a6
cmp ecx, 0x46df2edb
je 0x56638a
cmp ecx, 0x766d7330
jne 0x56638c
jmp 0x5663f2
cmp ecx, 0x80c66156
je 0x5663eb
cmp ecx, 0xf2325ac5
jne 0x56638c
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
mov edx, dword [esi + 0x10]
cmovne ecx, ebx
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
jmp 0x56638c
mov ecx, 0x46df2edb
jmp 0x56638c
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56642d
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
jmp 0x5661f2
mov dword [esi + 0xf0], 0xb0
mov ecx, dword [esi + 0x3c]
push ebx
push dword [esi + 0xb0]
push dword [esi + 0x8c]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x566490
xor cl, al
je 0x585cb6
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov edi, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp edi, 0x1583cd3a
jg 0x5664dc
cmp edi, 0xb018ea81
je 0x566565
cmp edi, 0xf7175d7a
jne 0x5664bb
jmp 0x566581
cmp edi, 0x1583cd3b
je 0x566515
cmp edi, 0x5a1cc736
jne 0x5664bb
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
mov edi, ecx
test al, al
cmove edi, edx
jmp 0x5664b8
mov dword [esi + 0xf0], 0xb1
push dword [esi + 0x3c]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x5664b8
mov dword [esi + 0xf0], 0xb1
push dword [esi + 0x3c]
call fcn.004330f0
mov edi, 0x1583cd3b
jmp 0x5664b8
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5665e8
cmp ecx, 0x46df2edb
je 0x566624
cmp ecx, 0x766d7330
jne 0x5665ce
jmp 0x56662f
cmp ecx, 0x80c66156
je 0x566628
cmp ecx, 0xf2325ac5
jne 0x5665ce
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5665ce
mov ecx, eax
jmp 0x5665ce
mov ecx, 0x46df2edb
jmp 0x5665ce
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x566667
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x3c]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
mov ebx, dword [0x5c4084]
lea ecx, [eax - 1]
mov dword [esi + 0x84], eax
imul ecx, eax
and ecx, 1
test ecx, ecx
sete al
cmp ebx, 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x1c], edx
mov edi, dword [esi + 0x90]
mov dword [esi + 0x20], edi
test al, cl
jne 0x565fcf
xor al, cl
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], edi
jne 0x565fcf
jmp 0x585c98
mov dword [esi + 0x78], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x78]
mov dword [esi + 0x44], edx
cmp edx, ecx
jb 0x5666ec
jmp 0x566a04
cmp dword [esi + 0x44], 0
je 0x5669da
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edi
test edi, ecx
sete byte [esi + 0x34]
mov ecx, eax
cmove ecx, edx
mov dword [esi + 0x10], ebx
cmp ebx, 0xa
cmovge ecx, eax
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov ebx, dword [eax]
mov edi, dword [esi + 0x44]
lea edx, [edi + edi*2]
lea eax, [ebx + edx*4]
mov dword [esi + 0x9c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x56676d
cmp edx, 0x6675f964
je 0x5667bc
cmp edx, 0x7862661b
jne 0x566753
jmp 0x5667c7
cmp edx, 0xd0a3dc29
je 0x5667c3
cmp edx, 0xd6d6a098
jne 0x566753
mov dword [esi + 0x44], ebx
mov ebx, ecx
mov ecx, edi
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne edx, edi
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
mov edi, ecx
mov ecx, ebx
mov ebx, dword [esi + 0x44]
mov eax, 0xd0a3dc29
cmovne edx, eax
jmp 0x566753
mov edx, 0xd0a3dc29
jmp 0x566753
mov edx, ecx
jmp 0x566753
dec edi
mov eax, dword [esi + 0x20]
test dword [esi + 0x1c], eax
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x5c], edx
mov edx, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x44], edi
lea eax, [edi + edi*2]
lea eax, [ebx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56681b
cmp eax, 0x6675f964
je 0x566856
cmp eax, 0x7862661b
jne 0x566804
jmp 0x566861
cmp eax, 0xd0a3dc29
je 0x56685d
cmp eax, 0xd6d6a098
jne 0x566804
mov dword [esi + 0x4c], edx
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
mov edx, dword [esi + 0x4c]
cmove eax, edi
jmp 0x566804
mov eax, 0xd0a3dc29
jmp 0x566804
mov eax, ecx
jmp 0x566804
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [esi + 0x5c]
cmp edi, dword [eax]
sbb edx, dword [eax + 4]
jge 0x5669cb
mov eax, dword [esi + 0x20]
test dword [esi + 0x1c], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x5668ae
cmp edx, 0x6675f964
je 0x5668ea
cmp edx, 0x7862661b
jne 0x566894
jmp 0x5668f5
cmp edx, 0xd0a3dc29
je 0x5668f1
cmp edx, 0xd6d6a098
jne 0x566894
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edx, ebx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x566894
mov edx, 0xd0a3dc29
jmp 0x566894
mov edx, ecx
jmp 0x566894
mov dword [esi + 0x48], ecx
mov eax, dword [esi + 0x20]
test dword [esi + 0x1c], eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x566935
cmp ecx, 0x6675f964
je 0x566971
cmp ecx, 0x7862661b
jne 0x56691b
jmp 0x56697d
cmp ecx, 0xd0a3dc29
je 0x566978
cmp ecx, 0xd6d6a098
jne 0x56691b
movzx eax, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ah, al
xor ah, cl
test cl, cl
mov ecx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne ecx, ebx
test al, al
mov edi, 0x6675f964
cmove ecx, edi
test ah, ah
cmovne ecx, ebx
jmp 0x56691b
mov ecx, 0xd0a3dc29
jmp 0x56691b
mov ecx, dword [esi + 0x48]
jmp 0x56691b
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edx
call fcn.00434540
mov ecx, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea eax, [ecx + 1]
mov dword [esi + 0x84], ecx
imul eax, ecx
and eax, 1
sete cl
mov dword [esi + 0x48], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x5666e2
xor dl, cl
jne 0x5666e2
jmp 0x585cae
mov ecx, dword [esi + 0x84]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x78]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x48], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5666bd
or al, cl
je 0x5666bd
jmp 0x585cd8
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x566a13
mov eax, dword [esi + 0x60]
mov eax, dword [ebx]
cmp eax, dword [esi + 0x1c]
je 0x566cf2
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
mov edi, dword [esi + 0x80]
jne 0x566c0f
mov edx, dword [eax]
mov dword [edi], edx
test cl, cl
je 0x566c0f
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x566a64
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
jmp 0x566ad4
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
mov ebx, dword [esi + 0x80]
cmp ecx, 0x52166c0b
jg 0x566af9
cmp ecx, 0xc1fd3d12
je 0x566b0f
cmp ecx, 0x3365058b
jne 0x566ada
mov ecx, 0x7b4463f8
jmp 0x566ada
cmp ecx, 0x7b4463f8
je 0x566b0b
cmp ecx, 0x52166c0c
jne 0x566ada
jmp 0x566aaf
mov ecx, eax
jmp 0x566ada
mov eax, dword [ebx]
cmp eax, dword [esi + 0x10]
je 0x566c18
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 0x566b3b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x566b83
cmp eax, 0xc76c0d8d
je 0x566bc1
cmp eax, 0x1f2e313
jne 0x566b64
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x566b64
cmp eax, 0x590bba57
je 0x566a61
cmp eax, 0x74ccc71d
jne 0x566b64
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x566b64
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x566b64
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x566a4d
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
mov ebx, dword [esi + 0xa4]
cmp eax, 0x3e63df80
jle 0x566c60
cmp eax, 0x3e63df81
je 0x566c78
cmp eax, 0x5632c42c
jne 0x566c46
jmp 0x566a0e
cmp eax, 0x1d5864bd
je 0x566cc3
cmp eax, 0x3ce7f0d1
jne 0x566c46
add dword [ebx], 0xc
mov eax, 0x3e63df81
jmp 0x566c46
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov edi, 0x5632c42c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x566c46
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x566c46
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
jmp 0x565f7b
mov esp, dword [esi + 0xc0]
mov dword [esi + 0xd0], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x566d3b
mov dword [esi + 0x58], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa0], edi
lea eax, [edi + 0x10]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x88], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x567b68
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x5c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x5c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x80], ecx
sete dl
cmp dword [esi + 0x48], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x566e27
or cl, al
test cl, 1
jne 0x585ce8
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x4c]
sbb eax, 0
jae 0x567504
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x10]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x90], eax
mov eax, 0
mov ebx, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x78], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x3c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x8c], edx
mov dword [esi + 0x9c], eax
mov edx, eax
mov dword [esi + 0x84], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x98], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x90]
sub eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x78]
sbb ecx, edx
or ecx, eax
jne 0x5674b4
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xcd
mov ecx, dword [esi + 4]
push dword [esi + 0x44]
push dword [esi + 0xb8]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x80], 0x5a1cc736
mov eax, dword [esi + 0x80]
cmp eax, 0x1583cd3a
jg 0x566f45
cmp eax, 0xb018ea81
je 0x566f80
cmp eax, 0xf7175d7a
jne 0x566f2b
jmp 0x567000
cmp eax, 0x1583cd3b
je 0x566fa1
cmp eax, 0x5a1cc736
jne 0x566f2b
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x566f25
mov dword [esi + 0xf0], 0xcf
mov dword [esi + 0x80], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
jmp 0x566f25
mov dword [esi + 0xf0], 0xcf
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x566f25
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x567031
or cl, al
jne 0x567164
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x567098
cmp ecx, 0x46df2edb
je 0x5670cf
cmp ecx, 0x766d7330
jne 0x56707e
jmp 0x5670da
cmp ecx, 0x80c66156
je 0x5670d3
cmp ecx, 0xf2325ac5
jne 0x56707e
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56707e
mov ecx, eax
jmp 0x56707e
mov ecx, 0x46df2edb
jmp 0x56707e
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56710f
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x88]
mov eax, dword [esi + 0x9c]
mov dword [edi], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x1c]
mov dword [edi + 0xc], ecx
setl ah
setge cl
cmp ah, dl
jne 0x567262
or cl, al
je 0x567262
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x5671b0
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x5671ca
cmp ecx, 0x46df2edb
je 0x5671ae
cmp ecx, 0x766d7330
jne 0x5671b0
jmp 0x567208
cmp ecx, 0x80c66156
je 0x567201
cmp ecx, 0xf2325ac5
jne 0x5671b0
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5671b0
mov ecx, 0x46df2edb
jmp 0x5671b0
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56723d
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x567031
mov dword [esi + 0xf0], 0xcd
mov ecx, dword [esi + 0x20]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5672b3
or cl, al
test cl, 1
jne 0x585d18
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x10], 0x5a1cc736
mov eax, dword [esi + 0x10]
cmp eax, 0x1583cd3a
jg 0x5672fe
cmp eax, 0xb018ea81
je 0x56738c
cmp eax, 0xf7175d7a
jne 0x5672e0
jmp 0x5673ad
cmp eax, 0x1583cd3b
je 0x567336
cmp eax, 0x5a1cc736
jne 0x5672e0
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x10], ecx
jmp 0x5672dd
mov dword [esi + 0xf0], 0xce
mov ecx, dword [esi + 0x30]
push dword [esi + 0x20]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 0x10], edi
jmp 0x5672dd
mov dword [esi + 0xf0], 0xce
mov dword [esi + 0x10], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x20]
call fcn.004330f0
jmp 0x5672dd
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x567414
cmp ecx, 0x46df2edb
je 0x567450
cmp ecx, 0x766d7330
jne 0x5673fa
jmp 0x56745b
cmp ecx, 0x80c66156
je 0x567454
cmp ecx, 0xf2325ac5
jne 0x5673fa
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5673fa
mov ecx, eax
jmp 0x5673fa
mov ecx, 0x46df2edb
jmp 0x5673fa
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x567490
mov edi, dword [esi + 0x20]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
lea eax, [ecx + 1]
mov dword [esi + 0x5c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x80], ecx
cmp dword [esi + 0x80], 0
sete dl
setne al
cmp dword [esi + 0x48], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x98]
mov dword [esi + 0x10], edi
mov edi, dword [esi + 0x84]
mov dword [esi + 0x1c], edi
cmp dl, ah
jne 0x566df7
or al, cl
mov eax, dword [esi + 0x98]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x1c], eax
je 0x566df7
jmp 0x585cf6
mov dword [esi + 0x78], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x78]
mov edi, edx
mov dword [esi + 0x10], edx
cmp edx, ecx
jb 0x56753c
jmp 0x567855
cmp dword [esi + 0x10], 0
je 0x56782b
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x3c], edx
mov dword [esi + 0x80], eax
test eax, edx
sete byte [esi + 0x34]
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
sete al
mov dword [esi + 0x1c], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 0x10]
lea eax, [eax + eax*2]
mov dword [esi + 0x98], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x9c], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x5675c4
cmp edx, 0x6675f964
je 0x5675fb
cmp edx, 0x7862661b
jne 0x5675aa
jmp 0x567606
cmp edx, 0xd0a3dc29
je 0x567602
cmp edx, 0xd6d6a098
jne 0x5675aa
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test al, al
cmove edx, edi
jmp 0x5675aa
mov edx, 0xd0a3dc29
jmp 0x5675aa
mov edx, ebx
jmp 0x5675aa
mov ecx, dword [esi + 0x10]
dec ecx
mov eax, dword [esi + 0x80]
test dword [esi + 0x3c], eax
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x4c], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x84], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x10], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x98]
lea eax, [ecx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56766c
cmp eax, 0x6675f964
je 0x5676a1
cmp eax, 0x7862661b
jne 0x567655
jmp 0x5676ac
cmp eax, 0xd0a3dc29
je 0x5676a8
cmp eax, 0xd6d6a098
jne 0x567655
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x567655
mov eax, 0xd0a3dc29
jmp 0x567655
mov eax, ebx
jmp 0x567655
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x84]
sbb ecx, dword [eax + 4]
jge 0x56781f
mov eax, dword [esi + 0x80]
test dword [esi + 0x3c], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x567702
cmp edx, 0x6675f964
je 0x56773e
cmp edx, 0x7862661b
jne 0x5676e8
jmp 0x567749
cmp edx, 0xd0a3dc29
je 0x567745
cmp edx, 0xd6d6a098
jne 0x5676e8
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x5676e8
mov edx, 0xd0a3dc29
jmp 0x5676e8
mov edx, ebx
jmp 0x5676e8
mov eax, dword [esi + 0x80]
test dword [esi + 0x3c], eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x3c], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x567789
cmp eax, 0x6675f964
je 0x5677be
cmp eax, 0x7862661b
jne 0x567772
jmp 0x5677c9
cmp eax, 0xd0a3dc29
je 0x5677c5
cmp eax, 0xd6d6a098
jne 0x567772
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test cl, cl
cmove eax, edi
jmp 0x567772
mov eax, 0xd0a3dc29
jmp 0x567772
mov eax, ebx
jmp 0x567772
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push dword [esi + 0x3c]
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete ch
setne cl
mov dword [esi + 0x48], edx
cmp edx, 0xa
setl dh
setge dl
cmp dh, ch
jne 0x567532
or dl, cl
je 0x567532
jmp 0x585d0a
mov ecx, dword [esi + 0x5c]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x78]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x48], 0xa
setge cl
setl ah
xor ah, dl
jne 0x56750b
or al, cl
je 0x56750b
jmp 0x585d1e
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x56786a
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
cmp eax, dword [esi + 0x1c]
je 0x567b4e
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x567a6a
mov edx, dword [eax]
mov edi, dword [esi + 0x58]
mov dword [edi], edx
test cl, cl
je 0x567a6a
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x5678c5
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c40a4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov edi, 0x3365058b
cmovge eax, edi
xor cl, dl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x56792c
cmp ecx, 0xc1fd3d12
je 0x56796c
cmp ecx, 0x3365058b
jne 0x56790d
mov ecx, 0x7b4463f8
jmp 0x56790d
cmp ecx, 0x7b4463f8
je 0x567968
cmp ecx, 0x52166c0c
jne 0x56790d
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x56790d
mov ecx, eax
jmp 0x56790d
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x567a76
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 0x56799b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
mov ebx, dword [esi + 0x58]
cmp eax, 0x590bba56
jg 0x5679e5
cmp eax, 0xc76c0d8d
je 0x567a23
cmp eax, 0x1f2e313
jne 0x5679c6
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x5679c6
cmp eax, 0x590bba57
je 0x5678c2
cmp eax, 0x74ccc71d
jne 0x5679c6
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x5679c6
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5679c6
mov edx, dword [eax]
mov edi, dword [esi + 0x58]
mov dword [edi], edx
jmp 0x5678ab
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x567ab8
cmp eax, 0x3e63df81
je 0x567ad6
cmp eax, 0x5632c42c
jne 0x567a9e
jmp 0x56785f
cmp eax, 0x1d5864bd
je 0x567b24
cmp eax, 0x3ce7f0d1
jne 0x567a9e
mov eax, dword [esi + 0xa4]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x567a9e
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x567a9e
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x567a9e
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x566db3
mov esp, dword [esi + 0xc0]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x568b71
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xd0
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
inc dword [esi + 4]
test ah, ah
jne 0x567ba9
or cl, al
je 0x567ba9
jmp 0x585d30
mov esp, dword [esi + 0xc0]
mov dword [esi + 0xd0], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0x3c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x567c7f
mov dword [esi + 0x20], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa0], edi
lea eax, [edi + 0x10]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x88], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x568aa4
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x5c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x5c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x80], ecx
sete dl
cmp dword [esi + 0x48], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x567d6b
or cl, al
test cl, 1
jne 0x585ce2
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x4c]
sbb eax, 0
jae 0x568444
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x10]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x90], eax
mov eax, 0
mov ebx, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x78], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x44], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x8c], edx
mov dword [esi + 0x9c], eax
mov edx, eax
mov dword [esi + 0x84], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x98], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x90]
sub eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x78]
sbb ecx, edx
or ecx, eax
jne 0x5683fa
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xb3
mov ecx, dword [esi + 4]
push dword [esi + 0x58]
push dword [esi + 0xb8]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x80], 0x5a1cc736
mov eax, dword [esi + 0x80]
cmp eax, 0x1583cd3a
jg 0x567e88
cmp eax, 0xb018ea81
je 0x567ec8
cmp eax, 0xf7175d7a
jne 0x567e6e
jmp 0x567f4b
cmp eax, 0x1583cd3b
je 0x567eec
cmp eax, 0x5a1cc736
jne 0x567e6e
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 0x80], edi
jmp 0x567e68
mov dword [esi + 0xf0], 0xb5
mov dword [esi + 0x80], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
jmp 0x567e68
mov dword [esi + 0xf0], 0xb5
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x567e68
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x567f7c
or cl, al
jne 0x5680a9
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x567fe1
cmp ecx, 0x46df2edb
je 0x568018
cmp ecx, 0x766d7330
jne 0x567fc7
jmp 0x568023
cmp ecx, 0x80c66156
je 0x56801c
cmp ecx, 0xf2325ac5
jne 0x567fc7
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x567fc7
mov ecx, eax
jmp 0x567fc7
mov ecx, 0x46df2edb
jmp 0x567fc7
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x568058
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x88]
mov eax, dword [esi + 0x9c]
mov dword [edi], eax
mov eax, dword [esi + 0x44]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x1c]
mov dword [edi + 0xc], ecx
setl ch
setge cl
cmp ch, dl
jne 0x5681af
or cl, al
test cl, 1
je 0x5681af
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x5680f8
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x568112
cmp ecx, 0x46df2edb
je 0x5680f6
cmp ecx, 0x766d7330
jne 0x5680f8
jmp 0x568155
cmp ecx, 0x80c66156
je 0x56814e
cmp ecx, 0xf2325ac5
jne 0x5680f8
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5680f8
mov ecx, 0x46df2edb
jmp 0x5680f8
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56818a
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x567f7c
mov dword [esi + 0xf0], 0xb3
mov ecx, dword [esi + 0x3c]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x5681ff
xor cl, al
je 0x585d14
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x10], 0x5a1cc736
mov eax, dword [esi + 0x10]
cmp eax, 0x1583cd3a
jg 0x568246
cmp eax, 0xb018ea81
je 0x568283
cmp eax, 0xf7175d7a
jne 0x56822c
jmp 0x5682fb
cmp eax, 0x1583cd3b
je 0x5682a1
cmp eax, 0x5a1cc736
jne 0x56822c
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 0x10], edi
jmp 0x568229
mov dword [esi + 0xf0], 0xb4
mov dword [esi + 0x10], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x3c]
call fcn.004330f0
jmp 0x568229
mov dword [esi + 0xf0], 0xb4
mov ecx, dword [esi + 0x30]
push dword [esi + 0x3c]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 0x10], ecx
jmp 0x568229
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x56835e
cmp ecx, 0x46df2edb
je 0x56839a
cmp ecx, 0x766d7330
jne 0x568344
jmp 0x5683a5
cmp ecx, 0x80c66156
je 0x56839e
cmp ecx, 0xf2325ac5
jne 0x568344
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x568344
mov ecx, eax
jmp 0x568344
mov ecx, 0x46df2edb
jmp 0x568344
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5683da
mov edi, dword [esi + 0x3c]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
mov ecx, dword [0x5c4084]
mov dword [esi + 0x48], ecx
lea ecx, [eax - 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
and ecx, 1
mov dword [esi + 0x80], ecx
cmp dword [esi + 0x80], 0
sete al
cmp dword [esi + 0x48], 0xa
setl cl
mov edx, dword [esi + 0x98]
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x84]
mov dword [esi + 0x1c], edx
test al, cl
jne 0x567d3b
xor al, cl
mov eax, dword [esi + 0x98]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x1c], eax
jne 0x567d3b
jmp 0x585cf8
mov dword [esi + 0x78], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x78]
mov edi, edx
mov dword [esi + 0x10], edx
cmp edx, ecx
jb 0x56847c
jmp 0x568799
cmp dword [esi + 0x10], 0
je 0x56876f
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x44], edx
mov dword [esi + 0x80], eax
test eax, edx
sete byte [esi + 0x34]
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
sete al
mov dword [esi + 0x1c], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 0x10]
lea eax, [eax + eax*2]
mov dword [esi + 0x98], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x9c], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x568504
cmp edx, 0x6675f964
je 0x56853b
cmp edx, 0x7862661b
jne 0x5684ea
jmp 0x568546
cmp edx, 0xd0a3dc29
je 0x568542
cmp edx, 0xd6d6a098
jne 0x5684ea
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test al, al
cmove edx, edi
jmp 0x5684ea
mov edx, 0xd0a3dc29
jmp 0x5684ea
mov edx, ebx
jmp 0x5684ea
mov ecx, dword [esi + 0x10]
dec ecx
mov eax, dword [esi + 0x80]
test dword [esi + 0x44], eax
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x4c], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x84], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x10], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x98]
lea eax, [ecx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5685ac
cmp eax, 0x6675f964
je 0x5685e1
cmp eax, 0x7862661b
jne 0x568595
jmp 0x5685ec
cmp eax, 0xd0a3dc29
je 0x5685e8
cmp eax, 0xd6d6a098
jne 0x568595
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x568595
mov eax, 0xd0a3dc29
jmp 0x568595
mov eax, ebx
jmp 0x568595
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x84]
sbb ecx, dword [eax + 4]
jge 0x56875f
mov eax, dword [esi + 0x80]
test dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56863f
cmp eax, 0x6675f964
je 0x568674
cmp eax, 0x7862661b
jne 0x568628
jmp 0x56867f
cmp eax, 0xd0a3dc29
je 0x56867b
cmp eax, 0xd6d6a098
jne 0x568628
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x568628
mov eax, 0xd0a3dc29
jmp 0x568628
mov eax, ebx
jmp 0x568628
mov eax, dword [esi + 0x80]
test dword [esi + 0x44], eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x5686c2
cmp ecx, 0x6675f964
je 0x5686fe
cmp ecx, 0x7862661b
jne 0x5686a8
jmp 0x568709
cmp ecx, 0xd0a3dc29
je 0x568705
cmp ecx, 0xd6d6a098
jne 0x5686a8
movzx eax, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ah, cl
xor ah, al
test cl, cl
mov ecx, 0x6675f964
mov edx, 0xd0a3dc29
cmovne ecx, edx
test al, al
mov edi, 0x6675f964
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x5686a8
mov ecx, 0xd0a3dc29
jmp 0x5686a8
mov ecx, ebx
jmp 0x5686a8
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push dword [esi + 0x44]
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x48], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x568472
or dl, cl
je 0x568472
jmp 0x585d04
mov eax, dword [esi + 0x5c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x78]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x48], 0xa
setge cl
setl ah
xor ah, dl
jne 0x56844b
or al, cl
je 0x56844b
jmp 0x585d20
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x5687ae
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
cmp eax, dword [esi + 0x1c]
je 0x568a8a
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x5689a0
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x5689a0
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x5687fc
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x568864
cmp ecx, 0xc1fd3d12
je 0x56889f
cmp ecx, 0x3365058b
jne 0x568845
mov ecx, 0x7b4463f8
jmp 0x568845
cmp ecx, 0x7b4463f8
je 0x56889b
cmp ecx, 0x52166c0c
jne 0x568845
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x568845
mov ecx, eax
jmp 0x568845
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x5689ac
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 0x5688ce
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x568918
cmp eax, 0xc76c0d8d
je 0x568951
cmp eax, 0x1f2e313
jne 0x5688f6
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x5688f6
cmp eax, 0x590bba57
je 0x5687f9
cmp eax, 0x74ccc71d
jne 0x5688f6
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5688f6
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x5688f6
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x5687e2
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x5689ee
cmp eax, 0x3e63df81
je 0x568a0c
cmp eax, 0x5632c42c
jne 0x5689d4
jmp 0x5687a3
cmp eax, 0x1d5864bd
je 0x568a60
cmp eax, 0x3ce7f0d1
jne 0x5689d4
mov eax, dword [esi + 0xa4]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x5689d4
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov edi, 0x5632c42c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5689d4
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5689d4
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x567cf7
mov esp, dword [esi + 0xc0]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x56921a
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xb6
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x568ae5
xor cl, al
jne 0x568ae5
jmp 0x585d36
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x568bff
cmp ecx, 0xc56a9b93
je 0x568c5d
cmp ecx, 0xd3cadfc0
jne 0x568bbc
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x568bbc
cmp ecx, 0x5722fc0f
je 0x568c6a
cmp ecx, 0x615aa6db
jne 0x568bbc
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x568bbc
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x568bbc
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x568cfc
cmp ecx, 0x80dc4cc9
je 0x568d13
cmp ecx, 0x7f3e42f
jne 0x568cb8
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x568cb8
cmp ecx, 0x1aabc941
je 0x568d17
cmp ecx, 0x5add25f0
jne 0x568cb8
mov ecx, 0x80dc4cc9
jmp 0x568cb8
mov ecx, eax
jmp 0x568cb8
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x5698c3
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x568da2
cmp ecx, 0xc56a9b93
je 0x568e00
cmp ecx, 0xd3cadfc0
jne 0x568d5f
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x568d5f
cmp ecx, 0x5722fc0f
je 0x568e0d
cmp ecx, 0x615aa6db
jne 0x568d5f
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x568d5f
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x568d5f
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x568e1e
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x1c], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x56902d
mov eax, dword [esi + 0x10]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
and eax, edx
mov dword [esi + 0x30], eax
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x568ef0
cmp ebx, 0x80dc4cc9
je 0x568f07
cmp ebx, 0x7f3e42f
jne 0x568ead
mov ah, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ecx, ebx
xor cl, ah
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test ah, ah
mov eax, 0x5add25f0
cmove ebx, eax
test cl, cl
cmovne ebx, edi
jmp 0x568ead
cmp ebx, 0x1aabc941
je 0x568f0b
cmp ebx, 0x5add25f0
jne 0x568ead
mov ebx, 0x80dc4cc9
jmp 0x568ead
mov ebx, edx
jmp 0x568ead
cmp byte [esi + 0x1c], 0
je 0x56903c
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x5690cf
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x569111
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x568f90
cmp eax, 0x9f04b71e
je 0x568ff0
cmp eax, 0xaf18808
jne 0x568f76
jmp 0x568e1b
cmp eax, 0x3d9eb8cd
je 0x56901f
cmp eax, 0x6301b93d
jne 0x568f76
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x568f76
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x568f76
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x568f76
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
cmp dword [esi + 0x30], 0
sete byte [esi + 0xf]
sete cl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge edi, eax
xor dl, cl
cmovne edi, ebx
mov edx, 0x7f3e42f
jmp 0x569075
mov edx, edi
cmp edx, 0x1aabc940
jg 0x5690b4
cmp edx, 0x80dc4cc9
je 0x569073
cmp edx, 0x7f3e42f
jne 0x569075
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
jmp 0x569075
cmp edx, 0x1aabc941
je 0x568e64
cmp edx, 0x5add25f0
jne 0x569075
mov edx, 0x80dc4cc9
jmp 0x569075
mov dword [esi + 0xf0], 0xd1
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x569146
xor cl, al
jne 0x569146
jmp 0x585d3e
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x569146
xor cl, al
je 0x585d62
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x569188
cmp eax, 0x9f04b71e
je 0x5691e2
cmp eax, 0xaf18808
jne 0x56916e
jmp 0x568c6a
cmp eax, 0x3d9eb8cd
je 0x56920c
cmp eax, 0x6301b93d
jne 0x56916e
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x56916e
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x56916e
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x56916e
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5692a8
cmp ecx, 0xc56a9b93
je 0x569306
cmp ecx, 0xd3cadfc0
jne 0x569265
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x569265
cmp ecx, 0x5722fc0f
je 0x569313
cmp ecx, 0x615aa6db
jne 0x569265
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x569265
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x569265
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x5693a7
cmp ecx, 0x80dc4cc9
je 0x5693be
cmp ecx, 0x7f3e42f
jne 0x569363
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x569363
cmp ecx, 0x1aabc941
je 0x5693c2
cmp ecx, 0x5add25f0
jne 0x569363
mov ecx, 0x80dc4cc9
jmp 0x569363
mov ecx, eax
jmp 0x569363
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x5699e2
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x569450
cmp ecx, 0xc56a9b93
je 0x5694b4
cmp ecx, 0xd3cadfc0
jne 0x56940d
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56940d
cmp ecx, 0x5722fc0f
je 0x5694c4
cmp ecx, 0x615aa6db
jne 0x56940d
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x56940d
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x56940d
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x5694d5
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x5696cd
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmove eax, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov edx, 0x5add25f0
cmovge eax, edx
xor bh, bl
cmovne eax, ecx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x569592
cmp ebx, 0x80dc4cc9
je 0x5695a9
cmp ebx, 0x7f3e42f
jne 0x56954f
movzx edx, byte [esi + 0xf]
mov dh, byte [esi + 8]
mov ebx, edx
xor bl, dh
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dh, dh
mov ebx, ecx
mov edi, 0x80dc4cc9
cmovne ebx, edi
test dl, dl
cmove ebx, ecx
jmp 0x56954f
cmp ebx, 0x1aabc941
je 0x5695ad
cmp ebx, 0x5add25f0
jne 0x56954f
mov ebx, 0x80dc4cc9
jmp 0x56954f
mov ebx, eax
jmp 0x56954f
cmp byte [esi + 0x1c], 0
je 0x5696dc
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x569774
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x5697bb
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x569632
cmp eax, 0x9f04b71e
je 0x569690
cmp eax, 0xaf18808
jne 0x569618
jmp 0x5694d2
cmp eax, 0x3d9eb8cd
je 0x5696bf
cmp eax, 0x6301b93d
jne 0x569618
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x569618
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x569618
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x569618
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
cmp dword [esi + 0x30], 0
sete byte [esi + 0xf]
sete al
mov edi, 0x5add25f0
mov edx, 0x1aabc941
cmove edi, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov ebx, 0x7f3e42f
jmp 0x569715
mov ebx, edi
cmp ebx, 0x1aabc940
jg 0x569759
cmp ebx, 0x80dc4cc9
je 0x569713
cmp ebx, 0x7f3e42f
jne 0x569715
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov edx, eax
xor dl, cl
test cl, cl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test al, al
mov eax, 0x5add25f0
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x569715
cmp ebx, 0x1aabc941
je 0x56950f
cmp ebx, 0x5add25f0
jne 0x569715
mov ebx, 0x80dc4cc9
jmp 0x569715
mov dword [esi + 0xf0], 0xb7
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5697ef
or cl, al
je 0x5697ef
jmp 0x585d44
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x5697ef
xor cl, al
je 0x585d66
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x569831
cmp eax, 0x9f04b71e
je 0x569886
cmp eax, 0xaf18808
jne 0x569817
jmp 0x569313
cmp eax, 0x3d9eb8cd
je 0x5698b5
cmp eax, 0x6301b93d
jne 0x569817
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x569817
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x569817
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x569817
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5698f4
or cl, al
jne 0x585e1e
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x569974
cmp ecx, 0xc56a9b93
je 0x5699d5
cmp ecx, 0xd3cadfc0
jne 0x56992c
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x56992c
cmp ecx, 0x5722fc0f
je 0x569b04
cmp ecx, 0x615aa6db
jne 0x56992c
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x56992c
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56992c
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x569a0d
xor cl, al
je 0x585ec6
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x569a8c
cmp ecx, 0xc56a9b93
je 0x569af4
cmp ecx, 0xd3cadfc0
jne 0x569a49
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x569a49
cmp ecx, 0x5722fc0f
je 0x569ce4
cmp ecx, 0x615aa6db
jne 0x569a49
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x569a49
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x569a49
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x569b13
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x5c3f7c]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x14]
sete dl
mov ecx, 0x5add25f0
mov ebx, 0x1aabc941
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 8]
setl dh
mov edi, 0x5add25f0
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x569ba1
cmp edx, 0x80dc4cc9
je 0x569bb8
cmp edx, 0x7f3e42f
jne 0x569b5d
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x569b5d
cmp edx, 0x1aabc941
je 0x569bbc
cmp edx, 0x5add25f0
jne 0x569b5d
mov edx, 0x80dc4cc9
jmp 0x569b5d
mov edx, ecx
jmp 0x569b5d
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x569ebc
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x569bf9
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x569bf6
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x569c4a
cmp ecx, 0x9f04b71e
je 0x569cac
cmp ecx, 0xaf18808
jne 0x569c2d
jmp 0x569b10
cmp ecx, 0x3d9eb8cd
je 0x569cd6
cmp ecx, 0x6301b93d
jne 0x569c2d
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x569c2d
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x569c2d
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x569c2d
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x569cf3
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x569d82
cmp edx, 0x80dc4cc9
je 0x569d99
cmp edx, 0x7f3e42f
jne 0x569d3e
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov eax, 0x5add25f0
cmove edx, eax
test bh, bh
cmovne edx, edi
jmp 0x569d3e
cmp edx, 0x1aabc941
je 0x569d9d
cmp edx, 0x5add25f0
jne 0x569d3e
mov edx, 0x80dc4cc9
jmp 0x569d3e
mov edx, ecx
jmp 0x569d3e
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x569fa7
mov ecx, dword [0x5c3f60]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x569dda
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x569dd7
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x569e2c
cmp ecx, 0x9f04b71e
je 0x569e84
cmp ecx, 0xaf18808
jne 0x569e0f
jmp 0x569cf0
cmp ecx, 0x3d9eb8cd
je 0x569eae
cmp ecx, 0x6301b93d
jne 0x569e0f
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x569e0f
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x569e0f
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x569e0f
cmp dword [esi + 4], 0x12345678
jne 0x569ecf
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x56a092
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xd2
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x569f1b
xor cl, al
jne 0x569f1b
jmp 0x585d64
cmp dword [esi + 4], 0x12345678
jne 0x569fba
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x56a747
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xb8
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x56a006
xor cl, al
jne 0x56a006
jmp 0x585d68
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56a123
cmp ecx, 0xc56a9b93
je 0x56a187
cmp ecx, 0xd3cadfc0
jne 0x56a0e0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56a0e0
cmp ecx, 0x5722fc0f
je 0x56a197
cmp ecx, 0x615aa6db
jne 0x56a0e0
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x56a0e0
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56a0e0
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c3f7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
sete cl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x56a222
cmp ecx, 0x80dc4cc9
je 0x56a239
cmp ecx, 0x7f3e42f
jne 0x56a1e3
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56a1e3
cmp ecx, 0x1aabc941
je 0x56a23d
cmp ecx, 0x5add25f0
jne 0x56a1e3
mov ecx, 0x80dc4cc9
jmp 0x56a1e3
mov ecx, eax
jmp 0x56a1e3
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x56add4
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56a2c8
cmp ecx, 0xc56a9b93
je 0x56a326
cmp ecx, 0xd3cadfc0
jne 0x56a285
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56a285
cmp ecx, 0x5722fc0f
je 0x56a333
cmp ecx, 0x615aa6db
jne 0x56a285
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x56a285
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x56a285
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x56a344
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x56a552
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
mov ecx, edi
and ecx, 1
sete cl
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, cl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
and edi, 1
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x56a417
cmp ebx, 0x80dc4cc9
je 0x56a42e
cmp ebx, 0x7f3e42f
jne 0x56a3ce
movzx eax, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, al
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edx, 0x80dc4cc9
cmovne ebx, edx
test al, al
mov edx, 0x5add25f0
cmove ebx, edx
test ah, ah
mov eax, 0x80dc4cc9
cmovne ebx, eax
jmp 0x56a3ce
cmp ebx, 0x1aabc941
je 0x56a432
cmp ebx, 0x5add25f0
jne 0x56a3ce
mov ebx, 0x80dc4cc9
jmp 0x56a3ce
mov ebx, ecx
jmp 0x56a3ce
cmp byte [esi + 0x10], 0
je 0x56a55e
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x56a5f3
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x56a635
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x56a4b7
cmp eax, 0x9f04b71e
je 0x56a515
cmp eax, 0xaf18808
jne 0x56a49d
jmp 0x56a341
cmp eax, 0x3d9eb8cd
je 0x56a544
cmp eax, 0x6301b93d
jne 0x56a49d
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x56a49d
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x56a49d
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x56a49d
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov ecx, 0x7f3e42f
jmp 0x56a599
mov ecx, edi
cmp ecx, 0x1aabc940
jg 0x56a5d8
cmp ecx, 0x80dc4cc9
je 0x56a597
cmp ecx, 0x7f3e42f
jne 0x56a599
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov ah, al
xor ah, cl
mov ebx, 0x5add25f0
mov edx, 0x80dc4cc9
cmovne ebx, edx
test cl, cl
mov ecx, ebx
cmovne ecx, edx
test al, al
cmove ecx, ebx
jmp 0x56a599
cmp ecx, 0x1aabc941
je 0x56a38a
cmp ecx, 0x5add25f0
jne 0x56a599
mov ecx, 0x80dc4cc9
jmp 0x56a599
mov dword [esi + 0xf0], 0xd3
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x56a669
xor cl, al
jne 0x56a669
jmp 0x585d70
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x56a669
xor cl, al
je 0x585d6e
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x56a6ac
cmp eax, 0x9f04b71e
je 0x56a70a
cmp eax, 0xaf18808
jne 0x56a692
jmp 0x56a197
cmp eax, 0x3d9eb8cd
je 0x56a739
cmp eax, 0x6301b93d
jne 0x56a692
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x56a692
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x56a692
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x56a692
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56a7d5
cmp ecx, 0xc56a9b93
je 0x56a833
cmp ecx, 0xd3cadfc0
jne 0x56a792
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56a792
cmp ecx, 0x5722fc0f
je 0x56a840
cmp ecx, 0x615aa6db
jne 0x56a792
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x56a792
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56a792
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x56a8d4
cmp ecx, 0x80dc4cc9
je 0x56a8eb
cmp ecx, 0x7f3e42f
jne 0x56a890
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x56a890
cmp ecx, 0x1aabc941
je 0x56a8ef
cmp ecx, 0x5add25f0
jne 0x56a890
mov ecx, 0x80dc4cc9
jmp 0x56a890
mov ecx, eax
jmp 0x56a890
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x56aef7
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56a97f
cmp ecx, 0xc56a9b93
je 0x56a9dd
cmp ecx, 0xd3cadfc0
jne 0x56a937
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x56a937
cmp ecx, 0x5722fc0f
je 0x56a9ea
cmp ecx, 0x615aa6db
jne 0x56a937
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x56a937
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x56a937
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x56a9fb
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x56abe5
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmove eax, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov edx, 0x5add25f0
cmovge eax, edx
xor bh, bl
cmovne eax, ecx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x56aab8
cmp ebx, 0x80dc4cc9
je 0x56aacf
cmp ebx, 0x7f3e42f
jne 0x56aa75
movzx ecx, byte [esi + 0xf]
mov dh, byte [esi + 8]
mov dl, cl
xor dl, dh
test dh, dh
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test cl, cl
mov ecx, 0x5add25f0
cmove ebx, ecx
test dl, dl
cmovne ebx, edi
jmp 0x56aa75
cmp ebx, 0x1aabc941
je 0x56aad3
cmp ebx, 0x5add25f0
jne 0x56aa75
mov ebx, 0x80dc4cc9
jmp 0x56aa75
mov ebx, eax
jmp 0x56aa75
cmp byte [esi + 0x1c], 0
je 0x56abf4
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x56ac87
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x56acce
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x56ab58
cmp eax, 0x9f04b71e
je 0x56abad
cmp eax, 0xaf18808
jne 0x56ab3e
jmp 0x56a9f8
cmp eax, 0x3d9eb8cd
je 0x56abd7
cmp eax, 0x6301b93d
jne 0x56ab3e
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x56ab3e
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x56ab3e
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x56ab3e
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
mov edi, dword [esi + 0x30]
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov eax, 0x7f3e42f
jmp 0x56ac32
mov eax, edi
cmp eax, 0x1aabc940
jg 0x56ac6e
cmp eax, 0x80dc4cc9
je 0x56ac30
cmp eax, 0x7f3e42f
jne 0x56ac32
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x56ac32
cmp eax, 0x1aabc941
je 0x56aa35
cmp eax, 0x5add25f0
jne 0x56ac32
mov eax, 0x80dc4cc9
jmp 0x56ac32
mov dword [esi + 0xf0], 0xb9
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x56ad04
or cl, al
je 0x56ad04
jmp 0x585d78
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x56ad04
or cl, al
test cl, 1
jne 0x585d76
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x56ad47
cmp eax, 0x9f04b71e
je 0x56ad9c
cmp eax, 0xaf18808
jne 0x56ad2d
jmp 0x56a840
cmp eax, 0x3d9eb8cd
je 0x56adc6
cmp eax, 0x6301b93d
jne 0x56ad2d
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x56ad2d
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x56ad2d
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x56ad2d
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x56ae01
or cl, al
test cl, 1
jne 0x585e20
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56ae7f
cmp ecx, 0xc56a9b93
je 0x56aee7
cmp ecx, 0xd3cadfc0
jne 0x56ae3c
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56ae3c
cmp ecx, 0x5722fc0f
je 0x56b024
cmp ecx, 0x615aa6db
jne 0x56ae3c
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x56ae3c
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56ae3c
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x56af28
or cl, al
jne 0x585ec8
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56afac
cmp ecx, 0xc56a9b93
je 0x56b014
cmp ecx, 0xd3cadfc0
jne 0x56af64
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x56af64
cmp ecx, 0x5722fc0f
je 0x56b209
cmp ecx, 0x615aa6db
jne 0x56af64
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x56af64
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56af64
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x56b033
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x56b0c0
cmp edx, 0x80dc4cc9
je 0x56b0d7
cmp edx, 0x7f3e42f
jne 0x56b07c
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x56b07c
cmp edx, 0x1aabc941
je 0x56b0db
cmp edx, 0x5add25f0
jne 0x56b07c
mov edx, 0x80dc4cc9
jmp 0x56b07c
mov edx, ecx
jmp 0x56b07c
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x56b3e3
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x56b118
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x56b115
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x56b16a
cmp ecx, 0x9f04b71e
je 0x56b1cc
cmp ecx, 0xaf18808
jne 0x56b14d
jmp 0x56b030
cmp ecx, 0x3d9eb8cd
je 0x56b1fb
cmp ecx, 0x6301b93d
jne 0x56b14d
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x56b14d
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x56b14d
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x56b14d
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x56b218
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x56b2a5
cmp edx, 0x80dc4cc9
je 0x56b2bc
cmp edx, 0x7f3e42f
jne 0x56b261
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x56b261
cmp edx, 0x1aabc941
je 0x56b2c0
cmp edx, 0x5add25f0
jne 0x56b261
mov edx, 0x80dc4cc9
jmp 0x56b261
mov edx, ecx
jmp 0x56b261
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x5703cb
mov ecx, dword [0x5c3f60]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x56b2fd
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x56b2fa
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x56b34f
cmp ecx, 0x9f04b71e
je 0x56b3ab
cmp ecx, 0xaf18808
jne 0x56b332
jmp 0x56b215
cmp ecx, 0x3d9eb8cd
je 0x56b3d5
cmp ecx, 0x6301b93d
jne 0x56b332
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x56b332
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x56b332
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x56b332
cmp dword [esi + 4], 0x12345678
jne 0x56b3f6
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc6]
cmp ecx, 0xa
setl byte [esi + 0xc7]
mov eax, 0xe2c12531
cmp eax, 0xe2c12530
jg 0x56b51b
cmp eax, 0x9858f9d0
je 0x5753c6
cmp eax, 0xb3e2a994
jne 0x56b435
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x56b628
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xd4
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
inc dword [esi + 4]
cmp ch, dl
jne 0x56b48d
or cl, al
test cl, 1
je 0x56b48d
jmp 0x585d98
cmp eax, 0x7c4966b4
je 0x56b55d
cmp eax, 0xe2c12531
jne 0x56b435
movzx ecx, byte [esi + 0xc6]
movzx eax, byte [esi + 0xc7]
mov edx, ecx
xor dl, al
mov edx, 0x7c4966b4
mov edi, 0xb3e2a994
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x56b435
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x56bce8
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xdc
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
inc dword [esi + 4]
test ch, ch
jne 0x56b598
or cl, al
test cl, 1
je 0x56b598
jmp 0x585d96
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56b6b5
cmp ecx, 0xc56a9b93
je 0x56b713
cmp ecx, 0xd3cadfc0
jne 0x56b672
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56b672
cmp ecx, 0x5722fc0f
je 0x56b720
cmp ecx, 0x615aa6db
jne 0x56b672
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x56b672
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56b672
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x56b7af
cmp ecx, 0x80dc4cc9
je 0x56b7c6
cmp ecx, 0x7f3e42f
jne 0x56b770
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56b770
cmp ecx, 0x1aabc941
je 0x56b7ca
cmp ecx, 0x5add25f0
jne 0x56b770
mov ecx, 0x80dc4cc9
jmp 0x56b770
mov ecx, eax
jmp 0x56b770
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x56c38e
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56b85c
cmp ecx, 0xc56a9b93
je 0x56b8c0
cmp ecx, 0xd3cadfc0
jne 0x56b814
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x56b814
cmp ecx, 0x5722fc0f
je 0x56b8d0
cmp ecx, 0x615aa6db
jne 0x56b814
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x56b814
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x56b814
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x56b8e1
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c3f64], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x1c], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x56bae5
mov eax, dword [esi + 0x10]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
and eax, edx
mov dword [esi + 0x30], eax
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x56b9aa
cmp ebx, 0x80dc4cc9
je 0x56b9c1
cmp ebx, 0x7f3e42f
jne 0x56b96c
mov ah, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov bh, ah
xor bh, bl
mov ecx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ecx, edi
test bl, bl
mov ebx, ecx
cmovne ebx, edi
test ah, ah
cmove ebx, ecx
jmp 0x56b96c
cmp ebx, 0x1aabc941
je 0x56b9c5
cmp ebx, 0x5add25f0
jne 0x56b96c
mov ebx, 0x80dc4cc9
jmp 0x56b96c
mov ebx, edx
jmp 0x56b96c
cmp byte [esi + 0x1c], 0
je 0x56baf4
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x56bb8c
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x56bbd3
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x56ba4a
cmp eax, 0x9f04b71e
je 0x56baa8
cmp eax, 0xaf18808
jne 0x56ba30
jmp 0x56b8de
cmp eax, 0x3d9eb8cd
je 0x56bad7
cmp eax, 0x6301b93d
jne 0x56ba30
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x56ba30
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x56ba30
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x56ba30
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
cmp dword [esi + 0x30], 0
sete byte [esi + 0xf]
sete cl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge edi, eax
xor dl, cl
cmovne edi, ebx
mov ebx, 0x7f3e42f
jmp 0x56bb2d
mov ebx, edi
cmp ebx, 0x1aabc940
jg 0x56bb71
cmp ebx, 0x80dc4cc9
je 0x56bb2b
cmp ebx, 0x7f3e42f
jne 0x56bb2d
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, dl
xor ah, cl
test dl, dl
mov ebx, 0x5add25f0
mov edx, 0x80dc4cc9
cmovne ebx, edx
test cl, cl
mov ecx, 0x5add25f0
cmove ebx, ecx
test ah, ah
cmovne ebx, edx
jmp 0x56bb2d
cmp ebx, 0x1aabc941
je 0x56b923
cmp ebx, 0x5add25f0
jne 0x56bb2d
mov ebx, 0x80dc4cc9
jmp 0x56bb2d
mov dword [esi + 0xf0], 0xd5
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x56bc09
or cl, al
je 0x56bc09
jmp 0x585e3c
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x56bc09
or cl, al
test cl, 1
jne 0x585e3e
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x56bc4b
cmp eax, 0x9f04b71e
je 0x56bcab
cmp eax, 0xaf18808
jne 0x56bc31
jmp 0x56b720
cmp eax, 0x3d9eb8cd
je 0x56bcda
cmp eax, 0x6301b93d
jne 0x56bc31
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x56bc31
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x56bc31
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x56bc31
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56bd75
cmp ecx, 0xc56a9b93
je 0x56bdd3
cmp ecx, 0xd3cadfc0
jne 0x56bd32
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56bd32
cmp ecx, 0x5722fc0f
je 0x56bde0
cmp ecx, 0x615aa6db
jne 0x56bd32
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x56bd32
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56bd32
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete dl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x56be6a
cmp ecx, 0x80dc4cc9
je 0x56be81
cmp ecx, 0x7f3e42f
jne 0x56be2b
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56be2b
cmp ecx, 0x1aabc941
je 0x56be85
cmp ecx, 0x5add25f0
jne 0x56be2b
mov ecx, 0x80dc4cc9
jmp 0x56be2b
mov ecx, eax
jmp 0x56be2b
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x56c4a3
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56bf0f
cmp ecx, 0xc56a9b93
je 0x56bf72
cmp ecx, 0xd3cadfc0
jne 0x56becc
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56becc
cmp ecx, 0x5722fc0f
je 0x56bf7f
cmp ecx, 0x615aa6db
jne 0x56becc
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x56becc
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x56becc
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x56bf90
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x56c191
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
mov ecx, edi
and ecx, 1
sete cl
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, cl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
and edi, 1
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x56c063
cmp ebx, 0x80dc4cc9
je 0x56c07a
cmp ebx, 0x7f3e42f
jne 0x56c01a
movzx eax, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, al
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edx, 0x80dc4cc9
cmovne ebx, edx
test al, al
mov edx, 0x5add25f0
cmove ebx, edx
test ah, ah
mov eax, 0x80dc4cc9
cmovne ebx, eax
jmp 0x56c01a
cmp ebx, 0x1aabc941
je 0x56c07e
cmp ebx, 0x5add25f0
jne 0x56c01a
mov ebx, 0x80dc4cc9
jmp 0x56c01a
mov ebx, ecx
jmp 0x56c01a
cmp byte [esi + 0x10], 0
je 0x56c1a1
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x56c23b
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x56c27d
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x56c104
cmp eax, 0x9f04b71e
je 0x56c159
cmp eax, 0xaf18808
jne 0x56c0ea
jmp 0x56bf8d
cmp eax, 0x3d9eb8cd
je 0x56c183
cmp eax, 0x6301b93d
jne 0x56c0ea
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x56c0ea
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x56c0ea
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x56c0ea
mov eax, dword [esi + 0x30]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
and edi, ecx
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov ecx, 0x7f3e42f
jmp 0x56c1dc
mov ecx, edi
cmp ecx, 0x1aabc940
jg 0x56c220
cmp ecx, 0x80dc4cc9
je 0x56c1da
cmp ecx, 0x7f3e42f
jne 0x56c1dc
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov ah, al
xor ah, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test al, al
mov edx, 0x5add25f0
cmove ecx, edx
test ah, ah
cmovne ecx, ebx
jmp 0x56c1dc
cmp ecx, 0x1aabc941
je 0x56bfd6
cmp ecx, 0x5add25f0
jne 0x56c1dc
mov ecx, 0x80dc4cc9
jmp 0x56c1dc
mov dword [esi + 0xf0], 0xdd
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x56c2b1
xor cl, al
jne 0x56c2b1
jmp 0x585e22
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x56c2b1
xor cl, al
je 0x585e24
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x56c2f3
cmp eax, 0x9f04b71e
je 0x56c351
cmp eax, 0xaf18808
jne 0x56c2d9
jmp 0x56bde0
cmp eax, 0x3d9eb8cd
je 0x56c380
cmp eax, 0x6301b93d
jne 0x56c2d9
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x56c2d9
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x56c2d9
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x56c2d9
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x56c3b9
xor cl, al
je 0x585e40
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56c435
cmp ecx, 0xc56a9b93
je 0x56c496
cmp ecx, 0xd3cadfc0
jne 0x56c3f2
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56c3f2
cmp ecx, 0x5722fc0f
je 0x56c5bf
cmp ecx, 0x615aa6db
jne 0x56c3f2
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x56c3f2
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56c3f2
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x56c4d0
or cl, al
test cl, 1
jne 0x585e26
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x56c54b
cmp ecx, 0xc56a9b93
je 0x56c5b2
cmp ecx, 0xd3cadfc0
jne 0x56c508
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56c508
cmp ecx, 0x5722fc0f
je 0x56c795
cmp ecx, 0x615aa6db
jne 0x56c508
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x56c508
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x56c508
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x56c5ce
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x56c65b
cmp edx, 0x80dc4cc9
je 0x56c672
cmp edx, 0x7f3e42f
jne 0x56c617
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x56c617
cmp edx, 0x1aabc941
je 0x56c676
cmp edx, 0x5add25f0
jne 0x56c617
mov edx, 0x80dc4cc9
jmp 0x56c617
mov edx, ecx
jmp 0x56c617
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x56c96d
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x56c6b3
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x56c6b0
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x56c704
cmp ecx, 0x9f04b71e
je 0x56c75d
cmp ecx, 0xaf18808
jne 0x56c6e7
jmp 0x56c5cb
cmp ecx, 0x3d9eb8cd
je 0x56c787
cmp ecx, 0x6301b93d
jne 0x56c6e7
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x56c6e7
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x56c6e7
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x56c6e7
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x56c7a4
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x56c833
cmp edx, 0x80dc4cc9
je 0x56c84a
cmp edx, 0x7f3e42f
jne 0x56c7ef
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov eax, 0x5add25f0
cmove edx, eax
test bh, bh
cmovne edx, edi
jmp 0x56c7ef
cmp edx, 0x1aabc941
je 0x56c84e
cmp edx, 0x5add25f0
jne 0x56c7ef
mov edx, 0x80dc4cc9
jmp 0x56c7ef
mov edx, ecx
jmp 0x56c7ef
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x56e66e
mov ecx, dword [0x5c3f60]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x56c88b
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x56c888
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x56c8dd
cmp ecx, 0x9f04b71e
je 0x56c935
cmp ecx, 0xaf18808
jne 0x56c8c0
jmp 0x56c7a1
cmp ecx, 0x3d9eb8cd
je 0x56c95f
cmp ecx, 0x6301b93d
jne 0x56c8c0
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x56c8c0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x56c8c0
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x56c8c0
cmp dword [esi + 4], 0x12345678
jne 0x56c980
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x56c9c6
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x56d7a1
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x56cab1
xor cl, al
je 0x585e4c
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x56d172
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x56d12b
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xd6
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x56cbd2
cmp dword [esi + 4], 0xb018ea81
je 0x56cc0e
cmp dword [esi + 4], 0xf7175d7a
jne 0x56cbb2
jmp 0x56cc83
cmp dword [esi + 4], 0x1583cd3b
je 0x56cc2c
cmp dword [esi + 4], 0x5a1cc736
jne 0x56cbb2
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x56cbb2
mov dword [esi + 0xf0], 0xd8
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x56cbb2
mov dword [esi + 0xf0], 0xd8
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x56cbb2
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x56ccaf
xor cl, al
je 0x56cddd
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x56cd12
cmp ecx, 0x46df2edb
je 0x56cd4e
cmp ecx, 0x766d7330
jne 0x56ccf8
jmp 0x56cd59
cmp ecx, 0x80c66156
je 0x56cd52
cmp ecx, 0xf2325ac5
jne 0x56ccf8
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x56ccf8
mov ecx, eax
jmp 0x56ccf8
mov ecx, 0x46df2edb
jmp 0x56ccf8
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56cd8e
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x20]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 0xc], edi
jne 0x56ced6
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x56ce2a
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x56ce44
cmp ecx, 0x46df2edb
je 0x56ce28
cmp ecx, 0x766d7330
jne 0x56ce2a
jmp fcn.0056ce82
cmp ecx, 0x80c66156
je 0x56ce7b
cmp ecx, 0xf2325ac5
jne 0x56ce2a
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56ce2a
mov ecx, 0x46df2edb
jmp 0x56ce2a
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x20], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x3c], edi
cmp dl, ah
jne 0x56ca89
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
je 0x56ca89
jmp 0x585e50
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x20], edx
cmp edx, ecx
jb 0x56d1b0
jmp 0x56d49c
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edi, 0x7862661b
cmovne eax, edi
and ecx, 1
sete byte [esi + 0x34]
mov edx, eax
cmove edx, edi
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edx, eax
mov dword [esi + 4], edx
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56d22a
cmp eax, 0x6675f964
je 0x56d264
cmp eax, 0x7862661b
jne 0x56d213
jmp 0x56d270
cmp eax, 0xd0a3dc29
je 0x56d26b
cmp eax, 0xd6d6a098
jne 0x56d213
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov edx, 0xd0a3dc29
cmovne eax, edx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, edx
jmp 0x56d213
mov eax, 0xd0a3dc29
jmp 0x56d213
mov eax, dword [esi + 4]
jmp 0x56d213
mov edx, dword [esi + 0x20]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x20], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56d2c6
cmp eax, 0x6675f964
je 0x56d300
cmp eax, 0x7862661b
jne 0x56d2af
jmp 0x56d30c
cmp eax, 0xd0a3dc29
je 0x56d307
cmp eax, 0xd6d6a098
jne 0x56d2af
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test bl, bl
mov edx, 0x6675f964
cmove eax, edx
test bh, bh
cmovne eax, edi
jmp 0x56d2af
mov eax, 0xd0a3dc29
jmp 0x56d2af
mov eax, dword [esi + 4]
jmp 0x56d2af
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x56d466
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56d355
cmp eax, 0x6675f964
je 0x56d38f
cmp eax, 0xd0a3dc29
je 0x56d396
mov ecx, dword [esi + 0x8c]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x56d17c
xor al, cl
jne 0x56d17c
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x56d4b1
cmp eax, dword [esi + 0x3c]
je 0x56d787
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x56d6a3
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x56d6a3
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x56d500
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x56d56c
cmp ecx, 0xc1fd3d12
je 0x56d5a7
cmp ecx, 0x3365058b
jne 0x56d54d
mov ecx, 0x7b4463f8
jmp 0x56d54d
cmp ecx, 0x7b4463f8
je 0x56d5a3
cmp ecx, 0x52166c0c
jne 0x56d54d
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x56d54d
mov ecx, eax
jmp 0x56d54d
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x56d6af
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 0x56d5d6
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x56d4e6
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x56d6f2
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x56ca3f
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x56d7c8
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x56e5bd
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x56d8bb
or cl, al
test cl, 1
jne 0x585e42
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x56df73
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x56df32
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xd9
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x56d9db
cmp dword [esi + 4], 0xb018ea81
je 0x56da1c
cmp dword [esi + 4], 0xf7175d7a
jne 0x56d9bb
jmp 0x56da91
cmp dword [esi + 4], 0x1583cd3b
je 0x56da3a
cmp dword [esi + 4], 0x5a1cc736
jne 0x56d9bb
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x56d9bb
mov dword [esi + 0xf0], 0xdb
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x56d9bb
mov dword [esi + 0xf0], 0xdb
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x56d9bb
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x56dabd
xor cl, al
je 0x56dbea
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x56db1f
cmp ecx, 0x46df2edb
je 0x56db5b
cmp ecx, 0x766d7330
jne 0x56db05
jmp fcn.0056db66
cmp ecx, 0x80c66156
je 0x56db5f
cmp ecx, 0xf2325ac5
jne 0x56db05
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x56db05
mov ecx, eax
jmp 0x56db05
mov ecx, 0x46df2edb
jmp 0x56db05
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x56dc37
cmp ecx, 0x46df2eda
jle 0x56dc51
cmp ecx, 0x46df2edb
je 0x56dc35
cmp ecx, 0x80c66156
je 0x56dc88
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
test al, cl
jne 0x56d88b
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
jne 0x56d88b
jmp 0x585e46
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x56dfb1
jmp 0x56e29d
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x48], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 4], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0x3c]
lea edx, [eax + eax*2]
mov dword [esi + 0x78], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x4c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x56e032
cmp edx, 0x6675f964
je 0x56e069
cmp edx, 0x7862661b
jne 0x56e018
jmp 0x56e075
cmp edx, 0xd0a3dc29
je 0x56e070
cmp edx, 0xd6d6a098
jne 0x56e018
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x56e018
mov edx, 0xd0a3dc29
jmp 0x56e018
mov edx, dword [esi + 4]
jmp 0x56e018
mov edx, dword [esi + 0x3c]
dec edx
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x88], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x78]
lea eax, [edx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56e0cf
cmp eax, 0x6675f964
je 0x56e104
cmp eax, 0x7862661b
jne 0x56e0b8
jmp 0x56e110
cmp eax, 0xd0a3dc29
je 0x56e10b
cmp eax, 0xd6d6a098
jne 0x56e0b8
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x56e0b8
mov eax, 0xd0a3dc29
jmp 0x56e0b8
mov eax, dword [esi + 4]
jmp 0x56e0b8
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x88]
cmp edx, dword [eax]
mov edx, dword [esi + 0x90]
sbb edx, dword [eax + 4]
jge 0x56e261
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x56e2b2
cmp eax, dword [esi + 0x44]
je 0x56e5a3
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x56e4b9
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x56e4b9
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x56e30d
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x56e377
cmp ecx, 0xc1fd3d12
je 0x56e3b7
cmp ecx, 0x7b4463f8
je 0x56e3b3
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x56e2f3
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x56d841
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c69b4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x56e64f
cmp ecx, 0x150b35d3
je 0x56e667
cmp ecx, 0x1e00e94d
jne 0x56e60b
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x56e60b
cmp ecx, 0x3d9de5f5
je 0x570377
cmp ecx, 0x3f6d87b9
jne 0x56e60b
mov ecx, eax
jmp 0x56e60b
mov ecx, 0x3f6d87b9
jmp 0x56e60b
cmp dword [esi + 4], 0x12345678
jne 0x56e681
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x56e6be
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x56f4b8
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x56e7b3
or cl, al
jne 0x585e32
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x56ee71
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x56ee30
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xde
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x56e8d3
cmp dword [esi + 4], 0xb018ea81
je 0x56e90f
cmp dword [esi + 4], 0xf7175d7a
jne 0x56e8b3
jmp 0x56e989
cmp dword [esi + 4], 0x1583cd3b
je 0x56e92d
cmp dword [esi + 4], 0x5a1cc736
jne 0x56e8b3
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x56e8b3
mov dword [esi + 0xf0], 0xe0
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x56e8b3
mov dword [esi + 0xf0], 0xe0
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x56e8b3
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x56e9ba
or cl, al
jne 0x56eae1
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x56ea1f
cmp ecx, 0x46df2edb
je 0x56ea56
cmp ecx, 0x766d7330
jne 0x56ea05
jmp 0x56ea61
cmp ecx, 0x80c66156
je 0x56ea5a
cmp ecx, 0xf2325ac5
jne 0x56ea05
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56ea05
mov ecx, eax
jmp 0x56ea05
mov ecx, 0x46df2edb
jmp 0x56ea05
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56ea96
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x4c]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x3c]
mov dword [edi + 0xc], ecx
setl ch
setge cl
cmp ch, dl
jne 0x56ebdc
or cl, al
test cl, 1
je 0x56ebdc
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x56eb30
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x56eb4a
cmp ecx, 0x46df2edb
je 0x56eb2e
cmp ecx, 0x766d7330
jne 0x56eb30
jmp 0x56eb88
cmp ecx, 0x80c66156
je 0x56eb81
cmp ecx, 0xf2325ac5
jne 0x56eb30
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56eb30
mov ecx, 0x46df2edb
jmp 0x56eb30
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56ebbd
mov dword [esi + 0xf0], 0xde
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x56ec2e
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
test al, cl
jne 0x56e781
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
jne 0x56e781
jmp 0x585e36
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x20], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x56eeaf
jmp 0x56f19a
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x3c], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x20], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x56ef27
cmp edx, 0x6675f964
je 0x56ef63
cmp edx, 0x7862661b
jne 0x56ef0d
jmp 0x56ef6e
cmp edx, 0xd0a3dc29
je 0x56ef6a
cmp edx, 0xd6d6a098
jne 0x56ef0d
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x56ef0d
mov edx, 0xd0a3dc29
jmp 0x56ef0d
mov edx, ebx
jmp 0x56ef0d
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x3c], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56efc6
cmp eax, 0x6675f964
je 0x56f000
cmp eax, 0x7862661b
jne 0x56efaf
jmp 0x56f00b
cmp eax, 0xd0a3dc29
je 0x56f007
cmp eax, 0xd6d6a098
jne 0x56efaf
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x56efaf
mov eax, 0xd0a3dc29
jmp 0x56efaf
mov eax, ebx
jmp 0x56efaf
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x56f160
cmp dword [esi + 0x3c], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56f056
cmp eax, 0x6675f964
je 0x56f08b
cmp eax, 0x7862661b
jne 0x56f03f
cmp eax, 0xd0a3dc29
je 0x56f092
cmp eax, 0xd6d6a098
jne 0x56f03f
mov eax, 0xd0a3dc29
jmp 0x56f03f
mov eax, ebx
jmp 0x56f03f
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x56ee7b
xor al, cl
jne 0x56ee7b
jmp fcn.00585e3a
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x56f1af
cmp eax, dword [esi + 0x20]
je 0x56f49e
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
je 0x56f3b1
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, 1
je 0x56f3b1
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x56f204
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x56f26e
cmp ecx, 0xc1fd3d12
je 0x56f2a9
cmp ecx, 0x3365058b
jne 0x56f24f
mov ecx, 0x7b4463f8
jmp 0x56f24f
cmp ecx, 0x7b4463f8
je 0x56f2a5
cmp ecx, 0x52166c0c
jne 0x56f24f
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x56f24f
mov ecx, eax
jmp 0x56f24f
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x56f3bd
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 0x56f2d8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x56f322
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x56f1e9
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x56f3ff
cmp eax, 0x3e63df81
je 0x56f41d
cmp eax, 0x1d5864bd
je 0x56f46f
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x56e737
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x56f4df
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x5702ca
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x8c]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x56f5ca
xor cl, al
je 0x585e28
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x56fc86
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x56fc3f
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xe1
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x56f6ea
cmp dword [esi + 4], 0xb018ea81
je 0x56f72b
cmp dword [esi + 4], 0xf7175d7a
jne 0x56f6ca
jmp 0x56f7a5
cmp dword [esi + 4], 0x1583cd3b
je 0x56f749
cmp dword [esi + 4], 0x5a1cc736
jne 0x56f6ca
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x56f6ca
mov dword [esi + 0xf0], 0xe3
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x56f6ca
mov dword [esi + 0xf0], 0xe3
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x56f6ca
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x56f7d0
xor cl, al
je 0x56f8f7
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x56f837
cmp ecx, 0x46df2edb
je 0x56f86e
cmp ecx, 0x766d7330
jne 0x56f81d
jmp 0x56f879
cmp ecx, 0x80c66156
je 0x56f872
cmp ecx, 0xf2325ac5
jne 0x56f81d
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x56f81d
mov ecx, eax
jmp 0x56f81d
mov ecx, 0x46df2edb
jmp 0x56f81d
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x56f8ae
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x56f946
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x56f960
cmp ecx, 0x46df2edb
je 0x56f944
cmp ecx, 0x766d7330
jne 0x56f946
cmp ecx, 0x80c66156
je 0x56f997
cmp ecx, 0xf2325ac5
jne 0x56f946
mov ecx, 0x46df2edb
jmp 0x56f946
cmp dword [esi + 4], 0
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
jne 0x56f5a2
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x56f5a2
jmp 0x585e2c
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x56fcc4
jmp 0x56ffba
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edi, 0x7862661b
cmovne eax, edi
and ecx, 1
sete byte [esi + 0x34]
mov edx, eax
cmove edx, edi
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edx, eax
mov dword [esi + 4], edx
mov eax, dword [esi + 0x30]
mov edx, dword [eax]
mov eax, dword [esi + 0x3c]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56fd3e
cmp eax, 0x6675f964
je 0x56fd78
cmp eax, 0x7862661b
jne 0x56fd27
jmp 0x56fd84
cmp eax, 0xd0a3dc29
je 0x56fd7f
cmp eax, 0xd6d6a098
jne 0x56fd27
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov edx, 0xd0a3dc29
cmovne eax, edx
test bl, bl
mov edi, 0x6675f964
cmove eax, edi
test bh, bh
cmovne eax, edx
jmp 0x56fd27
mov eax, 0xd0a3dc29
jmp 0x56fd27
mov eax, dword [esi + 4]
jmp 0x56fd27
mov edx, dword [esi + 0x3c]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56fdda
cmp eax, 0x6675f964
je 0x56fe14
cmp eax, 0x7862661b
jne 0x56fdc3
jmp 0x56fe20
cmp eax, 0xd0a3dc29
je 0x56fe1b
cmp eax, 0xd6d6a098
jne 0x56fdc3
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test bl, bl
mov edx, 0x6675f964
cmove eax, edx
test bh, bh
cmovne eax, edi
jmp 0x56fdc3
mov eax, 0xd0a3dc29
jmp 0x56fdc3
mov eax, dword [esi + 4]
jmp 0x56fdc3
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x56ff7a
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x56fe69
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x56fc90
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x56ffcf
cmp eax, dword [esi + 0x44]
je 0x5702b0
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x5701cc
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x5701cc
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x57002a
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x570094
cmp ecx, 0xc1fd3d12
je 0x5700cf
cmp ecx, 0x3365058b
jne 0x570075
cmp ecx, 0x7b4463f8
je 0x5700cb
cmp ecx, 0x52166c0c
jne 0x570075
mov ecx, eax
jmp 0x570075
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x5701d8
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x570010
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x56f558
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c69b4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x57035c
cmp ecx, 0x150b35d3
je 0x570370
cmp ecx, 0x1e00e94d
jne 0x570318
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x570318
cmp ecx, 0x3d9de5f5
je 0x5703bb
cmp ecx, 0x3f6d87b9
jne 0x570318
mov ecx, eax
jmp 0x570318
mov ecx, 0x3f6d87b9
jmp 0x570318
mov esp, dword [esi + 0xc8]
mov eax, dword [0x5c69a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x7c4966b4
mov edi, 0x9858f9d0
cmove eax, edi
cmp dword [0x5c69ac], 0xa
mov edx, 0x7c4966b4
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x56b435
mov eax, 0xb3e2a994
mov esp, dword [esi + 0xc8]
jmp 0x56b435
cmp dword [esi + 4], 0x12345678
jne 0x5703de
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xc6]
cmp ecx, 0xa
setl byte [esi + 0xc7]
mov eax, 0xe2c12531
cmp eax, 0xe2c12530
jg 0x570504
cmp eax, 0x9858f9d0
je 0x5753d6
cmp eax, 0xb3e2a994
jne 0x57041c
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x57060f
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xba
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
inc dword [esi + 4]
test ch, ch
jne 0x570474
or cl, al
test cl, 1
je 0x570474
jmp 0x585d9c
cmp eax, 0x7c4966b4
je 0x570546
cmp eax, 0xe2c12531
jne 0x57041c
movzx ecx, byte [esi + 0xc6]
movzx eax, byte [esi + 0xc7]
mov edx, ecx
xor dl, al
mov edx, 0x7c4966b4
mov edi, 0xb3e2a994
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x57041c
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x570ca7
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xc2
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
inc dword [esi + 4]
cmp ch, dl
jne 0x570581
or cl, al
test cl, 1
je 0x570581
jmp 0x585d9a
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57069d
cmp ecx, 0xc56a9b93
je 0x5706fb
cmp ecx, 0xd3cadfc0
jne 0x57065a
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57065a
cmp ecx, 0x5722fc0f
je 0x570708
cmp ecx, 0x615aa6db
jne 0x57065a
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x57065a
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57065a
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3f7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
sete cl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x570798
cmp ecx, 0x80dc4cc9
je 0x5707af
cmp ecx, 0x7f3e42f
jne 0x570754
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x570754
cmp ecx, 0x1aabc941
je 0x5707b3
cmp ecx, 0x5add25f0
jne 0x570754
mov ecx, 0x80dc4cc9
jmp 0x570754
mov ecx, eax
jmp 0x570754
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x571353
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57083d
cmp ecx, 0xc56a9b93
je 0x5708a0
cmp ecx, 0xd3cadfc0
jne 0x5707fa
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5707fa
cmp ecx, 0x5722fc0f
je 0x5708ad
cmp ecx, 0x615aa6db
jne 0x5707fa
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x5707fa
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x5707fa
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x5708be
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, dword [0x5c3f78]
mov dword [esi + 0x10], ecx
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov byte [esi + 0x1c], al
test al, 1
je 0x570ab8
mov eax, dword [esi + 0x10]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x57098a
cmp ebx, 0x80dc4cc9
je 0x5709a1
cmp ebx, 0x7f3e42f
jne 0x570946
movzx ecx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, cl
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test cl, cl
mov ecx, 0x5add25f0
cmove ebx, ecx
test ah, ah
cmovne ebx, edi
jmp 0x570946
cmp ebx, 0x1aabc941
je 0x5709a5
cmp ebx, 0x5add25f0
jne 0x570946
mov ebx, 0x80dc4cc9
jmp 0x570946
mov ebx, edx
jmp 0x570946
test byte [esi + 0x1c], 1
je 0x570ac7
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x570b5f
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x570ba2
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x570a2a
cmp eax, 0x9f04b71e
je 0x570a80
cmp eax, 0xaf18808
jne 0x570a10
jmp 0x5708bb
cmp eax, 0x3d9eb8cd
je 0x570aaa
cmp eax, 0x6301b93d
jne 0x570a10
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x570a10
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x570a10
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x570a10
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
mov edi, dword [esi + 0x30]
test edi, edi
sete cl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov edx, 0x7f3e42f
jmp 0x570b05
mov edx, edi
cmp edx, 0x1aabc940
jg 0x570b44
cmp edx, 0x80dc4cc9
je 0x570b03
cmp edx, 0x7f3e42f
jne 0x570b05
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
jmp 0x570b05
cmp edx, 0x1aabc941
je 0x570901
cmp edx, 0x5add25f0
jne 0x570b05
mov edx, 0x80dc4cc9
jmp 0x570b05
mov dword [esi + 0xf0], 0xbb
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x570bd6
or cl, al
test cl, 1
je 0x570bd6
jmp 0x585ee6
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x570bd6
xor cl, al
je 0x585edc
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x570c19
cmp eax, 0x9f04b71e
je 0x570c6f
cmp eax, 0xaf18808
jne 0x570bff
jmp 0x570708
cmp eax, 0x3d9eb8cd
je 0x570c99
cmp eax, 0x6301b93d
jne 0x570bff
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x570bff
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x570bff
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x570bff
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x570d35
cmp ecx, 0xc56a9b93
je 0x570d98
cmp ecx, 0xd3cadfc0
jne 0x570cf2
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x570cf2
cmp ecx, 0x5722fc0f
je 0x570da5
cmp ecx, 0x615aa6db
jne 0x570cf2
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x570cf2
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x570cf2
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete dl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x570e34
cmp ecx, 0x80dc4cc9
je 0x570e4b
cmp ecx, 0x7f3e42f
jne 0x570df0
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x570df0
cmp ecx, 0x1aabc941
je 0x570e4f
cmp ecx, 0x5add25f0
jne 0x570df0
mov ecx, 0x80dc4cc9
jmp 0x570df0
mov ecx, eax
jmp 0x570df0
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x57146b
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x570ed9
cmp ecx, 0xc56a9b93
je 0x570f37
cmp ecx, 0xd3cadfc0
jne 0x570e96
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x570e96
cmp ecx, 0x5722fc0f
je 0x570f44
cmp ecx, 0x615aa6db
jne 0x570e96
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x570e96
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x570e96
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x570f55
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, dword [0x5c3f78]
mov dword [esi + 0x10], ecx
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov byte [esi + 0x1c], al
test al, 1
je 0x57115b
mov eax, dword [esi + 0x10]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
and eax, edx
mov dword [esi + 0x30], eax
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x57101f
cmp ebx, 0x80dc4cc9
je 0x571036
cmp ebx, 0x7f3e42f
jne 0x570fe1
mov ah, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov bh, ah
xor bh, bl
mov ecx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ecx, edi
test bl, bl
mov ebx, ecx
cmovne ebx, edi
test ah, ah
cmove ebx, ecx
jmp 0x570fe1
cmp ebx, 0x1aabc941
je 0x57103a
cmp ebx, 0x5add25f0
jne 0x570fe1
mov ebx, 0x80dc4cc9
jmp 0x570fe1
mov ebx, edx
jmp 0x570fe1
test byte [esi + 0x1c], 1
je 0x57116e
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x571206
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x57124d
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x5710c0
cmp eax, 0x9f04b71e
je 0x57111e
cmp eax, 0xaf18808
jne 0x5710a6
jmp 0x570f52
cmp eax, 0x3d9eb8cd
je 0x57114d
cmp eax, 0x6301b93d
jne 0x5710a6
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x5710a6
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x5710a6
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x5710a6
mov eax, dword [esi + 0x10]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
and eax, edx
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x30]
test edi, edi
sete cl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov edx, 0x7f3e42f
jmp 0x5711ac
mov edx, edi
cmp edx, 0x1aabc940
jg 0x5711eb
cmp edx, 0x80dc4cc9
je 0x5711aa
cmp edx, 0x7f3e42f
jne 0x5711ac
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
jmp 0x5711ac
cmp edx, 0x1aabc941
je 0x570f98
cmp edx, 0x5add25f0
jne 0x5711ac
mov edx, 0x80dc4cc9
jmp 0x5711ac
mov dword [esi + 0xf0], 0xc3
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x571283
or cl, al
je 0x571283
jmp 0x585ecc
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x571283
or cl, al
test cl, 1
jne 0x585eca
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x5712c6
cmp eax, 0x9f04b71e
je 0x57131b
cmp eax, 0xaf18808
jne 0x5712ac
jmp 0x570da5
cmp eax, 0x3d9eb8cd
je 0x571345
cmp eax, 0x6301b93d
jne 0x5712ac
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5712ac
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5712ac
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x5712ac
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x571380
or cl, al
test cl, 1
jne 0x585ee8
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5713fc
cmp ecx, 0xc56a9b93
je 0x57145e
cmp ecx, 0xd3cadfc0
jne 0x5713b9
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5713b9
cmp ecx, 0x5722fc0f
je 0x571586
cmp ecx, 0x615aa6db
jne 0x5713b9
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5713b9
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5713b9
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x57149c
or cl, al
jne 0x585ece
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x571518
cmp ecx, 0xc56a9b93
je 0x571579
cmp ecx, 0xd3cadfc0
jne 0x5714d5
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x5714d5
cmp ecx, 0x5722fc0f
je 0x57176e
cmp ecx, 0x615aa6db
jne 0x5714d5
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5714d5
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5714d5
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x571595
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x571621
cmp edx, 0x80dc4cc9
je 0x571638
cmp edx, 0x7f3e42f
jne 0x5715e2
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x5715e2
cmp edx, 0x1aabc941
je 0x57163c
cmp edx, 0x5add25f0
jne 0x5715e2
mov edx, 0x80dc4cc9
jmp 0x5715e2
mov edx, ecx
jmp 0x5715e2
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x571948
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c3f64], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
mov edx, dword [edi]
mov edi, dword [edi + 4]
test cl, 1
jne 0x571681
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, 1
je 0x57167e
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x5716d4
cmp ecx, 0x9f04b71e
je 0x571731
cmp ecx, 0xaf18808
jne 0x5716b7
jmp 0x571592
cmp ecx, 0x3d9eb8cd
je 0x571760
cmp ecx, 0x6301b93d
jne 0x5716b7
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x5716b7
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x5716b7
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x5716b7
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x57177d
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x57180a
cmp edx, 0x80dc4cc9
je 0x571821
cmp edx, 0x7f3e42f
jne 0x5717c6
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x5717c6
cmp edx, 0x1aabc941
je 0x571825
cmp edx, 0x5add25f0
jne 0x5717c6
mov edx, 0x80dc4cc9
jmp 0x5717c6
mov edx, ecx
jmp 0x5717c6
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x573659
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x571862
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x57185f
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x5718b4
cmp ecx, 0x9f04b71e
je 0x571910
cmp ecx, 0xaf18808
jne 0x571897
jmp 0x57177a
cmp ecx, 0x3d9eb8cd
je 0x57193a
cmp ecx, 0x6301b93d
jne 0x571897
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x571897
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x571897
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x571897
cmp dword [esi + 4], 0x12345678
jne 0x57195b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x5719a1
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x572786
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x571a90
xor cl, al
je 0x585eea
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x572141
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x572100
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xbc
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x571bb0
cmp dword [esi + 4], 0xb018ea81
je 0x571bf1
cmp dword [esi + 4], 0xf7175d7a
jne 0x571b90
jmp 0x571c65
cmp dword [esi + 4], 0x1583cd3b
je 0x571c0f
cmp dword [esi + 4], 0x5a1cc736
jne 0x571b90
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x571b90
mov dword [esi + 0xf0], 0xbe
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x571b90
mov dword [esi + 0xf0], 0xbe
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x571b90
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x571c91
xor cl, al
je 0x571dba
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x571cf3
cmp ecx, 0x46df2edb
je 0x571d2f
cmp ecx, 0x766d7330
jne 0x571cd9
jmp 0x571d3a
cmp ecx, 0x80c66156
je 0x571d33
cmp ecx, 0xf2325ac5
jne 0x571cd9
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x571cd9
mov ecx, eax
jmp 0x571cd9
mov ecx, 0x46df2edb
jmp 0x571cd9
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x571d6f
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x20]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 0xc], edi
jne 0x571eb7
or cl, al
test cl, 1
je 0x571eb7
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x571e06
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x571e20
cmp ecx, 0x46df2edb
je 0x571e04
cmp ecx, 0x766d7330
jne 0x571e06
jmp 0x571e63
cmp ecx, 0x80c66156
je 0x571e5c
cmp ecx, 0xf2325ac5
jne 0x571e06
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x571e06
mov ecx, 0x46df2edb
jmp 0x571e06
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x571e98
mov dword [esi + 0xf0], 0xbc
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x571f04
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
test al, cl
jne 0x571a64
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
jne 0x571a64
jmp 0x585efa
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x20], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x57217f
jmp 0x572478
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x3c], edx
mov dword [esi + 0x48], eax
test eax, edx
sete byte [esi + 0x34]
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
sete al
mov dword [esi + 0x20], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea eax, [eax + eax*2]
mov dword [esi + 0x78], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
cmovne ebx, edi
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5721fb
cmp eax, 0x6675f964
je 0x572230
cmp eax, 0x7862661b
jne 0x5721e4
jmp 0x57223b
cmp eax, 0xd0a3dc29
je 0x572237
cmp eax, 0xd6d6a098
jne 0x5721e4
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x5721e4
mov eax, 0xd0a3dc29
jmp 0x5721e4
mov eax, ebx
jmp 0x5721e4
mov ecx, dword [esi + 4]
dec ecx
mov eax, dword [esi + 0x48]
test dword [esi + 0x3c], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x88], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x78]
lea eax, [ecx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x572298
cmp eax, 0x6675f964
je 0x5722d2
cmp eax, 0x7862661b
jne 0x572281
jmp 0x5722dd
cmp eax, 0xd0a3dc29
je 0x5722d9
cmp eax, 0xd6d6a098
jne 0x572281
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x572281
mov eax, 0xd0a3dc29
jmp 0x572281
mov eax, ebx
jmp 0x572281
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x88]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x90]
sbb ecx, dword [eax + 4]
jge 0x572442
mov eax, dword [esi + 0x48]
test dword [esi + 0x3c], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57232d
cmp eax, 0x6675f964
je 0x572367
cmp eax, 0x7862661b
jne 0x572316
cmp eax, 0xd0a3dc29
je 0x57236e
cmp eax, 0xd6d6a098
jne 0x572316
mov eax, 0xd0a3dc29
jmp 0x572316
mov eax, ebx
jmp 0x572316
mov ecx, dword [esi + 0x8c]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0xa0]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x57214b
xor al, cl
jne 0x57214b
jmp fcn.00585efc
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x57248d
cmp eax, dword [esi + 0x20]
je 0x57276c
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x572688
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x572688
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x5724db
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x572547
cmp ecx, 0xc1fd3d12
je 0x572582
cmp ecx, 0x3365058b
jne 0x572528
mov ecx, 0x7b4463f8
jmp 0x572528
cmp ecx, 0x7b4463f8
je 0x57257e
cmp ecx, 0x52166c0c
jne 0x572528
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x572528
mov ecx, eax
jmp 0x572528
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x572694
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 0x5725b1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x5725fb
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x5724c1
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x5726d7
cmp eax, 0x3e63df81
je 0x5726f5
cmp eax, 0x1d5864bd
je 0x572742
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x571a1a
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x5727ad
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x5735a8
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x572898
xor cl, al
je 0x585eee
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x572f4a
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x572f03
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xbf
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x5729b9
cmp dword [esi + 4], 0xb018ea81
je 0x5729f5
cmp dword [esi + 4], 0xf7175d7a
jne 0x572999
jmp 0x572a69
cmp dword [esi + 4], 0x1583cd3b
je 0x572a13
cmp dword [esi + 4], 0x5a1cc736
jne 0x572999
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x572999
mov dword [esi + 0xf0], 0xc1
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x572999
mov dword [esi + 0xf0], 0xc1
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x572999
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x572a95
xor cl, al
je 0x572bbd
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x572af7
cmp ecx, 0x46df2edb
je 0x572b33
cmp ecx, 0x766d7330
jne 0x572add
jmp 0x572b3e
cmp ecx, 0x80c66156
je 0x572b37
cmp ecx, 0xf2325ac5
jne 0x572add
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x572add
mov ecx, eax
jmp 0x572add
mov ecx, 0x46df2edb
jmp 0x572add
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x572b73
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x572c09
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x572c23
cmp ecx, 0x46df2edb
je 0x572c07
cmp ecx, 0x766d7330
jne 0x572c09
cmp ecx, 0x80c66156
je 0x572c5a
cmp ecx, 0xf2325ac5
jne 0x572c09
mov ecx, 0x46df2edb
jmp 0x572c09
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x3c], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x44], edi
cmp dl, ah
jne 0x572870
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x572870
jmp 0x585ef2
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x572f88
jmp 0x573291
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x44], edx
mov dword [esi + 0x48], eax
test eax, edx
sete byte [esi + 0x34]
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
sete al
mov dword [esi + 0x3c], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea eax, [eax + eax*2]
mov dword [esi + 0x78], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x573007
cmp edx, 0x6675f964
je 0x57303e
cmp edx, 0x7862661b
jne 0x572fed
jmp 0x573049
cmp edx, 0xd0a3dc29
je 0x573045
cmp edx, 0xd6d6a098
jne 0x572fed
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test al, al
cmove edx, edi
jmp 0x572fed
mov edx, 0xd0a3dc29
jmp 0x572fed
mov edx, ebx
jmp 0x572fed
mov ecx, dword [esi + 4]
dec ecx
mov eax, dword [esi + 0x48]
test dword [esi + 0x44], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x88], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x78]
lea eax, [ecx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5730a6
cmp eax, 0x6675f964
je 0x5730db
cmp eax, 0x7862661b
jne 0x57308f
jmp 0x5730e6
cmp eax, 0xd0a3dc29
je 0x5730e2
cmp eax, 0xd6d6a098
jne 0x57308f
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x57308f
mov eax, 0xd0a3dc29
jmp 0x57308f
mov eax, ebx
jmp 0x57308f
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x88]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x90]
sbb ecx, dword [eax + 4]
jge 0x573251
mov eax, dword [esi + 0x48]
test dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x573139
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0xa0]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x572f54
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x5732a6
cmp eax, dword [esi + 0x3c]
je 0x57358e
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
je 0x5734a1
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, 1
je 0x5734a1
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x5732fb
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x573365
cmp ecx, 0xc1fd3d12
je 0x5733a5
cmp ecx, 0x3365058b
jne 0x573346
cmp ecx, 0x7b4463f8
je 0x5733a1
cmp ecx, 0x52166c0c
jne 0x573346
mov ecx, eax
jmp 0x573346
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x5734ad
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x5732e0
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x572826
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c69b4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x57363a
cmp ecx, 0x150b35d3
je 0x573652
cmp ecx, 0x1e00e94d
jne 0x5735f6
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5735f6
cmp ecx, 0x3d9de5f5
je 0x57536d
cmp ecx, 0x3f6d87b9
jne 0x5735f6
mov ecx, eax
jmp 0x5735f6
mov ecx, 0x3f6d87b9
jmp 0x5735f6
cmp dword [esi + 4], 0x12345678
jne 0x57366c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x5736a9
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x574487
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x57379e
or cl, al
jne 0x585ed0
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x573e51
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x573e10
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xc4
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x5738be
cmp dword [esi + 4], 0xb018ea81
je 0x5738ff
cmp dword [esi + 4], 0xf7175d7a
jne 0x57389e
jmp 0x573979
cmp dword [esi + 4], 0x1583cd3b
je 0x57391d
cmp dword [esi + 4], 0x5a1cc736
jne 0x57389e
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x57389e
mov dword [esi + 0xf0], 0xc6
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x57389e
mov dword [esi + 0xf0], 0xc6
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x57389e
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x5739a4
xor cl, al
je 0x573acd
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x573a06
cmp ecx, 0x46df2edb
je 0x573a42
cmp ecx, 0x766d7330
jne 0x5739ec
jmp 0x573a4d
cmp ecx, 0x80c66156
je 0x573a46
cmp ecx, 0xf2325ac5
jne 0x5739ec
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5739ec
mov ecx, eax
jmp 0x5739ec
mov ecx, 0x46df2edb
jmp 0x5739ec
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x573a82
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x20]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 0xc], edi
jne 0x573bc5
or cl, al
test cl, 1
je 0x573bc5
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp fcn.00573b19
mov dword [esi + 0xf0], 0xc4
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x573c17
or cl, al
jne 0x585ede
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x573c62
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
test al, cl
jne 0x57376c
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
jne 0x57376c
jmp 0x585ee0
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x20], edx
cmp edx, ecx
jb 0x573e8f
jmp 0x57417d
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
and ecx, 1
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edi, eax
mov dword [esi + 4], edi
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x573f09
cmp eax, 0x6675f964
je 0x573f3e
cmp eax, 0x7862661b
jne 0x573ef2
jmp 0x573f4a
cmp eax, 0xd0a3dc29
je 0x573f45
cmp eax, 0xd6d6a098
jne 0x573ef2
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x573ef2
mov eax, 0xd0a3dc29
jmp 0x573ef2
mov eax, dword [esi + 4]
jmp 0x573ef2
mov edx, dword [esi + 0x20]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x20], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x573fa0
cmp eax, 0x6675f964
je 0x573fd5
cmp eax, 0x7862661b
jne 0x573f89
jmp 0x573fe1
cmp eax, 0xd0a3dc29
je 0x573fdc
cmp eax, 0xd6d6a098
jne 0x573f89
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test bl, bl
cmove eax, edx
jmp 0x573f89
mov eax, 0xd0a3dc29
jmp 0x573f89
mov eax, dword [esi + 4]
jmp 0x573f89
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x574147
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov edi, 0xd6d6a098
cmp edi, 0x6675f963
jle 0x57402d
cmp edi, 0x6675f964
je 0x574069
cmp edi, 0x7862661b
jne 0x574013
jmp fcn.00574075
cmp edi, 0xd0a3dc29
je 0x574070
cmp edi, 0xd6d6a098
jne 0x574013
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov edx, 0x6675f964
cmove edi, edx
test ah, ah
cmovne edi, ebx
jmp 0x574013
mov edi, 0xd0a3dc29
jmp 0x574013
mov edi, dword [esi + 4]
jmp 0x574013
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x573e5b
xor al, cl
jne 0x573e5b
jmp 0x585ee4
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x574192
cmp eax, dword [esi + 0x3c]
je 0x57446d
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x574389
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x574389
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x5741e0
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x57424c
cmp ecx, 0xc1fd3d12
je 0x57428c
cmp ecx, 0x3365058b
jne 0x57422d
mov ecx, 0x7b4463f8
jmp 0x57422d
cmp ecx, 0x7b4463f8
je 0x574288
cmp ecx, 0x52166c0c
jne 0x57422d
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x57422d
mov ecx, eax
jmp 0x57422d
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x574395
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 0x5742bb
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x574305
cmp eax, 0xc76c0d8d
je 0x57433e
cmp eax, 0x590bba57
je 0x5741dd
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x5741c6
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x5743d8
cmp eax, 0x3e63df81
je 0x5743f6
cmp eax, 0x5632c42c
jne 0x5743be
cmp eax, 0x1d5864bd
je 0x574443
cmp eax, 0x3ce7f0d1
jne 0x5743be
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5743be
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5743be
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x573722
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x5744b6
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x5752c0
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x5745ab
or cl, al
jne 0x585ed2
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x574c70
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x574c29
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xc7
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x5746cb
cmp dword [esi + 4], 0xb018ea81
je 0x574707
cmp dword [esi + 4], 0xf7175d7a
jne 0x5746ab
jmp 0x57477f
cmp dword [esi + 4], 0x1583cd3b
je 0x574725
cmp dword [esi + 4], 0x5a1cc736
jne 0x5746ab
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x5746ab
mov dword [esi + 0xf0], 0xc9
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x5746ab
mov dword [esi + 0xf0], 0xc9
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x5746ab
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x5747b0
or cl, al
jne 0x5748db
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x574815
cmp ecx, 0x46df2edb
je 0x574851
cmp ecx, 0x766d7330
jne 0x5747fb
jmp 0x57485c
cmp ecx, 0x80c66156
je 0x574855
cmp ecx, 0xf2325ac5
jne 0x5747fb
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5747fb
mov ecx, eax
jmp 0x5747fb
mov ecx, 0x46df2edb
jmp 0x5747fb
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x574891
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
mov dword [eax], edx
mov edx, dword [esi + 0x48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x3c]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x44]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x5749d9
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x574928
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x574942
cmp ecx, 0x46df2edb
je 0x574926
cmp ecx, 0x766d7330
jne 0x574928
jmp fcn.00574985
cmp ecx, 0x80c66156
je 0x57497e
cmp ecx, 0xf2325ac5
jne 0x574928
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x574928
mov ecx, 0x46df2edb
jmp 0x574928
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x3c], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x44], edi
cmp dl, ah
jne 0x574579
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x574579
jmp 0x585ed6
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x574cae
jmp 0x574f98
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x44], edx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
mov dword [esi + 0x3c], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea edx, [eax + eax*2]
mov dword [esi + 0x4c], ecx
lea eax, [ecx + edx*4]
mov dword [esi + 0x48], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x574d26
cmp edx, 0x6675f964
je 0x574d62
cmp edx, 0x7862661b
jne 0x574d0c
jmp 0x574d6d
cmp edx, 0xd0a3dc29
je 0x574d69
cmp edx, 0xd6d6a098
jne 0x574d0c
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x574d0c
mov edx, 0xd0a3dc29
jmp 0x574d0c
mov edx, ebx
jmp 0x574d0c
mov ecx, dword [esi + 4]
dec ecx
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x90], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x4c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x574dc5
cmp eax, 0x6675f964
je 0x574dff
cmp eax, 0x7862661b
jne 0x574dae
jmp 0x574e0a
cmp eax, 0xd0a3dc29
je 0x574e06
cmp eax, 0xd6d6a098
jne 0x574dae
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne eax, ecx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ecx
jmp 0x574dae
mov eax, 0xd0a3dc29
jmp 0x574dae
mov eax, ebx
jmp 0x574dae
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x78]
sbb ecx, dword [eax + 4]
jge 0x574f62
cmp dword [esi + 0x44], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x574e55
cmp eax, 0x6675f964
je 0x574e8f
cmp eax, 0xd0a3dc29
je 0x574e96
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x574c7a
xor al, cl
jne 0x574c7a
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x574fad
cmp eax, dword [esi + 0x3c]
je 0x5752a6
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x5751bb
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x5751bb
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x575008
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x575074
cmp ecx, 0xc1fd3d12
je 0x5750b4
cmp ecx, 0x3365058b
jne 0x575055
mov ecx, 0x7b4463f8
jmp 0x575055
cmp ecx, 0x7b4463f8
je 0x5750b0
cmp ecx, 0x52166c0c
jne 0x575055
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x575055
mov ecx, eax
jmp 0x575055
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x5751c7
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 0x5750e3
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x574fee
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x57520a
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x57452f
mov esp, dword [esi + 0xc0]
mov edx, dword [0x5c69b0]
mov ecx, dword [0x5c69b4]
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, 0x150b35d3
mov edi, 0x3d9de5f5
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x575352
cmp ecx, 0x150b35d3
je 0x575366
cmp ecx, 0x1e00e94d
jne 0x575313
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x575313
cmp ecx, 0x3d9de5f5
je 0x5753b6
cmp ecx, 0x3f6d87b9
jne 0x575313
mov ecx, eax
jmp 0x575313
mov ecx, 0x3f6d87b9
jmp 0x575313
mov esp, dword [esi + 0xc8]
mov edx, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
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, 0x7c4966b4
mov ebx, 0x9858f9d0
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x57041c
mov eax, 0xb3e2a994
mov esp, dword [esi + 0xc8]
jmp 0x57041c
mov eax, 0xd6670776
mov esp, dword [esi + 0xd0]
jmp 0x56503c
mov esp, dword [esi + 0xd0]
mov edx, dword [0x5c69a0]
mov ecx, dword [0x5c69a4]
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, 0x7ef29a83
mov ebx, 0xbd026deb
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x56503c
cmp byte [edi + 0x2d0], 0x30
jne 0x575498
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3fac], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x575498
or cl, al
je 0x575498
push 0
push 0
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
call edi
push 0
push 0
call edi
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3fac], 0xa
setl cl
test cl, al
jne 0x575498
xor cl, al
je 0x57545f
lea ecx, [esi + 0x60]
call fcn.0040ae90
mov ecx, dword [0x5c3fa8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3fac], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x575507
or cl, al
test cl, 1
je 0x575507
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0040ae90
mov ecx, edi
call fcn.0040ae90
mov eax, dword [0x5c3fa8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3fac], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x575507
or cl, al
jne 0x5754c9
mov eax, dword [0x5c69a0]
mov ecx, dword [0x5c69a4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xce]
cmp ecx, 0xa
setl byte [esi + 0xcf]
mov eax, 0xbfdf2516
mov edi, 0x52b7e1e4
cmp eax, 0xd6670775
jg 0x575585
cmp eax, 0xbd026deb
je 0x58590b
cmp eax, 0xbfdf2516
jne 0x57553a
movzx ecx, byte [esi + 0xce]
movzx eax, byte [esi + 0xcf]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x7ef29a83
mov ebx, 0xd6670776
cmovne eax, ebx
test cl, cl
mov ecx, 0x7ef29a83
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x57553a
cmp eax, 0xd6670776
je 0x57637d
cmp eax, 0x7ef29a83
jne 0x57553a
mov dword [esi + 0xa4], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c4084], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
test byte [esi + 0x10], 1
je 0x5755c6
mov dword [esi + 0x80], eax
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x8c], edi
lea eax, [edx + 0x10]
mov dword [esi + 0xb8], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0xb4], eax
mov ecx, 0xa
mov dword [esi + 0x90], ebx
cmp ecx, 0x1f3
mov eax, dword [esi + 0x30]
ja 0x5771a2
mov dword [esi + 0xa0], edx
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xc0], eax
shr eax, 1
mov dword [esi + 0x1c], eax
mov dword [esi + 0x10], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x98], eax
mov ebx, dword [0x5c4084]
mov ecx, dword [esi + 0x98]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x84], ecx
sete dl
mov dword [esi + 0x9c], ebx
cmp ebx, 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5756c1
or cl, al
test cl, 1
jne 0x585c88
mov edx, dword [esi + 0x1c]
mov eax, edx
imul eax, dword [esi + 0x10]
mulx ecx, ebx, edx
add eax, eax
add eax, ecx
mov edi, dword [esi + 0x88]
cmp ebx, edi
sbb eax, 0
jae 0x575d5e
sub edi, edx
mov ecx, edi
mov dword [esi + 0x5c], edi
mov ebx, 0
mov edi, dword [esi + 0x10]
sbb ebx, edi
mov dword [esi + 0x1c], edx
add edx, 1
mov dword [esi + 0x48], edx
adc edi, 0
push edi
push edx
push ebx
push ecx
call fcn.005893d0
mov dword [esi + 0x3c], edx
mov edx, eax
mulx ecx, edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov dword [esi + 0x58], eax
mov edx, eax
mov dword [esi + 0x78], edi
imul edx, edi
add ecx, edx
mov edx, dword [esi + 0x3c]
mov eax, dword [esi + 0x48]
imul edx, eax
add edx, ecx
mov ecx, dword [esi + 0x5c]
sub ecx, dword [esi + 0x4c]
sbb ebx, edx
mov edx, eax
or ebx, ecx
mov edi, dword [esi + 0x44]
mov ebx, dword [esi + 0x9c]
mov ecx, dword [esi + 0x84]
jne 0x575d2f
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x58]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x3c]
mov dword [edx + 0xc], eax
mov dword [esi + 0xf0], 0x91
mov ecx, dword [esi + 4]
push edi
push dword [esi + 0xb8]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp ebx, 0x1583cd3a
jg 0x5757d4
cmp ebx, 0xb018ea81
je 0x57585b
cmp ebx, 0xf7175d7a
jne 0x5757b3
jmp 0x575877
cmp ebx, 0x1583cd3b
je 0x57580b
cmp ebx, 0x5a1cc736
jne 0x5757b3
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x5757b0
mov dword [esi + 0xf0], 0x93
push dword [esi + 4]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ebx, 0xb018ea81
mov edx, 0xf7175d7a
cmove ebx, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x5757b0
mov dword [esi + 0xf0], 0x93
push dword [esi + 4]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x5757b0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5758a4
or cl, al
test cl, 1
jne 0x5759e7
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
mov ebx, dword [esi + 0x8c]
xor cl, dl
cmovne eax, edi
mov edi, dword [esi + 0x3c]
mov ecx, 0xf2325ac5
mov edx, dword [esi + 0x58]
cmp ecx, 0x46df2eda
jle 0x575912
cmp ecx, 0x46df2edb
je 0x57595a
cmp ecx, 0x766d7330
jne 0x5758f8
jmp 0x575965
cmp ecx, 0x80c66156
je 0x57595e
cmp ecx, 0xf2325ac5
jne 0x5758f8
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x3c]
test dh, dh
mov edx, dword [esi + 0x58]
cmovne ecx, ebx
mov ebx, dword [esi + 0x8c]
jmp 0x5758f8
mov ecx, eax
jmp 0x5758f8
mov ecx, 0x46df2edb
jmp 0x5758f8
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5759a0
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [esi + 0x90]
mov dword [eax], edx
mov dword [eax + 4], edi
mov edx, dword [esi + 0x1c]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x10]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x575af6
xor cl, al
jne 0x575af6
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x3c]
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
mov ebx, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
jmp 0x575a41
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x575a5b
cmp ecx, 0x46df2edb
je 0x575a3f
cmp ecx, 0x766d7330
jne 0x575a41
jmp 0x575aa2
cmp ecx, 0x80c66156
je 0x575a9b
cmp ecx, 0xf2325ac5
jne 0x575a41
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, dword [esi + 0x1c]
test dl, dl
mov edx, dword [esi + 0x10]
cmove ecx, edi
mov edi, dword [esi + 0x3c]
jmp 0x575a41
mov ecx, 0x46df2edb
jmp 0x575a41
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x575add
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x58]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
jmp 0x5758a4
mov dword [esi + 0xf0], 0x91
mov ecx, dword [esi + 0x20]
push ebx
push dword [esi + 0xb4]
push dword [esi + 0x90]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x575b46
or cl, al
jne 0x585cb8
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp ebx, 0x1583cd3a
jg 0x575b92
cmp ebx, 0xb018ea81
je 0x575c19
cmp ebx, 0xf7175d7a
jne 0x575b71
jmp 0x575c35
cmp ebx, 0x1583cd3b
je 0x575bc9
cmp ebx, 0x5a1cc736
jne 0x575b71
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x575b6e
mov dword [esi + 0xf0], 0x92
push dword [esi + 0x20]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ebx, 0xb018ea81
mov edx, 0xf7175d7a
cmove ebx, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x575b6e
mov dword [esi + 0xf0], 0x92
push dword [esi + 0x20]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x575b6e
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x575c98
cmp ecx, 0x46df2edb
je 0x575ccf
cmp ecx, 0x766d7330
jne 0x575c7e
jmp 0x575cda
cmp ecx, 0x80c66156
je 0x575cd3
cmp ecx, 0xf2325ac5
jne 0x575c7e
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x575c7e
mov ecx, eax
jmp 0x575c7e
mov ecx, 0x46df2edb
jmp 0x575c7e
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x575d12
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x5c4080]
mov ebx, dword [0x5c4084]
lea ecx, [eax - 1]
mov dword [esi + 0x98], eax
imul ecx, eax
and ecx, 1
mov edx, dword [esi + 0x48]
test ecx, ecx
sete al
cmp ebx, 0xa
setl cl
mov dword [esi + 0x1c], edx
mov edi, dword [esi + 0x78]
mov dword [esi + 0x10], edi
test al, cl
jne 0x575689
xor al, cl
mov dword [esi + 0x1c], edx
mov dword [esi + 0x10], edi
jne 0x575689
jmp 0x585ca4
mov edx, 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edi, edx
mov dword [esi + 0x78], edx
cmp edx, ecx
jb 0x575d92
jmp 0x576083
mov edi, dword [esi + 0x4c]
test edi, edi
je 0x57605b
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
and ecx, 1
mov dword [esi + 0x1c], ecx
sete byte [esi + 0x34]
mov ecx, eax
cmove ecx, edx
mov dword [esi + 0x10], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge ecx, eax
mov eax, dword [esi + 0x30]
mov edx, dword [eax]
lea eax, [edi + edi*2]
lea eax, [edx + eax*4]
mov dword [esi + 0x3c], eax
mov eax, 0xd6d6a098
mov dword [esi + 0x48], ecx
cmp eax, 0x6675f963
jle 0x575e09
cmp eax, 0x6675f964
je 0x575e4b
cmp eax, 0x7862661b
jne 0x575df2
jmp 0x575e56
cmp eax, 0xd0a3dc29
je 0x575e52
cmp eax, 0xd6d6a098
jne 0x575df2
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov dword [esi + 0x58], edx
mov ecx, edi
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
mov edi, ecx
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x58]
jmp 0x575df2
mov eax, 0xd0a3dc29
jmp 0x575df2
mov eax, ecx
jmp 0x575df2
dec edi
mov dword [esi + 0x4c], edi
cmp dword [esi + 0x1c], 0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ebx, dword [eax]
mov dword [esi + 0x84], ebx
mov ebx, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x24]
lea eax, [edi + edi*2]
lea eax, [edx + eax*4]
mov dword [esi + 0x58], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x575ea5
cmp eax, 0x6675f964
je 0x575ee0
cmp eax, 0x7862661b
jne 0x575e8e
jmp 0x575eeb
cmp eax, 0xd0a3dc29
je 0x575ee7
cmp eax, 0xd6d6a098
jne 0x575e8e
mov dword [esi + 0x5c], ebx
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test bl, bl
mov ebx, dword [esi + 0x5c]
cmove eax, edx
jmp 0x575e8e
mov eax, 0xd0a3dc29
jmp 0x575e8e
mov eax, ecx
jmp 0x575e8e
mov eax, dword [esi + 0x58]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x84]
cmp edx, dword [eax]
sbb ebx, dword [eax + 4]
jge 0x576048
cmp dword [esi + 0x1c], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x575f33
cmp eax, 0x6675f964
je 0x575f68
cmp eax, 0x7862661b
jne 0x575f1c
jmp 0x575f73
cmp eax, 0xd0a3dc29
je 0x575f6f
cmp eax, 0xd6d6a098
jne 0x575f1c
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x575f1c
mov eax, 0xd0a3dc29
jmp 0x575f1c
mov eax, ecx
jmp 0x575f1c
cmp dword [esi + 0x1c], 0
mov eax, dword [esi + 0x58]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x575fab
cmp ecx, 0x6675f964
je 0x575fe7
cmp ecx, 0x7862661b
jne 0x575f91
jmp 0x575ff3
cmp ecx, 0xd0a3dc29
je 0x575fee
cmp ecx, 0xd6d6a098
jne 0x575f91
movzx eax, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test cl, cl
mov ecx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne ecx, ebx
test al, al
mov eax, 0x6675f964
cmove ecx, eax
test dl, dl
cmovne ecx, ebx
jmp 0x575f91
mov ecx, 0xd0a3dc29
jmp 0x575f91
mov ecx, dword [esi + 0x48]
jmp 0x575f91
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edi
call fcn.00434540
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x98], eax
imul ecx, eax
mov eax, ecx
and eax, 1
sete dh
mov dword [esi + 0x9c], edi
cmp edi, 0xa
setge dl
setl bl
xor bl, dh
jne 0x575d87
or dl, cl
test dl, 1
je 0x575d87
jmp 0x585cb2
mov eax, dword [esi + 0x98]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov edx, dword [esi + 0x78]
inc edx
test eax, eax
sete al
cmp dword [esi + 0x9c], 0xa
setl cl
test al, cl
jne 0x575d63
xor al, cl
jne 0x575d63
jmp 0x585cd0
mov ecx, dword [esi + 0xb0]
mov dword [ecx], eax
jmp 0x576092
mov eax, dword [esi + 0x60]
mov eax, dword [ebx]
cmp eax, dword [esi + 0x1c]
je 0x576364
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
mov edi, dword [esi + 0x80]
jne 0x576288
mov edx, dword [eax]
mov dword [edi], edx
test cl, cl
je 0x576288
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x5760e4
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c40a4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov edi, 0x3365058b
cmovge eax, edi
xor cl, dl
cmovne eax, ebx
mov ecx, 0x52166c0c
jmp 0x576153
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
mov ebx, dword [esi + 0x80]
cmp ecx, 0x52166c0b
jg 0x576178
cmp ecx, 0xc1fd3d12
je 0x57618e
cmp ecx, 0x3365058b
jne 0x576159
mov ecx, 0x7b4463f8
jmp 0x576159
cmp ecx, 0x7b4463f8
je 0x57618a
cmp ecx, 0x52166c0c
jne 0x576159
jmp 0x57612e
mov ecx, eax
jmp 0x576159
mov eax, dword [ebx]
cmp eax, dword [esi + 0x10]
je 0x576291
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 0x5761ba
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x576202
cmp eax, 0xc76c0d8d
je 0x576240
cmp eax, 0x1f2e313
jne 0x5761e3
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x5761e3
cmp eax, 0x590bba57
je 0x5760e1
cmp eax, 0x74ccc71d
jne 0x5761e3
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x5761e3
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5761e3
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x5760cd
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
mov ebx, dword [esi + 0xb0]
cmp eax, 0x3e63df80
jle 0x5762d9
cmp eax, 0x3e63df81
je 0x5762f1
cmp eax, 0x5632c42c
jne 0x5762bf
jmp 0x57608d
cmp eax, 0x1d5864bd
je 0x576335
cmp eax, 0x3ce7f0d1
jne 0x5762bf
add dword [ebx], 0xc
mov eax, 0x3e63df81
jmp 0x5762bf
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5762bf
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x5762bf
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xa0]
jmp 0x57562f
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x5763a7
mov dword [esi + 0x3c], eax
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x48], edi
lea eax, [edx + 0x10]
mov dword [esi + 0xb4], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
mov dword [esi + 0xb8], edx
mov dword [esi + 0x88], ebx
cmp ecx, 0x1f3
mov eax, dword [esi + 0x30]
ja 0x5780c8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x1c], eax
mov dword [esi + 0x10], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x84], eax
mov edi, dword [0x5c4084]
mov eax, dword [esi + 0x84]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x5c], ecx
sete al
mov dword [esi + 0x98], edi
cmp edi, 0xa
setl cl
test cl, al
jne 0x576491
xor cl, al
je 0x585c8a
mov edx, dword [esi + 0x1c]
mov eax, edx
imul eax, dword [esi + 0x10]
mulx ecx, ebx, edx
add eax, eax
add eax, ecx
mov edi, dword [esi + 0xa0]
cmp ebx, edi
sbb eax, 0
jae 0x576b61
sub edi, edx
mov dword [esi + 0x9c], edi
mov edi, edx
mov ecx, 0
mov ebx, dword [esi + 0x10]
sbb ecx, ebx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x1c], edx
add edi, 1
adc ebx, 0
push ebx
push edi
push ecx
push dword [esi + 0x9c]
call fcn.005893d0
mov dword [esi + 0x80], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x78], edx
mov dword [esi + 0x58], eax
mov edx, eax
mov dword [esi + 0x8c], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x80]
mov dword [esi + 0x90], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x9c]
sub ecx, dword [esi + 0x78]
mov edi, dword [esi + 0x4c]
sbb edi, edx
or edi, ecx
mov ebx, dword [esi + 0x44]
mov edi, dword [esi + 0x98]
mov ecx, dword [esi + 0x5c]
jne 0x576b23
mov edx, dword [esi + 0xb8]
mov ecx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x58]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x80]
mov dword [edx + 0xc], eax
mov dword [esi + 0xf0], 0x77
mov ecx, dword [esi + 4]
push ebx
push dword [esi + 0xb4]
push edx
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov edi, 0x5a1cc736
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x30]
cmp edi, 0x1583cd3a
jg 0x5765be
cmp edi, 0xb018ea81
je 0x57664e
cmp edi, 0xf7175d7a
jne 0x57659d
jmp 0x57666d
cmp edi, 0x1583cd3b
je 0x5765fa
cmp edi, 0x5a1cc736
jne 0x57659d
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x57659a
mov dword [esi + 0xf0], 0x79
push dword [esi + 4]
call fcn.004330f0
mov ebx, dword [esi + 0x48]
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x57659a
mov dword [esi + 0xf0], 0x79
push dword [esi + 4]
call fcn.004330f0
mov edi, 0x1583cd3b
mov ebx, dword [esi + 0x48]
jmp 0x57659a
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x57669a
or cl, al
test cl, 1
jne 0x5767d7
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
mov edi, dword [esi + 0x58]
cmp ecx, 0x46df2eda
jle 0x576704
cmp ecx, 0x46df2edb
je 0x576746
cmp ecx, 0x766d7330
jne 0x5766ea
jmp 0x576751
cmp ecx, 0x80c66156
je 0x57674a
cmp ecx, 0xf2325ac5
jne 0x5766ea
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x58]
test dh, dh
cmovne ecx, ebx
mov ebx, dword [esi + 0x48]
jmp 0x5766ea
mov ecx, eax
jmp 0x5766ea
mov ecx, 0x46df2edb
jmp 0x5766ea
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x576789
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
mov edx, dword [esi + 0x88]
mov dword [edx], edi
mov edi, dword [esi + 0x80]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x1c]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x10]
mov dword [edx + 0xc], edi
jne 0x5768ec
or cl, al
test cl, 1
je 0x5768ec
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
mov ebx, dword [esi + 0x48]
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x58]
jmp 0x57682c
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x576846
cmp ecx, 0x46df2edb
je 0x57682a
cmp ecx, 0x766d7330
jne 0x57682c
jmp 0x576892
cmp ecx, 0x80c66156
je 0x57688b
cmp ecx, 0xf2325ac5
jne 0x57682c
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
mov edi, dword [esi + 0x58]
test dh, dh
mov edx, dword [esi + 0x10]
cmovne ecx, ebx
mov ebx, dword [esi + 0x48]
jmp 0x57682c
mov ecx, 0x46df2edb
jmp 0x57682c
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5768cd
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 4]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x88]
mov dword [eax], edi
mov ecx, dword [esi + 0x80]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x57669a
mov dword [esi + 0xf0], 0x77
mov ecx, dword [esi + 0x20]
push ebx
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x576936
xor cl, al
je 0x585cc2
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov ebx, 0x5a1cc736
mov ecx, dword [esi + 0x30]
cmp ebx, 0x1583cd3a
jg 0x576983
cmp ebx, 0xb018ea81
je 0x576a0b
cmp ebx, 0xf7175d7a
jne 0x576962
jmp 0x576a27
cmp ebx, 0x1583cd3b
je 0x5769ba
cmp ebx, 0x5a1cc736
jne 0x576962
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x57695f
mov dword [esi + 0xf0], pe_nt_image_headers32
push dword [esi + 0x20]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ebx, 0xb018ea81
mov edx, 0xf7175d7a
cmove ebx, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x57695f
mov dword [esi + 0xf0], pe_nt_image_headers32
push dword [esi + 0x20]
call fcn.004330f0
mov ebx, 0x1583cd3b
jmp 0x57695f
mov eax, dword [0x5c4090]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x576a8a
cmp ecx, 0x46df2edb
je 0x576ac1
cmp ecx, 0x766d7330
jne 0x576a70
jmp 0x576acc
cmp ecx, 0x80c66156
je 0x576ac5
cmp ecx, 0xf2325ac5
jne 0x576a70
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x576a70
mov ecx, eax
jmp 0x576a70
mov ecx, 0x46df2edb
jmp 0x576a70
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x576b04
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea eax, [ecx + 1]
mov dword [esi + 0x84], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
test ecx, ecx
sete ch
setne al
cmp edi, 0xa
setl ah
setge cl
mov edx, dword [esi + 0x90]
mov dword [esi + 0x1c], edx
mov ebx, dword [esi + 0x8c]
mov dword [esi + 0x10], ebx
cmp ch, ah
jne 0x576464
or al, cl
mov dword [esi + 0x1c], edx
mov dword [esi + 0x10], ebx
je 0x576464
jmp 0x585c96
mov ebx, 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edi, ebx
mov dword [esi + 0x78], ebx
cmp ebx, ecx
jb 0x576b9b
jmp 0x576ea0
mov dword [esi + 0x98], edi
mov edi, dword [esi + 0x4c]
test edi, edi
je 0x576e72
mov eax, dword [0x5c4098]
mov edx, dword [0x5c409c]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x58], ecx
sete byte [esi + 0x34]
sete al
mov ebx, 0x6675f964
mov ecx, 0x7862661b
cmove ebx, ecx
mov dword [esi + 0x1c], edx
cmp edx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
lea edx, [edi + edi*2]
mov dword [esi + 0x9c], eax
lea eax, [eax + edx*4]
mov dword [esi + 0x80], eax
cmovne ebx, ecx
mov dword [esi + 0x10], ebx
mov edx, 0xd6d6a098
mov ebx, edi
cmp edx, 0x6675f963
jle 0x576c1b
cmp edx, 0x6675f964
je 0x576c52
cmp edx, 0x7862661b
jne 0x576c01
jmp 0x576c5e
cmp edx, 0xd0a3dc29
je 0x576c59
cmp edx, 0xd6d6a098
jne 0x576c01
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test al, al
cmove edx, edi
jmp 0x576c01
mov edx, 0xd0a3dc29
jmp 0x576c01
mov edx, dword [esi + 0x10]
jmp 0x576c01
dec ebx
cmp dword [esi + 0x58], 0
mov ecx, dword [esi + 0x80]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov edx, dword [eax + 4]
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x4c], ebx
lea eax, [ebx + ebx*2]
mov ecx, dword [esi + 0x9c]
lea eax, [ecx + eax*4]
mov dword [esi + 0x9c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x576cb3
cmp eax, 0x6675f964
je 0x576cf2
cmp eax, 0x7862661b
jne 0x576c9c
jmp 0x576cfe
cmp eax, 0xd0a3dc29
je 0x576cf9
cmp eax, 0xd6d6a098
jne 0x576c9c
mov dword [esi + 0x5c], edx
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov ebx, edi
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
mov edx, dword [esi + 0x5c]
cmove eax, edi
mov edi, ebx
jmp 0x576c9c
mov eax, 0xd0a3dc29
jmp 0x576c9c
mov eax, dword [esi + 0x10]
jmp 0x576c9c
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
cmp edi, dword [eax]
sbb edx, dword [eax + 4]
jge 0x576e63
cmp dword [esi + 0x58], 0
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x576d46
cmp edx, 0x6675f964
je 0x576d82
cmp edx, 0x7862661b
jne 0x576d2c
jmp 0x576d8e
cmp edx, 0xd0a3dc29
je 0x576d89
cmp edx, 0xd6d6a098
jne 0x576d2c
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x576d2c
mov edx, 0xd0a3dc29
jmp 0x576d2c
mov edx, dword [esi + 0x10]
jmp 0x576d2c
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ebx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x576dc9
cmp ecx, 0x6675f964
je 0x576e05
cmp ecx, 0x7862661b
jne 0x576daf
jmp 0x576e11
cmp ecx, 0xd0a3dc29
je 0x576e0c
cmp ecx, 0xd6d6a098
jne 0x576daf
movzx eax, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ah, al
xor ah, cl
test cl, cl
mov ecx, 0x6675f964
mov edx, 0xd0a3dc29
cmovne ecx, edx
test al, al
mov edi, 0x6675f964
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x576daf
mov ecx, 0xd0a3dc29
jmp 0x576daf
mov ecx, dword [esi + 0x10]
jmp 0x576daf
mov eax, dword [esi + 0x80]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push ebx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x84], eax
imul ecx, eax
mov eax, ecx
and eax, 1
sete dh
cmp edi, 0xa
setl bl
setge dl
cmp bl, dh
jne 0x576b8a
or dl, cl
test dl, 1
je 0x576b8a
jmp 0x585ca8
mov ecx, dword [esi + 0x84]
lea eax, [ecx - 1]
imul eax, ecx
and eax, 1
mov ebx, dword [esi + 0x78]
inc ebx
test eax, eax
sete dl
setne al
cmp dword [esi + 0x98], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x576b66
or al, cl
je 0x576b66
jmp 0x585cd2
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x576eaf
mov eax, dword [esi + 0x60]
mov eax, dword [ebx]
cmp eax, dword [esi + 0x1c]
je 0x57718f
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
mov edi, dword [esi + 0x3c]
je 0x5770b2
mov edx, dword [eax]
mov dword [edi], edx
test cl, 1
je 0x5770b2
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x576f04
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x576f70
cmp ecx, 0xc1fd3d12
je 0x576fb3
cmp ecx, 0x3365058b
jne 0x576f51
mov ecx, 0x7b4463f8
jmp 0x576f51
cmp ecx, 0x7b4463f8
je 0x576faf
cmp ecx, 0x52166c0c
jne 0x576f51
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
mov edi, dword [esi + 0x3c]
jmp 0x576f51
mov ecx, eax
jmp 0x576f51
mov eax, dword [edi]
cmp eax, dword [esi + 0x10]
je 0x5770bb
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 0x576fdf
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x577027
cmp eax, 0xc76c0d8d
je 0x577063
cmp eax, 0x1f2e313
jne 0x577008
add dword [edi], 8
mov eax, 0xc76c0d8d
jmp 0x577008
cmp eax, 0x590bba57
je 0x576f01
cmp eax, 0x74ccc71d
jne 0x577008
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
mov edi, dword [esi + 0x3c]
test cl, cl
cmove eax, edx
jmp 0x577008
mov dword [esi + 0x60], edi
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
mov edi, dword [esi + 0x3c]
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x577008
mov edx, dword [eax]
mov dword [edi], edx
jmp 0x576eec
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
mov ebx, dword [esi + 0xa4]
cmp eax, 0x3e63df80
jle 0x577103
cmp eax, 0x3e63df81
je 0x57711b
cmp eax, 0x5632c42c
jne 0x5770e9
jmp 0x576eaa
cmp eax, 0x1d5864bd
je 0x577160
cmp eax, 0x3ce7f0d1
jne 0x5770e9
add dword [ebx], 0xc
mov eax, 0x3e63df81
jmp 0x5770e9
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5770e9
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x5770e9
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
jmp 0x576410
mov esp, dword [esi + 0xa4]
mov dword [esi + 0xd0], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x5771d9
mov dword [esi + 0x58], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa0], edi
lea eax, [edi + 0x10]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x88], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x577ff9
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x5c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x5c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x80], ecx
sete dl
cmp dword [esi + 0x48], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5772c5
or cl, al
test cl, 1
jne 0x585cea
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x4c]
sbb eax, 0
jae 0x577996
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x10]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x90], eax
mov eax, 0
mov ebx, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x78], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x3c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x8c], edx
mov dword [esi + 0x9c], eax
mov edx, eax
mov dword [esi + 0x84], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x98], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x90]
sub eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x78]
sbb ecx, edx
or ecx, eax
jne 0x57794c
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x94
mov ecx, dword [esi + 4]
push dword [esi + 0x44]
push dword [esi + 0xb8]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x80], 0x5a1cc736
mov eax, dword [esi + 0x80]
cmp eax, 0x1583cd3a
jg 0x5773e3
cmp eax, 0xb018ea81
je 0x577423
cmp eax, 0xf7175d7a
jne 0x5773c9
jmp 0x5774a6
cmp eax, 0x1583cd3b
je 0x577447
cmp eax, 0x5a1cc736
jne 0x5773c9
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 0x80], edi
jmp 0x5773c3
mov dword [esi + 0xf0], 0x96
mov dword [esi + 0x80], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
jmp 0x5773c3
mov dword [esi + 0xf0], 0x96
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x5773c3
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5774d7
or cl, al
jne 0x577604
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x57753c
cmp ecx, 0x46df2edb
je 0x577573
cmp ecx, 0x766d7330
jne 0x577522
jmp 0x57757e
cmp ecx, 0x80c66156
je 0x577577
cmp ecx, 0xf2325ac5
jne 0x577522
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x577522
mov ecx, eax
jmp 0x577522
mov ecx, 0x46df2edb
jmp 0x577522
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5775b3
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
mov edx, dword [esi + 0x88]
mov edi, dword [esi + 0x9c]
mov dword [edx], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x10]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x1c]
mov dword [edx + 0xc], edi
jne 0x577707
or cl, al
test cl, 1
je 0x577707
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x577655
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x57766f
cmp ecx, 0x46df2edb
je 0x577653
cmp ecx, 0x766d7330
jne 0x577655
jmp 0x5776ad
cmp ecx, 0x80c66156
je 0x5776a6
cmp ecx, 0xf2325ac5
jne 0x577655
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x577655
mov ecx, 0x46df2edb
jmp 0x577655
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5776e2
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x5774d7
mov dword [esi + 0xf0], 0x94
mov ecx, dword [esi + 0x20]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x577756
xor cl, al
je 0x585d1a
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x10], 0x5a1cc736
mov eax, dword [esi + 0x10]
cmp eax, 0x1583cd3a
jg 0x57779d
cmp eax, 0xb018ea81
je 0x5777d5
cmp eax, 0xf7175d7a
jne 0x577783
jmp 0x57784d
cmp eax, 0x1583cd3b
je 0x5777f3
cmp eax, 0x5a1cc736
jne 0x577783
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x10], ecx
jmp 0x577780
mov dword [esi + 0xf0], 0x95
mov dword [esi + 0x10], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x20]
call fcn.004330f0
jmp 0x577780
mov dword [esi + 0xf0], 0x95
mov ecx, dword [esi + 0x30]
push dword [esi + 0x20]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 0x10], ecx
jmp 0x577780
mov eax, dword [0x5c4090]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5778b0
cmp ecx, 0x46df2edb
je 0x5778ec
cmp ecx, 0x766d7330
jne 0x577896
jmp 0x5778f7
cmp ecx, 0x80c66156
je 0x5778f0
cmp ecx, 0xf2325ac5
jne 0x577896
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x577896
mov ecx, eax
jmp 0x577896
mov ecx, 0x46df2edb
jmp 0x577896
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x57792c
mov edi, dword [esi + 0x20]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
mov ecx, dword [0x5c4084]
mov dword [esi + 0x48], ecx
lea ecx, [eax + 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
and ecx, 1
mov dword [esi + 0x80], ecx
cmp dword [esi + 0x80], 0
sete al
cmp dword [esi + 0x48], 0xa
setl cl
mov edx, dword [esi + 0x98]
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x84]
mov dword [esi + 0x1c], edx
test al, cl
jne 0x577295
xor al, cl
mov eax, dword [esi + 0x98]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x1c], eax
jne 0x577295
jmp 0x585cf0
mov dword [esi + 0x78], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x78]
mov edi, edx
mov dword [esi + 0x1c], edx
cmp edx, ecx
jb 0x5779ce
jmp 0x577ce6
cmp dword [esi + 0x1c], 0
je 0x577cbc
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x80], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 0x10], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0x1c]
lea edx, [eax + eax*2]
mov dword [esi + 0x98], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x9c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x577a58
cmp edx, 0x6675f964
je 0x577a94
cmp edx, 0x7862661b
jne 0x577a3e
jmp 0x577aa0
cmp edx, 0xd0a3dc29
je 0x577a9b
cmp edx, 0xd6d6a098
jne 0x577a3e
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edx, ebx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x577a3e
mov edx, 0xd0a3dc29
jmp 0x577a3e
mov edx, dword [esi + 0x10]
jmp 0x577a3e
mov edx, dword [esi + 0x1c]
dec edx
test dword [esi + 0x80], ecx
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x4c], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x84], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x1c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x98]
lea eax, [edx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x577b03
cmp eax, 0x6675f964
je 0x577b3d
cmp eax, 0x7862661b
jne 0x577aec
jmp 0x577b49
cmp eax, 0xd0a3dc29
je 0x577b44
cmp eax, 0xd6d6a098
jne 0x577aec
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test dl, dl
mov edi, 0x6675f964
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x577aec
mov eax, 0xd0a3dc29
jmp 0x577aec
mov eax, dword [esi + 0x10]
jmp 0x577aec
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x4c]
cmp edx, dword [eax]
mov edx, dword [esi + 0x84]
sbb edx, dword [eax + 4]
jge 0x577cac
test dword [esi + 0x80], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x577b99
cmp eax, 0x6675f964
je 0x577bce
cmp eax, 0x7862661b
jne 0x577b82
jmp 0x577bda
cmp eax, 0xd0a3dc29
je 0x577bd5
cmp eax, 0xd6d6a098
jne 0x577b82
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x577b82
mov eax, 0xd0a3dc29
jmp 0x577b82
mov eax, dword [esi + 0x10]
jmp 0x577b82
test dword [esi + 0x80], ecx
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x577c14
cmp eax, 0x6675f964
je 0x577c4e
cmp eax, 0x7862661b
jne 0x577bfd
jmp 0x577c5a
cmp eax, 0xd0a3dc29
je 0x577c55
cmp eax, 0xd6d6a098
jne 0x577bfd
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ch, cl
xor ch, al
test al, al
mov eax, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne eax, ebx
test cl, cl
mov edi, 0x6675f964
cmove eax, edi
test ch, ch
cmovne eax, ebx
jmp 0x577bfd
mov eax, 0xd0a3dc29
jmp 0x577bfd
mov eax, dword [esi + 0x10]
jmp 0x577bfd
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edi, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
mov eax, ecx
and eax, 1
sete dh
mov dword [esi + 0x48], edi
cmp edi, 0xa
setge dl
setl bl
xor bl, dh
jne 0x5779c4
or dl, cl
test dl, 1
je 0x5779c4
jmp 0x585d06
mov eax, dword [esi + 0x5c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x78]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x48], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x57799d
or al, cl
je 0x57799d
jmp 0x585d22
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x577cfb
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x577fdf
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x577ef1
mov edx, dword [eax]
mov edi, dword [esi + 0x58]
mov dword [edi], edx
test cl, cl
je 0x577ef1
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x577d49
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c40a4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov edi, 0x3365058b
cmovge eax, edi
xor cl, dl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x577db0
cmp ecx, 0xc1fd3d12
je 0x577deb
cmp ecx, 0x3365058b
jne 0x577d91
mov ecx, 0x7b4463f8
jmp 0x577d91
cmp ecx, 0x7b4463f8
je 0x577de7
cmp ecx, 0x52166c0c
jne 0x577d91
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x577d91
mov ecx, eax
jmp 0x577d91
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x577efd
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 0x577e1a
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
mov ebx, dword [esi + 0x58]
cmp eax, 0x590bba56
jg 0x577e65
cmp eax, 0xc76c0d8d
je 0x577ea3
cmp eax, 0x1f2e313
jne 0x577e46
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x577e46
cmp eax, 0x590bba57
je 0x577d46
cmp eax, 0x74ccc71d
jne 0x577e46
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x577e46
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x577e46
mov edx, dword [eax]
mov edi, dword [esi + 0x58]
mov dword [edi], edx
jmp 0x577d2f
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x577f40
cmp eax, 0x3e63df81
je 0x577f5e
cmp eax, 0x5632c42c
jne 0x577f26
jmp 0x577cf0
cmp eax, 0x1d5864bd
je 0x577fb0
cmp eax, 0x3ce7f0d1
jne 0x577f26
mov eax, dword [esi + 0xa4]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x577f26
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov ebx, 0x5632c42c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x577f26
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x577f26
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x577251
mov esp, dword [esi + 0xc0]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x578fd0
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x97
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
inc dword [esi + 4]
cmp ch, dl
jne 0x57803a
or cl, al
test cl, 1
je 0x57803a
jmp 0x585d3c
mov esp, dword [esi + 0xc0]
mov dword [esi + 0xd0], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x10], al
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 4], esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x20], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov eax, esp
cmp byte [esi + 0x10], 0
je 0x578106
mov dword [esi + 0x58], eax
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xb4], edx
mov dword [esi + 0xa0], edi
lea eax, [edi + 0x10]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x88], ecx
lea eax, [ecx + 0x10]
mov dword [esi + 0xb0], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x578f03
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x5c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x5c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x80], ecx
sete dl
cmp dword [esi + 0x48], 0xa
setge cl
setl ch
xor ch, dl
jne 0x5781f2
or cl, al
test cl, 1
jne 0x585cde
mov edx, dword [esi + 0x10]
mov eax, edx
imul eax, dword [esi + 0x1c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x4c]
sbb eax, 0
jae 0x5788b9
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x10]
sub eax, edi
mov ecx, eax
mov dword [esi + 0x90], eax
mov eax, 0
mov ebx, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x78], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x3c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x8c], edx
mov dword [esi + 0x9c], eax
mov edx, eax
mov dword [esi + 0x84], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x98], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0x90]
sub eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x78]
sbb ecx, edx
or ecx, eax
jne 0x57886f
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x7a
mov ecx, dword [esi + 4]
push dword [esi + 0x44]
push dword [esi + 0xb8]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x80], 0x5a1cc736
mov eax, dword [esi + 0x80]
cmp eax, 0x1583cd3a
jg 0x578310
cmp eax, 0xb018ea81
je 0x57834b
cmp eax, 0xf7175d7a
jne 0x5782f6
jmp 0x5783c5
cmp eax, 0x1583cd3b
je 0x57836c
cmp eax, 0x5a1cc736
jne 0x5782f6
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 0x80], ecx
jmp 0x5782f0
mov dword [esi + 0xf0], 0x7c
mov dword [esi + 0x80], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
jmp 0x5782f0
mov dword [esi + 0xf0], 0x7c
mov ecx, dword [esi + 0x30]
push dword [esi + 4]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 0x80], edi
jmp 0x5782f0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x5783f2
or cl, al
test cl, 1
jne 0x578521
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x578455
cmp ecx, 0x46df2edb
je 0x57848c
cmp ecx, 0x766d7330
jne 0x57843b
jmp 0x578497
cmp ecx, 0x80c66156
je 0x578490
cmp ecx, 0xf2325ac5
jne 0x57843b
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57843b
mov ecx, eax
jmp 0x57843b
mov ecx, 0x46df2edb
jmp 0x57843b
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5784cc
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x88]
mov eax, dword [esi + 0x9c]
mov dword [edi], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x1c]
mov dword [edi + 0xc], ecx
setl ah
setge cl
cmp ah, dl
jne 0x57861f
or cl, al
je 0x57861f
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x57856d
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x578587
cmp ecx, 0x46df2edb
je 0x57856b
cmp ecx, 0x766d7330
jne 0x57856d
jmp 0x5785c5
cmp ecx, 0x80c66156
je 0x5785be
cmp ecx, 0xf2325ac5
jne 0x57856d
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57856d
mov ecx, 0x46df2edb
jmp 0x57856d
mov ecx, dword [esi + 4]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5785fa
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x5783f2
mov dword [esi + 0xf0], 0x7a
mov ecx, dword [esi + 0x20]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push dword [esi + 0x88]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x578670
or cl, al
test cl, 1
jne 0x585d10
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 0x10], 0x5a1cc736
mov eax, dword [esi + 0x10]
cmp eax, 0x1583cd3a
jg 0x5786b7
cmp eax, 0xb018ea81
je 0x5786f4
cmp eax, 0xf7175d7a
jne 0x57869d
jmp 0x578768
cmp eax, 0x1583cd3b
je 0x578712
cmp eax, 0x5a1cc736
jne 0x57869d
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 0x10], edi
jmp 0x57869a
mov dword [esi + 0xf0], 0x7b
mov dword [esi + 0x10], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x20]
call fcn.004330f0
jmp 0x57869a
mov dword [esi + 0xf0], 0x7b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x20]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 0x10], edi
jmp 0x57869a
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5787cf
cmp ecx, 0x46df2edb
je 0x57880b
cmp ecx, 0x766d7330
jne 0x5787b5
jmp 0x578816
cmp ecx, 0x80c66156
je 0x57880f
cmp ecx, 0xf2325ac5
jne 0x5787b5
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5787b5
mov ecx, eax
jmp 0x5787b5
mov ecx, 0x46df2edb
jmp 0x5787b5
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x57884b
mov edi, dword [esi + 0x20]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [0x5c4080]
mov eax, dword [0x5c4084]
mov dword [esi + 0x48], eax
lea eax, [ecx + 1]
mov dword [esi + 0x5c], ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x80], ecx
cmp dword [esi + 0x80], 0
sete al
cmp dword [esi + 0x48], 0xa
setl cl
mov edx, dword [esi + 0x98]
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x84]
mov dword [esi + 0x1c], edx
test al, cl
jne 0x5781c2
xor al, cl
mov eax, dword [esi + 0x98]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x1c], eax
jne 0x5781c2
jmp 0x585cf2
mov dword [esi + 0x78], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x78]
mov edi, edx
mov dword [esi + 0x1c], edx
cmp edx, ecx
jb 0x5788f1
jmp 0x578bfc
cmp dword [esi + 0x1c], 0
je 0x578bd2
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x80], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 0x10], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0x1c]
lea edx, [eax + eax*2]
mov dword [esi + 0x98], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x9c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x57897b
cmp edx, 0x6675f964
je 0x5789b2
cmp edx, 0x7862661b
jne 0x578961
jmp 0x5789be
cmp edx, 0xd0a3dc29
je 0x5789b9
cmp edx, 0xd6d6a098
jne 0x578961
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x578961
mov edx, 0xd0a3dc29
jmp 0x578961
mov edx, dword [esi + 0x10]
jmp 0x578961
mov edx, dword [esi + 0x1c]
dec edx
test dword [esi + 0x80], ecx
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x4c], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x84], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x1c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x98]
lea eax, [edx + eax*4]
mov dword [esi + 0x98], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x578a21
cmp eax, 0x6675f964
je 0x578a56
cmp eax, 0x7862661b
jne 0x578a0a
jmp 0x578a62
cmp eax, 0xd0a3dc29
je 0x578a5d
cmp eax, 0xd6d6a098
jne 0x578a0a
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x578a0a
mov eax, 0xd0a3dc29
jmp 0x578a0a
mov eax, dword [esi + 0x10]
jmp 0x578a0a
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x4c]
cmp edx, dword [eax]
mov edx, dword [esi + 0x84]
sbb edx, dword [eax + 4]
jge 0x578bc6
test dword [esi + 0x80], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x578ab5
cmp edx, 0x6675f964
je 0x578af1
cmp edx, 0x7862661b
jne 0x578a9b
jmp 0x578afd
cmp edx, 0xd0a3dc29
je 0x578af8
cmp edx, 0xd6d6a098
jne 0x578a9b
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edx, ebx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x578a9b
mov edx, 0xd0a3dc29
jmp 0x578a9b
mov edx, dword [esi + 0x10]
jmp 0x578a9b
test dword [esi + 0x80], ecx
mov eax, dword [esi + 0x98]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x578b37
cmp eax, 0x6675f964
je 0x578b6c
cmp eax, 0x7862661b
jne 0x578b20
jmp 0x578b78
cmp eax, 0xd0a3dc29
je 0x578b73
cmp eax, 0xd6d6a098
jne 0x578b20
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test cl, cl
cmove eax, edi
jmp 0x578b20
mov eax, 0xd0a3dc29
jmp 0x578b20
mov eax, dword [esi + 0x10]
jmp 0x578b20
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push edx
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x5c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete cl
mov dword [esi + 0x48], edx
cmp edx, 0xa
setl dl
test dl, cl
jne 0x5788e7
xor dl, cl
jne 0x5788e7
jmp 0x585d08
mov ecx, dword [esi + 0x5c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x78]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x48], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x5788c0
or al, cl
je 0x5788c0
jmp 0x585d24
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
jmp 0x578c11
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x578ee9
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x578e01
mov edx, dword [eax]
mov edi, dword [esi + 0x58]
mov dword [edi], edx
test cl, cl
je 0x578e01
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x578c5f
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x578cc7
cmp ecx, 0xc1fd3d12
je 0x578d07
cmp ecx, 0x3365058b
jne 0x578ca8
mov ecx, 0x7b4463f8
jmp 0x578ca8
cmp ecx, 0x7b4463f8
je 0x578d03
cmp ecx, 0x52166c0c
jne 0x578ca8
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x578ca8
mov ecx, eax
jmp 0x578ca8
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
cmp eax, dword [esi + 0x10]
je 0x578e0d
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 0x578d36
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
mov ebx, dword [esi + 0x58]
cmp eax, 0x590bba56
jg 0x578d80
cmp eax, 0xc76c0d8d
je 0x578db9
cmp eax, 0x1f2e313
jne 0x578d61
add dword [ebx], 8
mov eax, 0xc76c0d8d
jmp 0x578d61
cmp eax, 0x590bba57
je 0x578c5c
cmp eax, 0x74ccc71d
jne 0x578d61
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x578d61
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x578d61
mov edx, dword [eax]
mov edi, dword [esi + 0x58]
mov dword [edi], edx
jmp 0x578c45
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x578e4f
cmp eax, 0x3e63df81
je 0x578e6d
cmp eax, 0x5632c42c
jne 0x578e35
jmp 0x578c06
cmp eax, 0x1d5864bd
je 0x578eba
cmp eax, 0x3ce7f0d1
jne 0x578e35
mov eax, dword [esi + 0xa4]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x578e35
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x578e35
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x578e35
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x57817e
mov esp, dword [esi + 0xc0]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x579668
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x7d
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x578f44
xor cl, al
jne 0x578f44
jmp 0x585d2e
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57905e
cmp ecx, 0xc56a9b93
je 0x5790bc
cmp ecx, 0xd3cadfc0
jne 0x57901b
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57901b
cmp ecx, 0x5722fc0f
je 0x5790c9
cmp ecx, 0x615aa6db
jne 0x57901b
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x57901b
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57901b
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete dl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x579158
cmp ecx, 0x80dc4cc9
je 0x57916f
cmp ecx, 0x7f3e42f
jne 0x579114
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x579114
cmp ecx, 0x1aabc941
je 0x579173
cmp ecx, 0x5add25f0
jne 0x579114
mov ecx, 0x80dc4cc9
jmp 0x579114
mov ecx, eax
jmp 0x579114
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x579d01
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x579203
cmp ecx, 0xc56a9b93
je 0x579260
cmp ecx, 0xd3cadfc0
jne 0x5791bb
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x5791bb
cmp ecx, 0x5722fc0f
je 0x57926d
cmp ecx, 0x615aa6db
jne 0x5791bb
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x5791bb
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x5791bb
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x57927e
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x579472
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, al
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, 1
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x579343
cmp ebx, 0x80dc4cc9
je 0x57935a
cmp ebx, 0x7f3e42f
jne 0x5792fd
movzx ebx, byte [esi + 0xf]
mov byte [esi + 0x10], bl
mov ch, byte [esi + 8]
xor bl, ch
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test ch, ch
mov ebx, edx
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
cmp byte [esi + 0x10], 0
cmove ebx, edx
jmp 0x5792fd
cmp ebx, 0x1aabc941
je 0x57935e
cmp ebx, 0x5add25f0
jne 0x5792fd
mov ebx, 0x80dc4cc9
jmp 0x5792fd
mov ebx, eax
jmp 0x5792fd
cmp byte [esi + 0x1c], 0
je 0x579482
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x57951c
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x579563
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x5793e4
cmp eax, 0x9f04b71e
je 0x57943a
cmp eax, 0xaf18808
jne 0x5793ca
jmp 0x57927b
cmp eax, 0x3d9eb8cd
je 0x579464
cmp eax, 0x6301b93d
jne 0x5793ca
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5793ca
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5793ca
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x5793ca
mov ecx, dword [esi + 0x30]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x5add25f0
mov ecx, 0x1aabc941
cmovne eax, ecx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov ebx, 0x7f3e42f
jmp 0x5794bd
mov ebx, edi
cmp ebx, 0x1aabc940
jg 0x579501
cmp ebx, 0x80dc4cc9
je 0x5794bb
cmp ebx, 0x7f3e42f
jne 0x5794bd
movzx eax, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov edx, ecx
xor dl, al
test cl, cl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test al, al
mov eax, 0x5add25f0
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x5794bd
cmp ebx, 0x1aabc941
je 0x5792b9
cmp ebx, 0x5add25f0
jne 0x5794bd
mov ebx, 0x80dc4cc9
jmp 0x5794bd
mov dword [esi + 0xf0], 0x98
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x579598
or cl, al
je 0x579598
jmp 0x585d40
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x579598
xor cl, al
je 0x585d52
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x5795da
cmp eax, 0x9f04b71e
je 0x579630
cmp eax, 0xaf18808
jne 0x5795c0
jmp 0x5790c9
cmp eax, 0x3d9eb8cd
je 0x57965a
cmp eax, 0x6301b93d
jne 0x5795c0
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5795c0
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5795c0
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x5795c0
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5796fa
cmp ecx, 0xc56a9b93
je 0x57975d
cmp ecx, 0xd3cadfc0
jne 0x5796b2
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x5796b2
cmp ecx, 0x5722fc0f
je 0x57976a
cmp ecx, 0x615aa6db
jne 0x5796b2
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x5796b2
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x5796b2
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x5797fe
cmp ecx, 0x80dc4cc9
je 0x579815
cmp ecx, 0x7f3e42f
jne 0x5797ba
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5797ba
cmp ecx, 0x1aabc941
je 0x579819
cmp ecx, 0x5add25f0
jne 0x5797ba
mov ecx, 0x80dc4cc9
jmp 0x5797ba
mov ecx, eax
jmp 0x5797ba
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x579e22
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5798a4
cmp ecx, 0xc56a9b93
je 0x579901
cmp ecx, 0xd3cadfc0
jne 0x579861
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x579861
cmp ecx, 0x5722fc0f
je 0x57990e
cmp ecx, 0x615aa6db
jne 0x579861
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x579861
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x579861
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x57991f
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x579b0e
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov edx, 0x1aabc941
cmove eax, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov ecx, 0x5add25f0
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x5799e0
cmp ebx, 0x80dc4cc9
je 0x5799f7
cmp ebx, 0x7f3e42f
jne 0x579997
movzx edx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test dl, dl
mov ecx, 0x5add25f0
cmove ebx, ecx
test dh, dh
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
jmp 0x579997
cmp ebx, 0x1aabc941
je 0x5799fb
cmp ebx, 0x5add25f0
jne 0x579997
mov ebx, 0x80dc4cc9
jmp 0x579997
mov ebx, eax
jmp 0x579997
cmp byte [esi + 0x10], 0
je 0x579b1e
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x579bb3
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x579bf6
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x579a81
cmp eax, 0x9f04b71e
je 0x579ad6
cmp eax, 0xaf18808
jne 0x579a67
jmp 0x57991c
cmp eax, 0x3d9eb8cd
je 0x579b00
cmp eax, 0x6301b93d
jne 0x579a67
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x579a67
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x579a67
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x579a67
mov ecx, dword [esi + 0x30]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete al
mov ecx, dword [esi + 4]
cmp ecx, 0xa
setl dl
xor dl, al
mov eax, 0x5add25f0
mov edx, 0x1aabc941
cmovne eax, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, eax
cmove edi, edx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge edi, eax
mov eax, 0x7f3e42f
jmp 0x579b59
mov eax, edi
cmp eax, 0x1aabc940
jg 0x579b9a
cmp eax, 0x80dc4cc9
je 0x579b57
cmp eax, 0x7f3e42f
jne 0x579b59
movzx edx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov dh, dl
xor dh, al
test al, al
mov eax, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne eax, ebx
test dl, dl
mov ecx, 0x5add25f0
cmove eax, ecx
test dh, dh
cmovne eax, ebx
jmp 0x579b59
cmp eax, 0x1aabc941
je 0x57995a
cmp eax, 0x5add25f0
jne 0x579b59
mov eax, 0x80dc4cc9
jmp 0x579b59
mov dword [esi + 0xf0], 0x7e
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x579c2c
or cl, al
test cl, 1
je 0x579c2c
jmp 0x585d46
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x579c2c
or cl, al
test cl, 1
jne 0x585d5a
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x579c6f
cmp eax, 0x9f04b71e
je 0x579cc4
cmp eax, 0xaf18808
jne 0x579c55
jmp 0x57976a
cmp eax, 0x3d9eb8cd
je 0x579cf3
cmp eax, 0x6301b93d
jne 0x579c55
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x579c55
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x579c55
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x579c55
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3f64], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x579d32
or cl, al
jne 0x585e56
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x579dae
cmp ecx, 0xc56a9b93
je 0x579e15
cmp ecx, 0xd3cadfc0
jne 0x579d6b
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x579d6b
cmp ecx, 0x5722fc0f
je 0x579f43
cmp ecx, 0x615aa6db
jne 0x579d6b
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x579d6b
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x579d6b
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x579e4f
or cl, al
test cl, 1
jne 0x585efe
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x579ecf
cmp ecx, 0xc56a9b93
je 0x579f36
cmp ecx, 0xd3cadfc0
jne 0x579e87
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x579e87
cmp ecx, 0x5722fc0f
je 0x57a123
cmp ecx, 0x615aa6db
jne 0x579e87
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x579e87
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x579e87
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x579f52
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x579fe1
cmp edx, 0x80dc4cc9
je 0x579ff8
cmp edx, 0x7f3e42f
jne 0x579f9d
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne edx, edi
test bl, bl
mov eax, 0x5add25f0
cmove edx, eax
test bh, bh
cmovne edx, edi
jmp 0x579f9d
cmp edx, 0x1aabc941
je 0x579ffc
cmp edx, 0x5add25f0
jne 0x579f9d
mov edx, 0x80dc4cc9
jmp 0x579f9d
mov edx, ecx
jmp 0x579f9d
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x57a302
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x57a041
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x57a03e
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x57a093
cmp ecx, 0x9f04b71e
je 0x57a0eb
cmp ecx, 0xaf18808
jne 0x57a076
jmp 0x579f4f
cmp ecx, 0x3d9eb8cd
je 0x57a115
cmp ecx, 0x6301b93d
jne 0x57a076
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x57a076
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x57a076
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x57a076
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x57a132
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x57a1ba
cmp edx, 0x80dc4cc9
je 0x57a1d1
cmp edx, 0x7f3e42f
jne 0x57a17b
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x57a17b
cmp edx, 0x1aabc941
je 0x57a1d5
cmp edx, 0x5add25f0
jne 0x57a17b
mov edx, 0x80dc4cc9
jmp 0x57a17b
mov edx, ecx
jmp 0x57a17b
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x57a3f9
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x57a21b
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x57a218
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x57a26d
cmp ecx, 0x9f04b71e
je 0x57a2c5
cmp ecx, 0xaf18808
jne 0x57a250
jmp 0x57a12f
cmp ecx, 0x3d9eb8cd
je 0x57a2f4
cmp ecx, 0x6301b93d
jne 0x57a250
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x57a250
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x57a250
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x57a250
cmp dword [esi + 4], 0x12345678
jne 0x57a315
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x57a4e8
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x99
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
inc dword [esi + 4]
test ah, ah
jne 0x57a361
or cl, al
je 0x57a361
jmp 0x585d54
cmp dword [esi + 4], 0x12345678
jne 0x57a40c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
mov ecx, edi
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x57abac
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x7f
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
inc dword [esi + 4]
test ch, ch
jne 0x57a458
or cl, al
test cl, 1
je 0x57a458
jmp 0x585d5c
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57a578
cmp ecx, 0xc56a9b93
je 0x57a5dc
cmp ecx, 0xd3cadfc0
jne 0x57a535
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57a535
cmp ecx, 0x5722fc0f
je 0x57a5ec
cmp ecx, 0x615aa6db
jne 0x57a535
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x57a535
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57a535
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov edi, 0x1aabc941
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x14]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edx
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x57a67b
cmp ecx, 0x80dc4cc9
je 0x57a692
cmp ecx, 0x7f3e42f
jne 0x57a63c
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57a63c
cmp ecx, 0x1aabc941
je 0x57a696
cmp ecx, 0x5add25f0
jne 0x57a63c
mov ecx, 0x80dc4cc9
jmp 0x57a63c
mov ecx, eax
jmp 0x57a63c
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x57b26c
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57a725
cmp ecx, 0xc56a9b93
je 0x57a788
cmp ecx, 0xd3cadfc0
jne 0x57a6dd
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x57a6dd
cmp ecx, 0x5722fc0f
je 0x57a795
cmp ecx, 0x615aa6db
jne 0x57a6dd
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x57a6dd
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x57a6dd
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x57a7a6
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c3f64], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x1c], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x57a9af
mov eax, dword [esi + 0x10]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
and eax, edx
mov dword [esi + 0x30], eax
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x57a874
cmp ebx, 0x80dc4cc9
je 0x57a88b
cmp ebx, 0x7f3e42f
jne 0x57a831
mov ah, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ecx, ebx
xor cl, ah
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test ah, ah
mov eax, 0x5add25f0
cmove ebx, eax
test cl, cl
cmovne ebx, edi
jmp 0x57a831
cmp ebx, 0x1aabc941
je 0x57a88f
cmp ebx, 0x5add25f0
jne 0x57a831
mov ebx, 0x80dc4cc9
jmp 0x57a831
mov ebx, edx
jmp 0x57a831
cmp byte [esi + 0x1c], 0
je 0x57a9be
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x57aa56
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x57aa98
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x57a914
cmp eax, 0x9f04b71e
je 0x57a972
cmp eax, 0xaf18808
jne 0x57a8fa
jmp 0x57a7a3
cmp eax, 0x3d9eb8cd
je 0x57a9a1
cmp eax, 0x6301b93d
jne 0x57a8fa
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x57a8fa
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57a8fa
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x57a8fa
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x30], ecx
mov edi, dword [esi + 0x30]
test edi, edi
sete cl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov edx, 0x7f3e42f
jmp 0x57a9fc
mov edx, edi
cmp edx, 0x1aabc940
jg 0x57aa3b
cmp edx, 0x80dc4cc9
je 0x57a9fa
cmp edx, 0x7f3e42f
jne 0x57a9fc
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
jmp 0x57a9fc
cmp edx, 0x1aabc941
je 0x57a7e8
cmp edx, 0x5add25f0
jne 0x57a9fc
mov edx, 0x80dc4cc9
jmp 0x57a9fc
mov dword [esi + 0xf0], 0x9a
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x57aacc
xor cl, al
jne 0x57aacc
jmp 0x585d88
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x57aacc
xor cl, al
je 0x585d86
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x57ab0f
cmp eax, 0x9f04b71e
je 0x57ab6f
cmp eax, 0xaf18808
jne 0x57aaf5
jmp 0x57a5ec
cmp eax, 0x3d9eb8cd
je 0x57ab9e
cmp eax, 0x6301b93d
jne 0x57aaf5
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x57aaf5
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57aaf5
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x57aaf5
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57ac3d
cmp ecx, 0xc56a9b93
je 0x57aca1
cmp ecx, 0xd3cadfc0
jne 0x57abfa
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57abfa
cmp ecx, 0x5722fc0f
je 0x57acb1
cmp ecx, 0x615aa6db
jne 0x57abfa
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x57abfa
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57abfa
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete dl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x57ad3b
cmp ecx, 0x80dc4cc9
je 0x57ad52
cmp ecx, 0x7f3e42f
jne 0x57acfc
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57acfc
cmp ecx, 0x1aabc941
je 0x57ad56
cmp ecx, 0x5add25f0
jne 0x57acfc
mov ecx, 0x80dc4cc9
jmp 0x57acfc
mov ecx, eax
jmp 0x57acfc
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x57b381
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57ade9
cmp ecx, 0xc56a9b93
je 0x57ae4d
cmp ecx, 0xd3cadfc0
jne 0x57ada1
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x57ada1
cmp ecx, 0x5722fc0f
je 0x57ae5d
cmp ecx, 0x615aa6db
jne 0x57ada1
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x57ada1
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x57ada1
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x57ae6e
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c3f64], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x1c], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x57b06b
mov eax, dword [esi + 0x10]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
and eax, edx
mov dword [esi + 0x30], eax
sete byte [esi + 0xf]
sete ah
mov edx, 0x5add25f0
mov ecx, 0x1aabc941
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bl
mov ecx, 0x5add25f0
cmovge edx, ecx
xor bl, ah
mov eax, 0x1aabc941
cmovne edx, eax
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x57af3e
cmp ebx, 0x80dc4cc9
je 0x57af55
cmp ebx, 0x7f3e42f
jne 0x57aefa
movzx ecx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, cl
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test cl, cl
mov ecx, 0x5add25f0
cmove ebx, ecx
test ah, ah
cmovne ebx, edi
jmp 0x57aefa
cmp ebx, 0x1aabc941
je 0x57af59
cmp ebx, 0x5add25f0
jne 0x57aefa
mov ebx, 0x80dc4cc9
jmp 0x57aefa
mov ebx, edx
jmp 0x57aefa
cmp byte [esi + 0x1c], 0
je 0x57b07e
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x57b116
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x57b158
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x57afde
cmp eax, 0x9f04b71e
je 0x57b033
cmp eax, 0xaf18808
jne 0x57afc4
jmp 0x57ae6b
cmp eax, 0x3d9eb8cd
je 0x57b05d
cmp eax, 0x6301b93d
jne 0x57afc4
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x57afc4
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x57afc4
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x57afc4
mov eax, dword [esi + 0x10]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
and eax, edx
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x30]
test edi, edi
sete cl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov edx, 0x7f3e42f
jmp 0x57b0bc
mov edx, edi
cmp edx, 0x1aabc940
jg 0x57b0fb
cmp edx, 0x80dc4cc9
je 0x57b0ba
cmp edx, 0x7f3e42f
jne 0x57b0bc
movzx ecx, byte [esi + 0xf]
movzx edx, byte [esi + 8]
mov ah, cl
xor ah, dl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test dl, dl
mov edx, ebx
cmovne edx, eax
test cl, cl
cmove edx, ebx
jmp 0x57b0bc
cmp edx, 0x1aabc941
je 0x57aeb1
cmp edx, 0x5add25f0
jne 0x57b0bc
mov edx, 0x80dc4cc9
jmp 0x57b0bc
mov dword [esi + 0xf0], 0x80
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x57b18e
xor cl, al
jne 0x57b18e
jmp 0x585d8c
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x57b18e
or cl, al
test cl, 1
jne 0x585d8a
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x57b1d1
cmp eax, 0x9f04b71e
je 0x57b22f
cmp eax, 0xaf18808
jne 0x57b1b7
jmp 0x57acb1
cmp eax, 0x3d9eb8cd
je 0x57b25e
cmp eax, 0x6301b93d
jne 0x57b1b7
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x57b1b7
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57b1b7
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x57b1b7
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x57b297
xor cl, al
je 0x585e58
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57b312
cmp ecx, 0xc56a9b93
je 0x57b374
cmp ecx, 0xd3cadfc0
jne 0x57b2cf
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57b2cf
cmp ecx, 0x5722fc0f
je 0x57b4a8
cmp ecx, 0x615aa6db
jne 0x57b2cf
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x57b2cf
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57b2cf
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x57b3ac
xor cl, al
je 0x585f00
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57b430
cmp ecx, 0xc56a9b93
je 0x57b498
cmp ecx, 0xd3cadfc0
jne 0x57b3e8
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x57b3e8
cmp ecx, 0x5722fc0f
je 0x57b684
cmp ecx, 0x615aa6db
jne 0x57b3e8
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x57b3e8
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57b3e8
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x57b4b7
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x14]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x57b541
cmp edx, 0x80dc4cc9
je 0x57b558
cmp edx, 0x7f3e42f
jne 0x57b502
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x57b502
cmp edx, 0x1aabc941
je 0x57b55c
cmp edx, 0x5add25f0
jne 0x57b502
mov edx, 0x80dc4cc9
jmp 0x57b502
mov edx, ecx
jmp 0x57b502
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x57b85c
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x57b599
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x57b596
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x57b5ea
cmp ecx, 0x9f04b71e
je 0x57b647
cmp ecx, 0xaf18808
jne 0x57b5cd
jmp 0x57b4b4
cmp ecx, 0x3d9eb8cd
je 0x57b676
cmp ecx, 0x6301b93d
jne 0x57b5cd
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x57b5cd
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x57b5cd
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x57b5cd
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x57b693
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x57b71f
cmp edx, 0x80dc4cc9
je 0x57b736
cmp edx, 0x7f3e42f
jne 0x57b6e0
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x57b6e0
cmp edx, 0x1aabc941
je 0x57b73a
cmp edx, 0x5add25f0
jne 0x57b6e0
mov edx, 0x80dc4cc9
jmp 0x57b6e0
mov edx, ecx
jmp 0x57b6e0
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x580849
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x57b776
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x57b773
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x57b7c8
cmp ecx, 0x9f04b71e
je 0x57b824
cmp ecx, 0xaf18808
jne 0x57b7ab
jmp 0x57b690
cmp ecx, 0x3d9eb8cd
je 0x57b84e
cmp ecx, 0x6301b93d
jne 0x57b7ab
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x57b7ab
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x57b7ab
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x57b7ab
cmp dword [esi + 4], 0x12345678
jne 0x57b86f
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc6]
cmp ecx, 0xa
setl byte [esi + 0xc7]
mov eax, 0xe2c12531
cmp eax, 0xe2c12530
jg 0x57b994
cmp eax, 0x9858f9d0
je 0x5858a2
cmp eax, 0xb3e2a994
jne 0x57b8ae
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x57baa9
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x9b
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
inc dword [esi + 4]
cmp ch, dl
jne 0x57b906
or cl, al
test cl, 1
je 0x57b906
jmp 0x585d90
cmp eax, 0x7c4966b4
je 0x57b9d6
cmp eax, 0xe2c12531
jne 0x57b8ae
movzx ecx, byte [esi + 0xc6]
movzx eax, byte [esi + 0xc7]
mov edx, ecx
xor dl, al
mov edx, 0x7c4966b4
mov edi, 0xb3e2a994
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x57b8ae
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x57c156
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0xa3
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
inc dword [esi + 4]
test ah, ah
jne 0x57ba11
or cl, al
je 0x57ba11
jmp 0x585d8e
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57bb37
cmp ecx, 0xc56a9b93
je 0x57bb9a
cmp ecx, 0xd3cadfc0
jne 0x57baf4
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57baf4
cmp ecx, 0x5722fc0f
je 0x57bba7
cmp ecx, 0x615aa6db
jne 0x57baf4
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x57baf4
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57baf4
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f78]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3f7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
sete cl
mov eax, 0x5add25f0
mov edi, 0x1aabc941
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x5add25f0
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x57bc37
cmp ecx, 0x80dc4cc9
je 0x57bc4e
cmp ecx, 0x7f3e42f
jne 0x57bbf3
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x57bbf3
cmp ecx, 0x1aabc941
je 0x57bc52
cmp ecx, 0x5add25f0
jne 0x57bbf3
mov ecx, 0x80dc4cc9
jmp 0x57bbf3
mov ecx, eax
jmp 0x57bbf3
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x57c7ff
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57bcdd
cmp ecx, 0xc56a9b93
je 0x57bd3a
cmp ecx, 0xd3cadfc0
jne 0x57bc9a
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57bc9a
cmp ecx, 0x5722fc0f
je 0x57bd47
cmp ecx, 0x615aa6db
jne 0x57bc9a
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x57bc9a
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x57bc9a
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x57bd58
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c3f64], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov byte [esi + 0x1c], al
mov eax, dword [0x5c3f78]
mov dword [esi + 0x10], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x57bf60
mov eax, dword [esi + 0x10]
lea edi, [eax + 1]
imul edi, eax
mov ecx, edi
and ecx, 1
sete cl
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, cl
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
and edi, 1
mov dword [esi + 0x30], edi
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x57be25
cmp ebx, 0x80dc4cc9
je 0x57be3c
cmp ebx, 0x7f3e42f
jne 0x57bde1
movzx edx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov ah, dl
xor ah, bl
test bl, bl
mov ebx, 0x5add25f0
mov edi, 0x80dc4cc9
cmovne ebx, edi
test dl, dl
mov edx, 0x5add25f0
cmove ebx, edx
test ah, ah
cmovne ebx, edi
jmp 0x57bde1
cmp ebx, 0x1aabc941
je 0x57be40
cmp ebx, 0x5add25f0
jne 0x57bde1
mov ebx, 0x80dc4cc9
jmp 0x57bde1
mov ebx, ecx
jmp 0x57bde1
cmp byte [esi + 0x1c], 0
je 0x57bf73
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x57c00b
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x57c04e
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x57bec5
cmp eax, 0x9f04b71e
je 0x57bf23
cmp eax, 0xaf18808
jne 0x57beab
jmp 0x57bd55
cmp eax, 0x3d9eb8cd
je 0x57bf52
cmp eax, 0x6301b93d
jne 0x57beab
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov ebx, 0xaf18808
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x57beab
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57beab
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x57beab
mov eax, dword [esi + 0x10]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov dword [esi + 0x30], eax
cmp dword [esi + 0x30], 0
sete byte [esi + 0xf]
sete cl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge edi, eax
xor dl, cl
cmovne edi, ebx
mov ecx, 0x7f3e42f
jmp 0x57bfac
mov ecx, edi
cmp ecx, 0x1aabc940
jg 0x57bff0
cmp ecx, 0x80dc4cc9
je 0x57bfaa
cmp ecx, 0x7f3e42f
jne 0x57bfac
movzx edx, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov ah, dl
xor ah, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edx, 0x5add25f0
cmove ecx, edx
test ah, ah
cmovne ecx, ebx
jmp 0x57bfac
cmp ecx, 0x1aabc941
je 0x57bd9a
cmp ecx, 0x5add25f0
jne 0x57bfac
mov ecx, 0x80dc4cc9
jmp 0x57bfac
mov dword [esi + 0xf0], 0x9c
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x57c082
or cl, al
test cl, 1
je 0x57c082
jmp 0x585e74
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x57c082
xor cl, al
je 0x585e76
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x57c0c4
cmp eax, 0x9f04b71e
je 0x57c119
cmp eax, 0xaf18808
jne 0x57c0aa
jmp 0x57bba7
cmp eax, 0x3d9eb8cd
je 0x57c148
cmp eax, 0x6301b93d
jne 0x57c0aa
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x57c0aa
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57c0aa
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x57c0aa
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57c1e3
cmp ecx, 0xc56a9b93
je 0x57c246
cmp ecx, 0xd3cadfc0
jne 0x57c1a0
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57c1a0
cmp ecx, 0x5722fc0f
je 0x57c253
cmp ecx, 0x615aa6db
jne 0x57c1a0
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x57c1a0
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57c1a0
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x57c2e0
cmp ecx, 0x80dc4cc9
je 0x57c2f7
cmp ecx, 0x7f3e42f
jne 0x57c2a1
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov ch, dl
xor ch, cl
mov edi, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57c2a1
cmp ecx, 0x1aabc941
je 0x57c2fb
cmp ecx, 0x5add25f0
jne 0x57c2a1
mov ecx, 0x80dc4cc9
jmp 0x57c2a1
mov ecx, eax
jmp 0x57c2a1
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x57c916
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57c386
cmp ecx, 0xc56a9b93
je 0x57c3e4
cmp ecx, 0xd3cadfc0
jne 0x57c343
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57c343
cmp ecx, 0x5722fc0f
je 0x57c3f1
cmp ecx, 0x615aa6db
jne 0x57c343
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x57c343
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x57c343
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x57c402
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, dword [0x5c3f78]
mov dword [esi + 0x30], ecx
mov ecx, dword [0x5c3f7c]
mov dword [esi + 4], ecx
mov byte [esi + 0x1c], al
test al, 1
je 0x57c609
mov eax, dword [esi + 0x30]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
mov ebx, edi
and ebx, ecx
sete ah
mov edx, dword [esi + 4]
cmp edx, 0xa
setl bl
xor bl, ah
mov ebx, 0x5add25f0
mov eax, 0x1aabc941
cmovne ebx, eax
and edi, ecx
sete byte [esi + 0xf]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x57c4cc
cmp ebx, 0x80dc4cc9
je 0x57c4e3
cmp ebx, 0x7f3e42f
jne 0x57c48c
mov bh, byte [esi + 0xf]
mov byte [esi + 0x10], bh
mov bl, byte [esi + 8]
xor bh, bl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov ebx, edx
cmovne ebx, eax
cmp byte [esi + 0x10], 0
cmove ebx, edx
jmp 0x57c48c
cmp ebx, 0x1aabc941
je 0x57c4e7
cmp ebx, 0x5add25f0
jne 0x57c48c
mov ebx, 0x80dc4cc9
jmp 0x57c48c
mov ebx, ecx
jmp 0x57c48c
test byte [esi + 0x1c], 1
je 0x57c615
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x57c6aa
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x57c6eb
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x57c56c
cmp eax, 0x9f04b71e
je 0x57c5cc
cmp eax, 0xaf18808
jne 0x57c552
jmp 0x57c3ff
cmp eax, 0x3d9eb8cd
je 0x57c5fb
cmp eax, 0x6301b93d
jne 0x57c552
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x57c552
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57c552
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x57c552
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
test edi, edi
sete cl
mov eax, dword [esi + 4]
cmp eax, 0xa
setl dl
xor dl, cl
mov ecx, 0x5add25f0
mov edx, 0x1aabc941
cmovne ecx, edx
test edi, edi
sete byte [esi + 0xf]
mov edi, ecx
cmove edi, edx
cmp eax, 0xa
setl byte [esi + 8]
cmovge edi, ecx
mov ecx, 0x7f3e42f
jmp 0x57c650
mov ecx, edi
cmp ecx, 0x1aabc940
jg 0x57c68f
cmp ecx, 0x80dc4cc9
je 0x57c64e
cmp ecx, 0x7f3e42f
jne 0x57c650
movzx edx, byte [esi + 0xf]
movzx ecx, byte [esi + 8]
mov ah, dl
xor ah, cl
mov ebx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne ebx, eax
test cl, cl
mov ecx, ebx
cmovne ecx, eax
test dl, dl
cmove ecx, ebx
jmp 0x57c650
cmp ecx, 0x1aabc941
je 0x57c445
cmp ecx, 0x5add25f0
jne 0x57c650
mov ecx, 0x80dc4cc9
jmp 0x57c650
mov dword [esi + 0xf0], 0xa4
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x57c71f
xor cl, al
jne 0x57c71f
jmp 0x585e5a
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x57c71f
xor cl, al
je 0x585e5c
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x57c762
cmp eax, 0x9f04b71e
je 0x57c7c2
cmp eax, 0xaf18808
jne 0x57c748
jmp 0x57c253
cmp eax, 0x3d9eb8cd
je 0x57c7f1
cmp eax, 0x6301b93d
jne 0x57c748
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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, 0x3d9eb8cd
mov edi, 0xaf18808
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x57c748
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57c748
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x57c748
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x57c82c
or cl, al
test cl, 1
jne 0x585e78
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57c8a7
cmp ecx, 0xc56a9b93
je 0x57c909
cmp ecx, 0xd3cadfc0
jne 0x57c864
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57c864
cmp ecx, 0x5722fc0f
je 0x57ca37
cmp ecx, 0x615aa6db
jne 0x57c864
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x57c864
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57c864
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x57c943
or cl, al
test cl, 1
jne 0x585e5e
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x57c9c3
cmp ecx, 0xc56a9b93
je 0x57ca2a
cmp ecx, 0xd3cadfc0
jne 0x57c97b
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x57c97b
cmp ecx, 0x5722fc0f
je 0x57cc12
cmp ecx, 0x615aa6db
jne 0x57c97b
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x57c97b
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x57c97b
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x57ca46
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x57cad7
cmp edx, 0x80dc4cc9
je 0x57caee
cmp edx, 0x7f3e42f
jne 0x57ca93
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edx, eax
test bl, bl
mov edi, 0x5add25f0
cmove edx, edi
test bh, bh
cmovne edx, eax
jmp 0x57ca93
cmp edx, 0x1aabc941
je 0x57caf2
cmp edx, 0x5add25f0
jne 0x57ca93
mov edx, 0x80dc4cc9
jmp 0x57ca93
mov edx, ecx
jmp 0x57ca93
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x57cdf7
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x57cb2f
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x57cb2c
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x57cb81
cmp ecx, 0x9f04b71e
je 0x57cbda
cmp ecx, 0xaf18808
jne 0x57cb64
jmp 0x57ca43
cmp ecx, 0x3d9eb8cd
je 0x57cc04
cmp ecx, 0x6301b93d
jne 0x57cb64
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x57cb64
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x57cb64
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x57cb64
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x57cc21
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x5c3f7c]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x14]
sete dl
mov ecx, 0x5add25f0
mov ebx, 0x1aabc941
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 8]
setl dh
mov edi, 0x5add25f0
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x57ccaa
cmp edx, 0x80dc4cc9
je 0x57ccc1
cmp edx, 0x7f3e42f
jne 0x57cc6b
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x57cc6b
cmp edx, 0x1aabc941
je 0x57ccc5
cmp edx, 0x5add25f0
jne 0x57cc6b
mov edx, 0x80dc4cc9
jmp 0x57cc6b
mov edx, ecx
jmp 0x57cc6b
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x57eafd
mov ecx, dword [0x5c3f60]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c3f64], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x57cd0b
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x57cd08
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x57cd5d
cmp ecx, 0x9f04b71e
je 0x57cdbf
cmp ecx, 0xaf18808
jne 0x57cd40
jmp 0x57cc1e
cmp ecx, 0x3d9eb8cd
je 0x57cde9
cmp ecx, 0x6301b93d
jne 0x57cd40
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x57cd40
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne edi, eax
test cl, cl
mov ecx, edi
cmovne ecx, eax
test dl, dl
cmove ecx, edi
jmp 0x57cd40
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x57cd40
cmp dword [esi + 4], 0x12345678
jne 0x57ce0a
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x57ce47
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x57dc2e
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x57cf3c
or cl, al
jne 0x585e7a
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x57d5dd
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x57d59c
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x9d
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x57d05c
cmp dword [esi + 4], 0xb018ea81
je 0x57d098
cmp dword [esi + 4], 0xf7175d7a
jne 0x57d03c
jmp 0x57d10d
cmp dword [esi + 4], 0x1583cd3b
je 0x57d0b6
cmp dword [esi + 4], 0x5a1cc736
jne 0x57d03c
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x57d03c
mov dword [esi + 0xf0], 0x9f
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x57d03c
mov dword [esi + 0xf0], 0x9f
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x57d03c
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x57d139
xor cl, al
je 0x57d262
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x57d19b
cmp ecx, 0x46df2edb
je 0x57d1d7
cmp ecx, 0x766d7330
jne 0x57d181
jmp 0x57d1e2
cmp ecx, 0x80c66156
je 0x57d1db
cmp ecx, 0xf2325ac5
jne 0x57d181
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x57d181
mov ecx, eax
jmp 0x57d181
mov ecx, 0x46df2edb
jmp 0x57d181
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x57d217
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x4c]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x3c]
mov dword [edi + 0xc], ecx
setl ch
setge cl
cmp ch, dl
jne 0x57d35a
or cl, al
test cl, 1
je 0x57d35a
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x57d2ae
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x57d2c8
cmp ecx, 0x46df2edb
je 0x57d2ac
cmp ecx, 0x766d7330
jne 0x57d2ae
cmp ecx, 0x80c66156
je 0x57d2ff
cmp ecx, 0xf2325ac5
jne 0x57d2ae
mov ecx, 0x46df2edb
jmp 0x57d2ae
mov dword [esi + 0xf0], 0x9d
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x57d3a7
xor cl, al
je 0x585e7c
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x57d3f1
cmp dword [esi + 4], 0xb018ea81
je 0x57d42d
cmp dword [esi + 4], 0xf7175d7a
jne 0x57d3d1
jmp fcn.0057d4a2
cmp dword [esi + 4], 0x1583cd3b
je 0x57d44b
cmp dword [esi + 4], 0x5a1cc736
jne 0x57d3d1
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x57d3d1
mov dword [esi + 0xf0], 0x9e
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x57d3d1
mov dword [esi + 0xf0], 0x9e
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x57d3d1
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
test al, cl
jne 0x57cf0a
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
jne 0x57cf0a
jmp 0x585e8c
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 0x20], edx
cmp edx, ecx
jb 0x57d61b
jmp 0x57d912
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x48], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 4], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x1c]
mov edi, dword [eax]
mov eax, dword [esi + 0x20]
lea edx, [eax + eax*2]
mov dword [esi + 0x78], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x4c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x57d69c
cmp edx, 0x6675f964
je 0x57d6d8
cmp edx, 0x7862661b
jne 0x57d682
jmp 0x57d6e4
cmp edx, 0xd0a3dc29
je 0x57d6df
cmp edx, 0xd6d6a098
jne 0x57d682
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edx, ebx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x57d682
mov edx, 0xd0a3dc29
jmp 0x57d682
mov edx, dword [esi + 4]
jmp 0x57d682
mov edx, dword [esi + 0x20]
dec edx
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x88], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x20], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x78]
lea eax, [edx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57d73e
cmp eax, 0x6675f964
je 0x57d773
cmp eax, 0x7862661b
jne 0x57d727
jmp 0x57d77f
cmp eax, 0xd0a3dc29
je 0x57d77a
cmp eax, 0xd6d6a098
jne 0x57d727
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x57d727
mov eax, 0xd0a3dc29
jmp 0x57d727
mov eax, dword [esi + 4]
jmp 0x57d727
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x88]
cmp edx, dword [eax]
mov edx, dword [esi + 0x90]
sbb edx, dword [eax + 4]
jge 0x57d8d6
test dword [esi + 0x48], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57d7cc
cmp eax, 0x6675f964
je 0x57d801
cmp eax, 0x7862661b
jne 0x57d7b5
jmp 0x57d80d
cmp eax, 0xd0a3dc29
je 0x57d808
cmp eax, 0xd6d6a098
jne 0x57d7b5
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x57d7b5
mov eax, 0xd0a3dc29
jmp 0x57d7b5
mov eax, dword [esi + 4]
jmp 0x57d7b5
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57d841
cmp eax, 0x6675f964
je 0x57d876
cmp eax, 0x7862661b
jne 0x57d82a
cmp eax, 0xd0a3dc29
je 0x57d87d
cmp eax, 0xd6d6a098
jne 0x57d82a
mov eax, 0xd0a3dc29
jmp 0x57d82a
mov eax, dword [esi + 4]
jmp 0x57d82a
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0xa0]
test eax, eax
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp dl, ah
jne 0x57d5e7
or al, cl
je 0x57d5e7
jmp 0x585e80
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x57d927
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x57dc14
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl bl
xor bl, ch
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
je 0x57db25
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, 1
je 0x57db25
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x57d97c
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x57d9e8
cmp ecx, 0xc1fd3d12
je 0x57da28
cmp ecx, 0x3365058b
jne 0x57d9c9
mov ecx, 0x7b4463f8
jmp 0x57d9c9
cmp ecx, 0x7b4463f8
je 0x57da24
cmp ecx, 0x52166c0c
jne 0x57d9c9
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x57d9c9
mov ecx, eax
jmp 0x57d9c9
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x57db31
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 0x57da57
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x57daa2
cmp eax, 0xc76c0d8d
je 0x57dadb
cmp eax, 0x1f2e313
jne 0x57da80
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x57da80
cmp eax, 0x590bba57
je 0x57d979
cmp eax, 0x74ccc71d
jne 0x57da80
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov ebx, 0xc76c0d8d
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x57da80
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov ebx, 0x590bba57
cmove eax, ebx
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x57da80
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x57d961
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x57db73
cmp eax, 0x3e63df81
je 0x57db91
cmp eax, 0x5632c42c
jne 0x57db59
jmp 0x57d91c
cmp eax, 0x1d5864bd
je 0x57dbe5
cmp eax, 0x3ce7f0d1
jne 0x57db59
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x57db59
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov edi, 0x5632c42c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x57db59
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57db59
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x57cec0
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x57dc5e
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x57ea50
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x57dd53
or cl, al
jne 0x585e82
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x57e41a
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x57e3d3
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xa0
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x57de74
cmp dword [esi + 4], 0xb018ea81
je 0x57deb5
cmp dword [esi + 4], 0xf7175d7a
jne 0x57de54
jmp 0x57df2f
cmp dword [esi + 4], 0x1583cd3b
je 0x57ded3
cmp dword [esi + 4], 0x5a1cc736
jne 0x57de54
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x57de54
mov dword [esi + 0xf0], 0xa2
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x57de54
mov dword [esi + 0xf0], 0xa2
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x57de54
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x57df5a
xor cl, al
je 0x57e087
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x57dfc1
cmp ecx, 0x46df2edb
je 0x57dffd
cmp ecx, 0x766d7330
jne 0x57dfa7
jmp 0x57e008
cmp ecx, 0x80c66156
je 0x57e001
cmp ecx, 0xf2325ac5
jne 0x57dfa7
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x57dfa7
mov ecx, eax
jmp 0x57dfa7
mov ecx, 0x46df2edb
jmp 0x57dfa7
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x57e03d
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
mov dword [eax], edx
mov edx, dword [esi + 0x48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x3c]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x44]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x57e182
xor cl, al
jne 0x57e182
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x57e0d6
cmp ecx, 0x46df2eda
jle 0x57e0f0
mov dword [esi + 0xf0], 0xa0
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x57e1cf
xor cl, al
je 0x585e84
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x57e21a
cmp dword [esi + 4], 0xb018ea81
je 0x57e25b
cmp dword [esi + 4], 0x1583cd3b
je 0x57e279
cmp dword [esi + 4], 0
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
jne 0x57dd21
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x57dd21
jmp 0x585e86
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x57e458
jmp 0x57e733
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
and ecx, 1
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edi, eax
mov dword [esi + 4], edi
mov eax, dword [esi + 0x30]
mov edx, dword [eax]
mov eax, dword [esi + 0x3c]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57e4d2
cmp eax, 0x6675f964
je 0x57e507
cmp eax, 0x7862661b
jne 0x57e4bb
jmp 0x57e513
cmp eax, 0xd0a3dc29
je 0x57e50e
cmp eax, 0xd6d6a098
jne 0x57e4bb
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x57e4bb
mov eax, 0xd0a3dc29
jmp 0x57e4bb
mov eax, dword [esi + 4]
jmp 0x57e4bb
mov edx, dword [esi + 0x3c]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57e569
cmp eax, 0x6675f964
je 0x57e59e
cmp eax, 0x7862661b
jne 0x57e552
jmp 0x57e5aa
cmp eax, 0xd0a3dc29
je 0x57e5a5
cmp eax, 0xd6d6a098
jne 0x57e552
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test bl, bl
cmove eax, edx
jmp 0x57e552
mov eax, 0xd0a3dc29
jmp 0x57e552
mov eax, dword [esi + 4]
jmp 0x57e552
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x57e6fd
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57e5f3
cmp eax, 0x6675f964
je 0x57e628
cmp eax, 0x7862661b
jne 0x57e5dc
jmp 0x57e634
cmp eax, 0xd0a3dc29
je 0x57e62f
cmp eax, 0xd6d6a098
jne 0x57e5dc
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x57e5dc
mov eax, 0xd0a3dc29
jmp 0x57e5dc
mov eax, dword [esi + 4]
jmp 0x57e5dc
test ecx, ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x57e66a
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x57e424
xor al, cl
jne 0x57e424
jmp 0x585e8a
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x57e748
cmp eax, dword [esi + 0x44]
je 0x57ea36
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x57e947
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x57e947
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x57e797
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c40a4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov edi, 0x3365058b
cmovge eax, edi
xor cl, dl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x57e7fe
cmp ecx, 0xc1fd3d12
je 0x57e83e
cmp ecx, 0x3365058b
jne 0x57e7df
mov ecx, 0x7b4463f8
jmp 0x57e7df
cmp ecx, 0x7b4463f8
je 0x57e83a
cmp ecx, 0x52166c0c
jne 0x57e7df
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x57e7df
mov ecx, eax
jmp 0x57e7df
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x57e953
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 0x57e86d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x57e8b8
cmp eax, 0xc76c0d8d
je 0x57e8f6
cmp eax, 0x1f2e313
jne 0x57e896
cmp eax, 0x590bba57
je 0x57e794
cmp eax, 0x74ccc71d
jne 0x57e896
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x57e896
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x57e77d
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x57e995
cmp eax, 0x3e63df81
je 0x57e9b3
cmp eax, 0x5632c42c
jne 0x57e97b
jmp fcn.0057e73d
cmp eax, 0x1d5864bd
je 0x57ea07
cmp eax, 0x3ce7f0d1
jne 0x57e97b
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x57e97b
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov edx, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
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, 0x3ce7f0d1
mov edi, 0x5632c42c
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x57e97b
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57e97b
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x57dcd7
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c69b4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x57eade
cmp ecx, 0x150b35d3
je 0x57eaf6
cmp ecx, 0x1e00e94d
jne 0x57ea9f
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x57ea9f
cmp ecx, 0x3d9de5f5
je 0x5807f4
cmp ecx, 0x3f6d87b9
jne 0x57ea9f
mov ecx, eax
jmp 0x57ea9f
mov ecx, 0x3f6d87b9
jmp 0x57ea9f
cmp dword [esi + 4], 0x12345678
jne 0x57eb10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5c4084], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x57eb55
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x57f956
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x57ec44
xor cl, al
je 0x585e66
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x57f312
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x57f2cb
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xa5
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x57ed65
cmp dword [esi + 4], 0xb018ea81
je 0x57eda1
cmp dword [esi + 4], 0xf7175d7a
jne 0x57ed45
jmp 0x57ee19
cmp dword [esi + 4], 0x1583cd3b
je 0x57edbf
cmp dword [esi + 4], 0x5a1cc736
jne 0x57ed45
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x57ed45
mov dword [esi + 0xf0], 0xa7
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x57ed45
mov dword [esi + 0xf0], 0xa7
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x57ed45
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x57ee4a
or cl, al
jne 0x57ef74
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x57eead
cmp ecx, 0x46df2edb
je 0x57eee9
cmp ecx, 0x766d7330
jne 0x57ee93
jmp 0x57eef4
cmp ecx, 0x80c66156
je 0x57eeed
cmp ecx, 0xf2325ac5
jne 0x57ee93
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x57ee93
mov ecx, eax
jmp 0x57ee93
mov ecx, 0x46df2edb
jmp 0x57ee93
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x57ef29
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x4c]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x3c]
mov dword [edi + 0xc], ecx
setl ch
setge cl
cmp ch, dl
jne 0x57f076
or cl, al
test cl, 1
je 0x57f076
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x57efc5
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x57efdf
cmp ecx, 0x46df2edb
je 0x57efc3
cmp ecx, 0x766d7330
jne 0x57efc5
jmp fcn.0057f022
cmp ecx, 0x80c66156
je 0x57f01b
cmp ecx, 0xf2325ac5
jne 0x57efc5
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x57efc5
mov ecx, 0x46df2edb
jmp 0x57efc5
mov dword [esi + 0xf0], 0xa5
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x57f0c8
or cl, al
jne 0x585e68
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x57f112
cmp dword [esi + 4], 0xb018ea81
je 0x57f153
cmp dword [esi + 4], 0xf7175d7a
jne 0x57f0f2
jmp 0x57f1cd
cmp dword [esi + 4], 0x1583cd3b
je 0x57f171
cmp dword [esi + 4], 0x5a1cc736
jne 0x57f0f2
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x57f0f2
mov dword [esi + 0xf0], 0xa6
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x57f0f2
mov dword [esi + 0xf0], 0xa6
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x57f0f2
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x57f234
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x20], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x3c], edi
cmp dl, ah
jne 0x57ec18
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
je 0x57ec18
jmp 0x585e6a
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x20], edx
cmp edx, ecx
jb 0x57f350
jmp 0x57f63a
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edi, 0x7862661b
cmovne eax, edi
and ecx, 1
sete byte [esi + 0x34]
mov edx, eax
cmove edx, edi
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edx, eax
mov dword [esi + 4], edx
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57f3ca
cmp eax, 0x6675f964
je 0x57f3ff
cmp eax, 0x7862661b
jne 0x57f3b3
jmp 0x57f40b
cmp eax, 0xd0a3dc29
je 0x57f406
cmp eax, 0xd6d6a098
jne 0x57f3b3
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edi, 0x6675f964
mov edx, 0xd0a3dc29
cmovne edi, edx
test al, al
mov eax, edi
cmovne eax, edx
test bl, bl
cmove eax, edi
jmp 0x57f3b3
mov eax, 0xd0a3dc29
jmp 0x57f3b3
mov eax, dword [esi + 4]
jmp 0x57f3b3
mov edx, dword [esi + 0x20]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x20], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57f461
cmp eax, 0x6675f964
je 0x57f49b
cmp eax, 0x7862661b
jne 0x57f44a
jmp 0x57f4a7
cmp eax, 0xd0a3dc29
je 0x57f4a2
cmp eax, 0xd6d6a098
jne 0x57f44a
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, bl
xor bh, al
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test bl, bl
mov edx, 0x6675f964
cmove eax, edx
test bh, bh
cmovne eax, edi
jmp 0x57f44a
mov eax, 0xd0a3dc29
jmp 0x57f44a
mov eax, dword [esi + 4]
jmp 0x57f44a
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x57f5fe
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57f4f0
cmp eax, 0x6675f964
je 0x57f52a
cmp eax, 0x7862661b
jne 0x57f4d9
jmp 0x57f536
cmp eax, 0xd0a3dc29
je 0x57f531
cmp eax, 0xd6d6a098
jne 0x57f4d9
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov bh, al
xor bh, bl
test al, al
mov eax, 0x6675f964
mov edi, 0xd0a3dc29
cmovne eax, edi
test bl, bl
mov edx, 0x6675f964
cmove eax, edx
test bh, bh
cmovne eax, edi
jmp 0x57f4d9
mov eax, 0xd0a3dc29
jmp 0x57f4d9
mov eax, dword [esi + 4]
jmp 0x57f4d9
test ecx, ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x57f569
cmp eax, 0x6675f964
je 0x57f59e
cmp eax, 0x7862661b
jne 0x57f552
jmp fcn.0057f5aa
cmp eax, 0xd0a3dc29
je 0x57f5a5
cmp eax, 0xd6d6a098
jne 0x57f552
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov ebx, 0x6675f964
mov edx, 0xd0a3dc29
cmovne ebx, edx
test al, al
mov eax, ebx
cmovne eax, edx
test cl, cl
cmove eax, ebx
jmp 0x57f552
mov eax, 0xd0a3dc29
jmp 0x57f552
mov eax, dword [esi + 4]
jmp 0x57f552
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0x88]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x57f31c
or al, cl
je 0x57f31c
jmp 0x585e6e
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x57f64f
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x57f93c
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
jne 0x57f853
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x57f853
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x57f6a7
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x57f70f
cmp ecx, 0xc1fd3d12
je 0x57f74a
cmp ecx, 0x3365058b
jne 0x57f6f0
mov ecx, 0x7b4463f8
jmp 0x57f6f0
cmp ecx, 0x7b4463f8
je 0x57f746
cmp ecx, 0x52166c0c
jne 0x57f6f0
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x57f6f0
mov ecx, eax
jmp 0x57f6f0
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x57f85f
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 0x57f779
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x57f7c4
cmp eax, 0xc76c0d8d
je 0x57f802
cmp eax, 0x1f2e313
jne 0x57f7a2
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x57f7a2
cmp eax, 0x590bba57
je 0x57f6a4
cmp eax, 0x74ccc71d
jne 0x57f7a2
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne eax, edi
test cl, cl
mov ecx, 0x1f2e313
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57f7a2
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x57f7a2
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x57f68d
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x57f8a2
cmp eax, 0x3e63df81
je 0x57f8c0
cmp eax, 0x5632c42c
jne 0x57f888
jmp 0x57f644
cmp eax, 0x1d5864bd
je 0x57f90d
cmp eax, 0x3ce7f0d1
jne 0x57f888
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x57f888
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x57f888
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x57f888
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x57ebce
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x57f97d
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x58074c
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x57fa72
or cl, al
jne 0x585e60
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x58011e
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x5800dd
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0xa8
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x57fb93
cmp dword [esi + 4], 0xb018ea81
je 0x57fbcf
cmp dword [esi + 4], 0xf7175d7a
jne 0x57fb73
jmp 0x57fc44
cmp dword [esi + 4], 0x1583cd3b
je 0x57fbed
cmp dword [esi + 4], 0x5a1cc736
jne 0x57fb73
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x57fb73
mov dword [esi + 0xf0], 0xaa
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x57fb73
mov dword [esi + 0xf0], 0xaa
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x57fb73
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x57fc75
or cl, al
jne 0x57fda0
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x57fcda
cmp ecx, 0x46df2edb
je 0x57fd16
cmp ecx, 0x766d7330
jne 0x57fcc0
jmp 0x57fd21
cmp ecx, 0x80c66156
je 0x57fd1a
cmp ecx, 0xf2325ac5
jne 0x57fcc0
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x57fcc0
mov ecx, eax
jmp 0x57fcc0
mov ecx, 0x46df2edb
jmp 0x57fcc0
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x57fd56
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
mov dword [eax], edx
mov edx, dword [esi + 0x48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x3c]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x44]
mov dword [eax + 0xc], edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x57fe98
xor cl, al
jne 0x57fe98
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x57fdec
cmp ecx, 0x46df2eda
jle 0x57fe06
cmp ecx, 0x46df2edb
je 0x57fdea
cmp ecx, 0x80c66156
je 0x57fe3d
mov dword [esi + 0xf0], 0xa8
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x57fee4
xor cl, al
je 0x585e70
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x57ff2f
cmp dword [esi + 4], 0xb018ea81
je 0x57ff70
cmp dword [esi + 4], 0xf7175d7a
jne 0x57ff0f
cmp dword [esi + 4], 0x1583cd3b
je 0x57ff8e
cmp dword [esi + 4], 0x5a1cc736
jne 0x57ff0f
mov dword [esi + 0xf0], 0xa9
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
jmp 0x57ff0f
mov dword [esi + 0xf0], 0xa9
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x57ff0f
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x44], edx
test al, cl
jne 0x57fa40
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
jne 0x57fa40
jmp 0x585e72
mov dword [esi + 0x88], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0x88]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x58015c
jmp 0x580444
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
and eax, 1
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
and ecx, 1
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
setl byte [esi + 0x24]
cmovge edi, eax
mov dword [esi + 4], edi
mov eax, dword [esi + 0x30]
mov edx, dword [eax]
mov eax, dword [esi + 0x3c]
lea eax, [eax + eax*2]
mov dword [esi + 0x4c], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x48], eax
mov edi, 0xd6d6a098
cmp edi, 0x6675f963
jle 0x5801d9
cmp edi, 0x6675f964
je 0x580215
cmp edi, 0x7862661b
jne 0x5801bf
jmp 0x580221
cmp edi, 0xd0a3dc29
je 0x58021c
cmp edi, 0xd6d6a098
jne 0x5801bf
movzx eax, byte [esi + 0x34]
movzx ebx, byte [esi + 0x24]
mov ah, bl
xor ah, al
test bl, bl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov edx, 0x6675f964
cmove edi, edx
test ah, ah
cmovne edi, ebx
jmp 0x5801bf
mov edi, 0xd0a3dc29
jmp 0x5801bf
mov edi, dword [esi + 4]
jmp 0x5801bf
mov edx, dword [esi + 0x3c]
dec edx
test ecx, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x90], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x78], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x4c]
lea eax, [edx + eax*4]
mov dword [esi + 0x4c], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x580277
cmp eax, 0x6675f964
je 0x5802ac
cmp eax, 0x7862661b
jne 0x580260
jmp 0x5802b8
cmp eax, 0xd0a3dc29
je 0x5802b3
cmp eax, 0xd6d6a098
jne 0x580260
movzx ebx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, bl
xor ah, al
mov edx, 0x6675f964
mov edi, 0xd0a3dc29
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test bl, bl
cmove eax, edx
jmp 0x580260
mov eax, 0xd0a3dc29
jmp 0x580260
mov eax, dword [esi + 4]
jmp 0x580260
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x90]
cmp edx, dword [eax]
mov edx, dword [esi + 0x78]
sbb edx, dword [eax + 4]
jge 0x580404
test ecx, ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x580301
cmp eax, 0x6675f964
je 0x580336
cmp eax, 0x7862661b
jne 0x5802ea
jmp 0x580342
cmp eax, 0xd0a3dc29
je 0x58033d
cmp eax, 0xd6d6a098
jne 0x5802ea
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x5802ea
mov eax, 0xd0a3dc29
jmp 0x5802ea
mov eax, dword [esi + 4]
jmp 0x5802ea
test ecx, ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x580375
cmp eax, 0x6675f964
je 0x5803aa
cmp eax, 0xd0a3dc29
je 0x5803b1
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0x88]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x580128
or al, cl
je 0x580128
jmp 0x585e64
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x580459
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x44]
je 0x580732
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x580649
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x580649
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x5804a7
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x580511
cmp ecx, 0xc1fd3d12
je 0x58054c
cmp ecx, 0x3365058b
jne 0x5804f2
mov ecx, 0x7b4463f8
jmp 0x5804f2
cmp ecx, 0x7b4463f8
je 0x580548
cmp ecx, 0x52166c0c
jne 0x5804f2
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x5804f2
mov ecx, eax
jmp 0x5804f2
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x580655
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 0x58057b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x5805c6
cmp eax, 0xc76c0d8d
je 0x5805ff
cmp eax, 0x1f2e313
jne 0x5805a4
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x5805a4
cmp eax, 0x590bba57
je 0x5804a4
cmp eax, 0x74ccc71d
jne 0x5805a4
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5805a4
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5805a4
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x58048d
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x580698
cmp eax, 0x3e63df81
je 0x5806b6
cmp eax, 0x5632c42c
jne 0x58067e
jmp 0x58044e
cmp eax, 0x1d5864bd
je 0x580703
cmp eax, 0x3ce7f0d1
jne 0x58067e
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x58067e
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x58067e
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x58067e
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x57f9f6
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c69b4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x5807d9
cmp ecx, 0x150b35d3
je 0x5807ed
cmp ecx, 0x1e00e94d
jne 0x58079a
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov edi, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x58079a
cmp ecx, 0x3d9de5f5
je 0x580839
cmp ecx, 0x3f6d87b9
jne 0x58079a
mov ecx, eax
jmp 0x58079a
mov ecx, 0x3f6d87b9
jmp 0x58079a
mov esp, dword [esi + 0xc8]
mov eax, dword [0x5c69a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x7c4966b4
mov edi, 0x9858f9d0
cmove eax, edi
cmp dword [0x5c69ac], 0xa
mov edx, 0x7c4966b4
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x57b8ae
mov eax, 0xb3e2a994
mov esp, dword [esi + 0xc8]
jmp 0x57b8ae
cmp dword [esi + 4], 0x12345678
jne 0x58085c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov eax, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc6]
cmp ecx, 0xa
setl byte [esi + 0xc7]
mov eax, 0xe2c12531
cmp eax, 0xe2c12530
jg 0x58098b
cmp eax, 0x9858f9d0
je 0x5858b2
cmp eax, 0xb3e2a994
jne 0x58089b
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x580a94
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x81
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
inc dword [esi + 4]
test ah, ah
jne 0x5808f3
or cl, al
je 0x5808f3
jmp 0x585d94
cmp eax, 0x7c4966b4
je 0x5809cd
cmp eax, 0xe2c12531
jne 0x58089b
movzx ecx, byte [esi + 0xc6]
movzx eax, byte [esi + 0xc7]
mov edx, ecx
xor dl, al
mov edx, 0x7c4966b4
mov edi, 0xb3e2a994
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x58089b
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xa
mov dword [esi + 0xa8], 0xf
mov dword [esi + 0xac], 0x1e
sub esp, 4
movzx eax, byte [esi + 0x24]
mov byte [esp], al
lea ecx, [esi + 0x60]
call fcn.00539ac0
mov dword [esi + 4], 0
cmp dword [esi + 4], 0x64
jae 0x58112c
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov dword [esi + 0xf0], 0x89
lea ecx, [esi + 0xa8]
push edx
push eax
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 0x24], eax
lea ecx, [esi + 0x34]
push dword [esi + 0x38]
push dword [esi + 0x34]
lea eax, [esi + 0x54]
push eax
call fcn.0041e770
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432220
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
inc dword [esi + 4]
test cl, al
jne 0x580a08
xor cl, al
jne 0x580a08
jmp 0x585d92
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x580b22
cmp ecx, 0xc56a9b93
je 0x580b85
cmp ecx, 0xd3cadfc0
jne 0x580adf
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x580adf
cmp ecx, 0x5722fc0f
je 0x580b92
cmp ecx, 0x615aa6db
jne 0x580adf
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x580adf
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x580adf
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x580c24
cmp ecx, 0x80dc4cc9
je 0x580c3b
cmp ecx, 0x7f3e42f
jne 0x580be0
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x580be0
cmp ecx, 0x1aabc941
je 0x580c3f
cmp ecx, 0x5add25f0
jne 0x580be0
mov ecx, 0x80dc4cc9
jmp 0x580be0
mov ecx, eax
jmp 0x580be0
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
cmp eax, dword [esi + 0x7c]
je 0x5817c2
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x580ccf
cmp ecx, 0xc56a9b93
je 0x580d2c
cmp ecx, 0xd3cadfc0
jne 0x580c87
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x580c87
cmp ecx, 0x5722fc0f
je 0x580d39
cmp ecx, 0x615aa6db
jne 0x580c87
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x580c87
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x580c87
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x20], eax
jmp 0x580d4a
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x10], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x580f42
mov ecx, dword [esi + 0x30]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
sete byte [esi + 0xf]
sete bl
mov eax, 0x5add25f0
mov edx, 0x1aabc941
cmove eax, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl bh
mov ecx, 0x5add25f0
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x580e0e
cmp ebx, 0x80dc4cc9
je 0x580e25
cmp ebx, 0x7f3e42f
jne 0x580dc5
movzx edx, byte [esi + 0xf]
movzx ebx, byte [esi + 8]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x5add25f0
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
test dl, dl
mov ecx, 0x5add25f0
cmove ebx, ecx
test dh, dh
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
jmp 0x580dc5
cmp ebx, 0x1aabc941
je 0x580e29
cmp ebx, 0x5add25f0
jne 0x580dc5
mov ebx, 0x80dc4cc9
jmp 0x580dc5
mov ebx, eax
jmp 0x580dc5
cmp byte [esi + 0x10], 0
je 0x580f4e
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x580fdf
push dword [esi + 0x1c]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x20]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x581021
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x580eaf
cmp eax, 0x9f04b71e
je 0x580f05
cmp eax, 0xaf18808
jne 0x580e95
jmp 0x580d47
cmp eax, 0x3d9eb8cd
je 0x580f34
cmp eax, 0x6301b93d
jne 0x580e95
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x580e95
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x580e95
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x580e95
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
test edi, edi
sete byte [esi + 0xf]
sete al
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmove edi, ebx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl dl
mov ecx, 0x5add25f0
cmovge edi, ecx
xor dl, al
cmovne edi, ebx
mov eax, 0x7f3e42f
jmp 0x580f85
mov eax, edi
cmp eax, 0x1aabc940
jg 0x580fc6
cmp eax, 0x80dc4cc9
je 0x580f83
cmp eax, 0x7f3e42f
jne 0x580f85
movzx edx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne eax, ebx
test dl, dl
mov ecx, 0x5add25f0
cmove eax, ecx
test dh, dh
cmovne eax, ebx
jmp 0x580f85
cmp eax, 0x1aabc941
je 0x580d84
cmp eax, 0x5add25f0
jne 0x580f85
mov eax, 0x80dc4cc9
jmp 0x580f85
mov dword [esi + 0xf0], 0x82
lea ecx, [esi + 0x24]
push dword [esi + 0x1c]
call fcn.00432800
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x581057
xor cl, al
jne 0x581057
jmp 0x585f1a
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x581057
or cl, al
test cl, 1
jne 0x585f1c
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x58109a
cmp eax, 0x9f04b71e
je 0x5810ef
cmp eax, 0xaf18808
jne 0x581080
jmp 0x580b92
cmp eax, 0x3d9eb8cd
je 0x58111e
cmp eax, 0x6301b93d
jne 0x581080
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x581080
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x581080
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x581080
sub esp, 4
movzx eax, byte [esi + 8]
mov byte [esp], al
lea ecx, [esi + 0x24]
call fcn.00539ac0
lea ecx, [esi + 0x60]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x64]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x5811ba
cmp ecx, 0xc56a9b93
je 0x581217
cmp ecx, 0xd3cadfc0
jne 0x581177
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x581177
cmp ecx, 0x5722fc0f
je 0x581224
cmp ecx, 0x615aa6db
jne 0x581177
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x581177
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x581177
mov eax, dword [esi + 8]
mov edx, dword [0x5c3f78]
mov ecx, dword [0x5c3f7c]
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, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x14]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov ecx, 0x7f3e42f
cmp ecx, 0x1aabc940
jg 0x5812b6
cmp ecx, 0x80dc4cc9
je 0x5812cd
cmp ecx, 0x7f3e42f
jne 0x581272
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne ecx, ebx
test dl, dl
mov edi, 0x5add25f0
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x581272
cmp ecx, 0x1aabc941
je 0x5812d1
cmp ecx, 0x5add25f0
jne 0x581272
mov ecx, 0x80dc4cc9
jmp 0x581272
mov ecx, eax
jmp 0x581272
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp eax, dword [esi + 0x7c]
je 0x5818dd
lea ecx, [esi + 0x24]
lea eax, [esi + 0x14]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1b]
cmp edx, 0xa
setl byte [esi + 0xf]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x58135f
cmp ecx, 0xc56a9b93
je 0x5813c3
cmp ecx, 0xd3cadfc0
jne 0x58131c
movzx edx, byte [esi + 0x1b]
movzx ecx, byte [esi + 0xf]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x58131c
cmp ecx, 0x5722fc0f
je 0x5813d3
cmp ecx, 0x615aa6db
jne 0x58131c
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc56a9b93
mov eax, 0x5722fc0f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov edx, dword [esi + 8]
jmp 0x58131c
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov ecx, 0x615aa6db
jmp 0x58131c
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x3c], eax
jmp 0x5813e4
mov eax, dword [esi + 8]
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
or cl, al
mov byte [esi + 0x1c], cl
mov eax, dword [0x5c3f78]
mov dword [esi + 0x30], eax
mov eax, dword [0x5c3f7c]
mov dword [esi + 4], eax
je 0x5815dd
mov eax, dword [esi + 0x30]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl ah
xor ah, al
mov ebx, 0x5add25f0
mov ecx, 0x1aabc941
cmovne ebx, ecx
and edi, 1
sete byte [esi + 0xf]
mov eax, ebx
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov ebx, 0x7f3e42f
cmp ebx, 0x1aabc940
jg 0x5814a9
cmp ebx, 0x80dc4cc9
je 0x5814c0
cmp ebx, 0x7f3e42f
jne 0x581463
movzx ebx, byte [esi + 0xf]
mov byte [esi + 0x10], bl
mov ch, byte [esi + 8]
xor bl, ch
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test ch, ch
mov ebx, edx
mov ecx, 0x80dc4cc9
cmovne ebx, ecx
cmp byte [esi + 0x10], 0
cmove ebx, edx
jmp 0x581463
cmp ebx, 0x1aabc941
je 0x5814c4
cmp ebx, 0x5add25f0
jne 0x581463
mov ebx, 0x80dc4cc9
jmp 0x581463
mov ebx, eax
jmp 0x581463
cmp byte [esi + 0x1c], 0
je 0x5815ed
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x40]
je 0x581679
push dword [esi + 0x20]
push ebx
call fcn.00539910
add esp, 8
mov edi, eax
mov dword [esi + 4], edx
lea eax, [ebx + 4]
push dword [esi + 0x3c]
push eax
call fcn.00539910
add esp, 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x5816bc
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1b]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x58154a
cmp eax, 0x9f04b71e
je 0x5815a0
cmp eax, 0xaf18808
jne 0x581530
jmp 0x5813e1
cmp eax, 0x3d9eb8cd
je 0x5815cf
cmp eax, 0x6301b93d
jne 0x581530
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x581530
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0xf]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne eax, edi
test cl, cl
mov ecx, 0x3d9eb8cd
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x581530
add dword [esi + 0x14], 8
mov eax, 0x6301b93d
jmp 0x581530
mov ecx, dword [esi + 0x30]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
test edi, edi
sete byte [esi + 0xf]
sete al
mov edi, 0x5add25f0
mov edx, 0x1aabc941
cmove edi, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 8]
setl cl
mov ebx, 0x5add25f0
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov eax, 0x7f3e42f
jmp 0x581624
mov eax, edi
cmp eax, 0x1aabc940
jg 0x581660
cmp eax, 0x80dc4cc9
je 0x581622
cmp eax, 0x7f3e42f
jne 0x581624
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x5add25f0
mov ebx, 0x80dc4cc9
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x581624
cmp eax, 0x1aabc941
je 0x58141f
cmp eax, 0x5add25f0
jne 0x581624
mov eax, 0x80dc4cc9
jmp 0x581624
mov dword [esi + 0xf0], 0x8a
lea ecx, [esi + 0x24]
push dword [esi + 0x20]
call fcn.00432800
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x5816f2
or cl, al
test cl, 1
je 0x5816f2
jmp 0x585f02
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x5c3f60]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ch
xor ch, dl
jne 0x5816f2
or cl, al
test cl, 1
jne 0x585f04
mov eax, dword [0x5c3f70]
mov ecx, dword [0x5c3f74]
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 + 0x14]
mov eax, 0x9f04b71e
cmp eax, 0x3d9eb8cc
jg 0x581734
cmp eax, 0x9f04b71e
je 0x58178a
cmp eax, 0xaf18808
jne 0x58171a
jmp 0x581224
cmp eax, 0x3d9eb8cd
je 0x5817b4
cmp eax, 0x6301b93d
jne 0x58171a
lea eax, [esi + 0x50]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov eax, dword [0x5c3f70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3d9eb8cd
mov edi, 0xaf18808
cmove eax, edi
cmp dword [0x5c3f74], 0xa
mov edx, 0x3d9eb8cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x58171a
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x3d9eb8cd
mov edi, 0x6301b93d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x58171a
add dword [esi + 0x50], 8
mov eax, 0x6301b93d
jmp 0x58171a
mov eax, dword [0x5c3f60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3f64], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5817f3
or cl, al
jne 0x585f1e
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x58186f
cmp ecx, 0xc56a9b93
je 0x5818d0
cmp ecx, 0xd3cadfc0
jne 0x58182c
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov ch, dl
xor ch, cl
mov edi, 0xc56a9b93
mov ebx, 0x615aa6db
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x58182c
cmp ecx, 0x5722fc0f
je 0x5819fe
cmp ecx, 0x615aa6db
jne 0x58182c
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f68]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xc56a9b93
mov ebx, 0x5722fc0f
cmove ecx, ebx
cmp dword [0x5c3f6c], 0xa
mov edi, 0xc56a9b93
cmovge ecx, edi
setl dh
xor dh, dl
cmovne ecx, ebx
jmp 0x58182c
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x58182c
mov eax, dword [0x5c3f60]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3f64], 0xa
setl cl
test cl, al
jne 0x581909
xor cl, al
je 0x585f06
lea ecx, [esi + 0x24]
lea eax, [esi + 0x50]
push eax
call fcn.00539630
mov eax, dword [esi + 0x28]
mov ecx, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0xd3cadfc0
cmp ecx, 0x5722fc0e
jg 0x58198a
cmp ecx, 0xc56a9b93
je 0x5819f1
cmp ecx, 0xd3cadfc0
jne 0x581942
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xc56a9b93
mov edi, 0x615aa6db
cmovne ecx, edi
test dl, dl
mov ebx, 0xc56a9b93
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x581942
cmp ecx, 0x5722fc0f
je 0x581bd4
cmp ecx, 0x615aa6db
jne 0x581942
lea ecx, [esi + 0x7c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov edi, dword [0x5c3f68]
mov edx, dword [0x5c3f6c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xc56a9b93
mov ebx, 0x5722fc0f
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
mov edx, dword [esi + 8]
jmp 0x581942
mov dword [esi + 0x7c], eax
mov ecx, 0x615aa6db
jmp 0x581942
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x581a0d
mov ecx, dword [esi + 8]
mov ecx, dword [0x5c3f78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3f7c]
sete byte [esi + 0x14]
sete bl
mov ecx, 0x5add25f0
mov edi, 0x1aabc941
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov eax, 0x5add25f0
cmovge ecx, eax
xor dl, bl
cmovne ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x581a95
cmp edx, 0x80dc4cc9
je 0x581aac
cmp edx, 0x7f3e42f
jne 0x581a56
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x581a56
cmp edx, 0x1aabc941
je 0x581ab0
cmp edx, 0x5add25f0
jne 0x581a56
mov edx, 0x80dc4cc9
jmp 0x581a56
mov edx, ecx
jmp 0x581a56
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x581dc4
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c3f64], 0xa
setl cl
or cl, dl
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x581aed
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x581aea
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x581b3f
cmp ecx, 0x9f04b71e
je 0x581b97
cmp ecx, 0xaf18808
jne 0x581b22
jmp 0x581a0a
cmp ecx, 0x3d9eb8cd
je 0x581bc6
cmp ecx, 0x6301b93d
jne 0x581b22
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov ecx, dword [0x5c3f70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x3d9eb8cd
mov edi, 0xaf18808
cmove ecx, edi
cmp dword [0x5c3f74], 0xa
mov eax, 0x3d9eb8cd
cmovge ecx, eax
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x581b22
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x581b22
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x581b22
mov eax, dword [esi + 8]
mov dword [esi + 4], 0
jmp 0x581be3
mov ecx, dword [esi + 8]
mov edi, dword [0x5c3f78]
mov edx, dword [0x5c3f7c]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x5add25f0
mov ebx, 0x1aabc941
cmovne edi, ebx
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge ecx, edi
mov edx, 0x7f3e42f
cmp edx, 0x1aabc940
jg 0x581c6f
cmp edx, 0x80dc4cc9
je 0x581c86
cmp edx, 0x7f3e42f
jne 0x581c30
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0x5add25f0
mov eax, 0x80dc4cc9
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
test bl, bl
cmove edx, edi
jmp 0x581c30
cmp edx, 0x1aabc941
je 0x581c8a
cmp edx, 0x5add25f0
jne 0x581c30
mov edx, 0x80dc4cc9
jmp 0x581c30
mov edx, ecx
jmp 0x581c30
mov edi, dword [esi + 0x50]
cmp edi, dword [esi + 0x7c]
je 0x583af3
mov ecx, dword [0x5c3f60]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c3f64], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
mov edx, dword [edi]
mov edi, dword [edi + 4]
jne 0x581cd3
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
mov ebx, edi
sub ebx, edx
add dword [esi + 4], ebx
test cl, cl
je 0x581cd0
mov ecx, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ecx, 0x9f04b71e
cmp ecx, 0x3d9eb8cc
jg 0x581d25
cmp ecx, 0x9f04b71e
je 0x581d87
cmp ecx, 0xaf18808
jne 0x581d08
jmp 0x581be0
cmp ecx, 0x3d9eb8cd
je 0x581db6
cmp ecx, 0x6301b93d
jne 0x581d08
lea ecx, [esi + 0x50]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x5c3f70]
mov edx, dword [0x5c3f74]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x3d9eb8cd
mov eax, 0xaf18808
cmovne edi, eax
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, edi
jmp 0x581d08
movzx edx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x14]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3d9eb8cd
mov eax, 0x6301b93d
cmovne ecx, eax
test dl, dl
mov edi, 0x3d9eb8cd
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x581d08
add dword [esi + 0x50], 8
mov ecx, 0x6301b93d
jmp 0x581d08
cmp dword [esi + 4], 0x12345678
jne 0x581dd7
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x581e15
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x582c0c
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x581f08
or cl, al
test cl, 1
jne 0x585f2c
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x5825be
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x58257d
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x83
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x582028
cmp dword [esi + 4], 0xb018ea81
je 0x582064
cmp dword [esi + 4], 0xf7175d7a
jne 0x582008
jmp 0x5820d9
cmp dword [esi + 4], 0x1583cd3b
je 0x582082
cmp dword [esi + 4], 0x5a1cc736
jne 0x582008
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x582008
mov dword [esi + 0xf0], 0x85
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x582008
mov dword [esi + 0xf0], 0x85
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov eax, dword [0x5c4088]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0xb018ea81
mov edx, 0xf7175d7a
cmove edi, edx
cmp dword [0x5c408c], 0xa
mov ecx, 0xb018ea81
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
mov dword [esi + 4], edi
jmp 0x582008
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x58210a
or cl, al
jne 0x582235
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x58216f
cmp ecx, 0x46df2edb
je 0x5821a6
cmp ecx, 0x766d7330
jne 0x582155
jmp 0x5821b1
cmp ecx, 0x80c66156
je 0x5821aa
cmp ecx, 0xf2325ac5
jne 0x582155
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x582155
mov ecx, eax
jmp 0x582155
mov ecx, 0x46df2edb
jmp 0x582155
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x5821e6
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x4c]
mov dword [edx], edi
mov edi, dword [esi + 0x48]
mov dword [edx + 4], edi
mov edi, dword [esi + 0x20]
mov dword [edx + 8], edi
mov edi, dword [esi + 0x3c]
mov dword [edx + 0xc], edi
jne 0x582332
or cl, al
je 0x582332
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x582286
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x5822a0
cmp ecx, 0x46df2edb
je 0x582284
cmp ecx, 0x766d7330
jne 0x582286
jmp fcn.005822de
cmp ecx, 0x80c66156
je 0x5822d7
cmp ecx, 0xf2325ac5
jne 0x582286
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x582286
mov ecx, 0x46df2edb
jmp 0x582286
mov dword [esi + 0xf0], 0x83
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x58237e
xor cl, al
je 0x585f2e
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x5823c8
cmp dword [esi + 4], 0xb018ea81
je 0x582409
cmp dword [esi + 4], 0xf7175d7a
jne 0x5823a8
jmp 0x582483
cmp dword [esi + 4], 0x1583cd3b
je 0x582427
cmp dword [esi + 4], 0x5a1cc736
jne 0x5823a8
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x5823a8
mov dword [esi + 0xf0], 0x84
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x5823a8
mov dword [esi + 0xf0], 0x84
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x5823a8
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x5824e6
cmp dword [esi + 4], 0
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
test al, cl
jne 0x581ed8
xor al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
jne 0x581ed8
jmp 0x585f30
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 0x20], edx
cmp edx, ecx
jb 0x5825fc
jmp 0x5828f0
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x48], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x3c], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 4], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x1c]
mov edi, dword [eax]
mov eax, dword [esi + 0x20]
lea edx, [eax + eax*2]
mov dword [esi + 0x78], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x4c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x58267d
cmp edx, 0x6675f964
je 0x5826b4
cmp edx, 0x7862661b
jne 0x582663
jmp 0x5826c0
cmp edx, 0xd0a3dc29
je 0x5826bb
cmp edx, 0xd6d6a098
jne 0x582663
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x582663
mov edx, 0xd0a3dc29
jmp 0x582663
mov edx, dword [esi + 4]
jmp 0x582663
mov edx, dword [esi + 0x20]
dec edx
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x88], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x20], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x78]
lea eax, [edx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x58271a
cmp eax, 0x6675f964
je 0x58274f
cmp eax, 0x7862661b
jne 0x582703
jmp 0x58275b
cmp eax, 0xd0a3dc29
je 0x582756
cmp eax, 0xd6d6a098
jne 0x582703
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x582703
mov eax, 0xd0a3dc29
jmp 0x582703
mov eax, dword [esi + 4]
jmp 0x582703
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x88]
cmp edx, dword [eax]
mov edx, dword [esi + 0x90]
sbb edx, dword [eax + 4]
jge 0x5828b0
test dword [esi + 0x48], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x5827a8
cmp eax, 0x6675f964
je 0x5827dd
cmp eax, 0x7862661b
jne 0x582791
jmp 0x5827e9
cmp eax, 0xd0a3dc29
je 0x5827e4
cmp eax, 0xd6d6a098
jne 0x582791
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x582791
mov eax, 0xd0a3dc29
jmp 0x582791
mov eax, dword [esi + 4]
jmp 0x582791
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x58281d
cmp eax, 0x6675f964
je 0x582852
cmp eax, 0x7862661b
jne 0x582806
jmp fcn.0058285e
cmp eax, 0xd0a3dc29
je 0x582859
cmp eax, 0xd6d6a098
jne 0x582806
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, cl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test cl, cl
cmove eax, edi
jmp 0x582806
mov eax, 0xd0a3dc29
jmp 0x582806
mov eax, dword [esi + 4]
jmp 0x582806
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0xa0]
test eax, eax
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5825c8
or al, cl
je 0x5825c8
jmp 0x585f34
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x582905
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x582bf2
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x582b09
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x582b09
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x582960
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov edi, 0xc1fd3d12
cmovne ebx, edi
test edx, eax
sete byte [esi + 0x24]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x5829ca
cmp ecx, 0xc1fd3d12
je 0x582a05
cmp ecx, 0x3365058b
jne 0x5829ab
mov ecx, 0x7b4463f8
jmp 0x5829ab
cmp ecx, 0x7b4463f8
je 0x582a01
cmp ecx, 0x52166c0c
jne 0x5829ab
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x5829ab
mov ecx, eax
jmp 0x5829ab
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x582b15
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 0x582a34
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x582a7f
cmp eax, 0xc76c0d8d
je 0x582ab8
cmp eax, 0x1f2e313
jne 0x582a5d
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x582a5d
cmp eax, 0x590bba57
je 0x58295d
cmp eax, 0x74ccc71d
jne 0x582a5d
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x582a5d
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x582a5d
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x582946
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x582b58
cmp eax, 0x3e63df81
je 0x582b76
cmp eax, 0x5632c42c
jne 0x582b3e
jmp 0x5828fa
cmp eax, 0x1d5864bd
je 0x582bc3
cmp eax, 0x3ce7f0d1
jne 0x582b3e
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x582b3e
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x582b3e
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x582b3e
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x581e8e
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x582c33
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x583a42
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x582d22
xor cl, al
je 0x585f20
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x5833ea
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x5833a3
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x86
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x582e42
cmp dword [esi + 4], 0xb018ea81
je 0x582e7e
cmp dword [esi + 4], 0xf7175d7a
jne 0x582e22
jmp 0x582ef8
cmp dword [esi + 4], 0x1583cd3b
je 0x582e9c
cmp dword [esi + 4], 0x5a1cc736
jne 0x582e22
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x582e22
mov dword [esi + 0xf0], 0x88
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x582e22
mov dword [esi + 0xf0], 0x88
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x582e22
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x582f29
or cl, al
jne 0x583052
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x582f8b
cmp ecx, 0x46df2edb
je 0x582fc7
cmp ecx, 0x766d7330
jne 0x582f71
jmp 0x582fd2
cmp ecx, 0x80c66156
je 0x582fcb
cmp ecx, 0xf2325ac5
jne 0x582f71
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x582f71
mov ecx, eax
jmp 0x582f71
mov ecx, 0x46df2edb
jmp 0x582f71
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x583007
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x58]
mov eax, dword [esi + 0x4c]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 8], eax
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x44]
mov dword [edi + 0xc], ecx
setl ch
setge cl
cmp ch, dl
jne 0x583152
or cl, al
test cl, 1
je 0x583152
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov ebx, 0x766d7330
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x34]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edi
mov ecx, 0xf2325ac5
jmp 0x5830a1
cmp ecx, 0x46df2eda
jle 0x5830bb
cmp ecx, 0x46df2edb
je 0x58309f
cmp ecx, 0x80c66156
je 0x5830f7
mov dword [esi + 0xf0], 0x86
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov ecx, dword [0x5c4080]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ch
xor ch, dl
jne 0x5831a0
or cl, al
test cl, 1
jne 0x585f22
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x5831eb
cmp dword [esi + 4], 0xb018ea81
je 0x58322c
cmp dword [esi + 4], 0xf7175d7a
jne 0x5831cb
cmp dword [esi + 4], 0x1583cd3b
je 0x58324a
cmp dword [esi + 4], 0x5a1cc736
jne 0x5831cb
mov dword [esi + 0xf0], 0x87
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
jmp 0x5831cb
mov dword [esi + 0xf0], 0x87
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x5831cb
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x3c], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x44], edi
cmp dl, ah
jne 0x582cf6
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x582cf6
jmp 0x585f24
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x44], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 0x3c], edx
cmp edx, ecx
jb 0x583428
jmp 0x583731
mov eax, dword [0x5c4098]
mov ebx, dword [0x5c409c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl dl
xor dl, al
mov eax, 0x6675f964
mov edx, 0x7862661b
cmovne eax, edx
mov dword [esi + 0x48], edi
test edi, ecx
sete byte [esi + 0x34]
mov edi, eax
cmove edi, edx
mov dword [esi + 0x44], ebx
cmp ebx, 0xa
cmovge edi, eax
mov dword [esi + 4], edi
setl byte [esi + 0x24]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0x3c]
lea edx, [eax + eax*2]
mov dword [esi + 0x78], edi
lea eax, [edi + edx*4]
mov dword [esi + 0x4c], eax
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x5834a9
cmp edx, 0x6675f964
je 0x5834e5
cmp edx, 0x7862661b
jne 0x58348f
jmp 0x5834f1
cmp edx, 0xd0a3dc29
je 0x5834ec
cmp edx, 0xd6d6a098
jne 0x58348f
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edx, ebx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x58348f
mov edx, 0xd0a3dc29
jmp 0x58348f
mov edx, dword [esi + 4]
jmp 0x58348f
mov edx, dword [esi + 0x3c]
dec edx
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [esi + 0x88], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov dword [esi + 0x3c], edx
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x78]
lea eax, [edx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x58354b
cmp eax, 0x6675f964
je 0x583580
cmp eax, 0x7862661b
jne 0x583534
jmp 0x58358c
cmp eax, 0xd0a3dc29
je 0x583587
cmp eax, 0xd6d6a098
jne 0x583534
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x583534
mov eax, 0xd0a3dc29
jmp 0x583534
mov eax, dword [esi + 4]
jmp 0x583534
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [esi + 0x88]
cmp edx, dword [eax]
mov edx, dword [esi + 0x90]
sbb edx, dword [eax + 4]
jge 0x5836f7
test dword [esi + 0x48], ecx
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x5835dc
cmp edx, 0x6675f964
je 0x583618
cmp edx, 0x7862661b
jne 0x5835c2
jmp 0x583624
cmp edx, 0xd0a3dc29
je 0x58361f
cmp edx, 0xd6d6a098
jne 0x5835c2
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0x6675f964
mov ebx, 0xd0a3dc29
cmovne edx, ebx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ebx
jmp 0x5835c2
mov edx, 0xd0a3dc29
jmp 0x5835c2
mov edx, dword [esi + 4]
jmp 0x5835c2
test dword [esi + 0x48], ecx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0x60]
sete byte [esi + 0x34]
cmp dword [esi + 0x44], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x58365b
cmp ecx, 0x6675f964
je 0x583697
cmp ecx, 0xd0a3dc29
je 0x58369e
mov eax, dword [esi + 0x8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
inc dword [esi + 0xa0]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x5833f4
xor al, cl
jne 0x5833f4
jmp 0x585f28
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x583746
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x44]
je 0x583a28
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5c4084], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x58393f
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x58393f
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x583795
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x583801
cmp ecx, 0xc1fd3d12
je 0x583841
cmp ecx, 0x3365058b
jne 0x5837e2
mov ecx, 0x7b4463f8
jmp 0x5837e2
cmp ecx, 0x7b4463f8
je 0x58383d
cmp ecx, 0x52166c0c
jne 0x5837e2
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x5837e2
mov ecx, eax
jmp 0x5837e2
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x58394b
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 0x583870
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x5838bb
cmp eax, 0xc76c0d8d
je 0x5838f4
cmp eax, 0x1f2e313
jne 0x583899
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x583899
cmp eax, 0x590bba57
je 0x583792
cmp eax, 0x74ccc71d
jne 0x583899
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov ebx, 0xc76c0d8d
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x583899
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x1f2e313
mov ebx, 0x590bba57
cmove eax, ebx
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x583899
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x58377b
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x58398e
cmp eax, 0x3e63df81
je 0x5839ac
cmp eax, 0x5632c42c
jne 0x583974
jmp 0x58373b
cmp eax, 0x1d5864bd
je 0x5839f9
cmp eax, 0x3ce7f0d1
jne 0x583974
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x583974
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x583974
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x583974
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x582cac
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c69b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c69b4]
sete byte [esi + 0x24]
sete dl
mov eax, 0x150b35d3
mov edi, 0x3d9de5f5
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x60]
setl cl
mov ebx, 0x150b35d3
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x583ad4
cmp ecx, 0x150b35d3
je 0x583aec
cmp ecx, 0x1e00e94d
jne 0x583a90
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x583a90
cmp ecx, 0x3d9de5f5
je 0x585849
cmp ecx, 0x3f6d87b9
jne 0x583a90
mov ecx, eax
jmp 0x583a90
mov ecx, 0x3f6d87b9
jmp 0x583a90
cmp dword [esi + 4], 0x12345678
jne 0x583b06
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x24]
call fcn.0041ee40
lea ecx, [esi + 0x60]
call fcn.0041ee40
mov dword [esi + 0xc8], esp
mov dword [esi + 0xc0], esp
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x30], esp
test al, al
je 0x583b43
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x44]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x584951
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x3c], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 4], ecx
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x583c38
or cl, al
jne 0x585f08
mov edx, dword [esi + 0x20]
mov eax, edx
imul eax, dword [esi + 0x3c]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x5842f7
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x20]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x3c]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x5842b0
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x8b
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x583d59
cmp dword [esi + 4], 0xb018ea81
je 0x583d95
cmp dword [esi + 4], 0xf7175d7a
jne 0x583d39
jmp 0x583e0f
cmp dword [esi + 4], 0x1583cd3b
je 0x583db3
cmp dword [esi + 4], 0x5a1cc736
jne 0x583d39
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x583d39
mov dword [esi + 0xf0], 0x8d
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x583d39
mov dword [esi + 0xf0], 0x8d
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov edi, 0xf7175d7a
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov dword [esi + 4], ecx
jmp 0x583d39
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x583e3b
xor cl, al
je 0x583f5d
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x5c4094]
sete byte [esi + 0x34]
sete dl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
setl cl
mov ebx, 0x80c66156
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x583e9d
cmp ecx, 0x46df2edb
je 0x583ed4
cmp ecx, 0x766d7330
jne 0x583e83
jmp 0x583edf
cmp ecx, 0x80c66156
je 0x583ed8
cmp ecx, 0xf2325ac5
jne 0x583e83
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ch, dl
xor ch, cl
mov edi, 0x80c66156
mov ebx, 0x46df2edb
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x583e83
mov ecx, eax
jmp 0x583e83
mov ecx, 0x46df2edb
jmp 0x583e83
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x583f14
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0xc], ecx
sete al
cmp dword [0x5c4084], 0xa
setl cl
test cl, al
jne 0x58405b
xor cl, al
jne 0x58405b
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
jmp 0x583faa
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x583fc4
cmp ecx, 0x46df2edb
je 0x583fa8
cmp ecx, 0x766d7330
jne 0x583faa
jmp 0x584007
cmp ecx, 0x80c66156
je 0x584000
cmp ecx, 0xf2325ac5
jne 0x583faa
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x583faa
mov ecx, 0x46df2edb
jmp 0x583faa
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x58403c
mov dword [esi + 0xf0], 0x8b
mov ecx, dword [esi + 0x58]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x44]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c4084], 0xa
setge cl
setl ah
xor ah, dl
jne 0x5840ad
or cl, al
jne 0x585f0a
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x5840f8
cmp dword [esi + 4], 0xb018ea81
je 0x584139
cmp dword [esi + 4], 0xf7175d7a
jne 0x5840d8
jmp 0x5841b1
cmp dword [esi + 4], 0x1583cd3b
je 0x584157
cmp dword [esi + 4], 0x5a1cc736
jne 0x5840d8
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x5840d8
mov dword [esi + 0xf0], 0x8c
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
jmp 0x5840d8
mov dword [esi + 0xf0], 0x8c
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x58]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x5840d8
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x584214
cmp ecx, 0x46df2edb
je 0x584250
cmp ecx, 0x80c66156
je 0x584254
cmp dword [esi + 4], 0
setne al
sete dl
cmp dword [esi + 0x5c], 0xa
setge cl
setl ah
xor ah, dl
mov edx, dword [esi + 0x78]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3c], edx
jne 0x583c06
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], eax
je 0x583c06
jmp 0x585f2a
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x20], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x584335
jmp 0x584642
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x3c], edx
mov dword [esi + 0x48], eax
test eax, edx
sete byte [esi + 0x34]
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
sete al
mov dword [esi + 0x20], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea eax, [eax + eax*2]
mov dword [esi + 0x78], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x5843b4
cmp edx, 0x6675f964
je 0x5843f0
cmp edx, 0x7862661b
jne 0x58439a
jmp 0x5843fb
cmp edx, 0xd0a3dc29
je 0x5843f7
cmp edx, 0xd6d6a098
jne 0x58439a
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x58439a
mov edx, 0xd0a3dc29
jmp 0x58439a
mov edx, ebx
jmp 0x58439a
mov ecx, dword [esi + 4]
dec ecx
mov eax, dword [esi + 0x48]
test dword [esi + 0x3c], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x88], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x78]
lea eax, [ecx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x584458
cmp eax, 0x6675f964
je 0x58448d
cmp eax, 0x7862661b
jne 0x584441
jmp 0x584498
cmp eax, 0xd0a3dc29
je 0x584494
cmp eax, 0xd6d6a098
jne 0x584441
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x584441
mov eax, 0xd0a3dc29
jmp 0x584441
mov eax, ebx
jmp 0x584441
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x88]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x90]
sbb ecx, dword [eax + 4]
jge 0x58460c
mov eax, dword [esi + 0x48]
test dword [esi + 0x3c], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x5844eb
cmp edx, 0x6675f964
je 0x584527
cmp edx, 0x7862661b
jne 0x5844d1
jmp 0x584532
cmp edx, 0xd0a3dc29
je 0x58452e
cmp edx, 0xd6d6a098
jne 0x5844d1
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x5844d1
mov edx, 0xd0a3dc29
jmp 0x5844d1
mov edx, ebx
jmp 0x5844d1
mov eax, dword [esi + 0x48]
test dword [esi + 0x3c], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x3c], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x58456f
cmp ecx, 0x6675f964
je 0x5845ab
cmp ecx, 0x7862661b
jne 0x584555
jmp 0x5845b6
cmp ecx, 0xd0a3dc29
je 0x5845b2
cmp ecx, 0xd6d6a098
jne 0x584555
movzx eax, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov ah, al
xor ah, cl
test cl, cl
mov ecx, 0x6675f964
mov edx, 0xd0a3dc29
cmovne ecx, edx
test al, al
mov edi, 0x6675f964
cmove ecx, edi
test ah, ah
cmovne ecx, edx
jmp 0x584555
mov ecx, 0xd0a3dc29
jmp 0x584555
mov ecx, ebx
jmp 0x584555
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
push dword [esi + 0x3c]
call fcn.00434540
mov eax, dword [0x5c4080]
mov edx, dword [0x5c4084]
lea ecx, [eax + 1]
mov dword [esi + 0x8c], eax
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
sete ch
setne cl
mov dword [esi + 0x5c], edx
cmp edx, 0xa
setl dh
setge dl
cmp dh, ch
jne 0x58432b
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0xa0]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x584301
xor al, cl
jne 0x584301
jmp 0x585f0e
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x584657
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x20]
je 0x584937
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
cmp dword [0x5c4084], 0xa
setge cl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
cmp cl, 1
jne 0x58484f
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
test cl, cl
je 0x58484f
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x5846ae
mov eax, dword [esi + 0x60]
mov eax, dword [0x5c40a0]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c40a4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete cl
mov eax, 0x3365058b
mov ebx, 0xc1fd3d12
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x60]
setl dl
mov edi, 0x3365058b
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x584716
cmp ecx, 0xc1fd3d12
je 0x584751
cmp ecx, 0x3365058b
jne 0x5846f7
mov ecx, 0x7b4463f8
jmp 0x5846f7
cmp ecx, 0x7b4463f8
je 0x58474d
cmp ecx, 0x52166c0c
jne 0x5846f7
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov ch, dl
xor ch, cl
mov ebx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x5846f7
mov ecx, eax
jmp 0x5846f7
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x58485b
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 0x584780
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x5847cb
cmp eax, 0xc76c0d8d
je 0x584804
cmp eax, 0x1f2e313
jne 0x5847a9
mov eax, dword [esi + 0x30]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x5847a9
cmp eax, 0x590bba57
je 0x5846ab
cmp eax, 0x74ccc71d
jne 0x5847a9
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5847a9
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov eax, dword [0x5c40a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x1f2e313
mov edi, 0x590bba57
cmove eax, edi
cmp dword [0x5c40ac], 0xa
mov edx, 0x1f2e313
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5847a9
mov edx, dword [eax]
mov edi, dword [esi + 0x30]
mov dword [edi], edx
jmp 0x584694
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x58489d
cmp eax, 0x3e63df81
je 0x5848bb
cmp eax, 0x5632c42c
jne 0x584883
jmp 0x58464c
cmp eax, 0x1d5864bd
je 0x584908
cmp eax, 0x3ce7f0d1
jne 0x584883
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x584883
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x584883
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne eax, edi
test cl, cl
mov ecx, 0x3ce7f0d1
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x584883
mov ecx, dword [esi + 0x1c]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x583bbc
mov esp, dword [esi + 0xc0]
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x5c4084], 0xa
setl al
or al, cl
push eax
sub esp, 8
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x80], ecx
mov esp, ecx
push eax
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x58], ecx
mov esp, ecx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x20], esp
test al, al
je 0x584979
mov eax, dword [esi + 0x80]
add eax, 0x10
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x58]
add eax, 0x10
mov dword [esi + 0xa4], eax
mov ecx, 0xa
cmp ecx, 0x1f3
ja 0x585799
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ecx + 1]
imul ecx, eax
shr ecx, 1
mov dword [esi + 0x88], ecx
mov dword [esi + 0xbc], eax
shr eax, 1
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], 0
mov eax, dword [0x5c4080]
mov dword [esi + 0x8c], eax
mov eax, dword [0x5c4084]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x8c]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 4], ecx
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test cl, al
jne 0x584a64
xor cl, al
je 0x585f10
mov edx, dword [esi + 0x3c]
mov eax, edx
imul eax, dword [esi + 0x44]
mulx ecx, edx, edx
add eax, eax
add eax, ecx
cmp edx, dword [esi + 0x88]
sbb eax, 0
jae 0x585134
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x3c]
sub eax, edi
mov ecx, eax
mov dword [esi + 0xb8], eax
mov eax, 0
mov ebx, dword [esi + 0x44]
sbb eax, ebx
mov dword [esi + 0xa0], eax
add edi, 1
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005893d0
mov dword [esi + 0x48], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0xb4], edx
mov dword [esi + 0x4c], eax
mov edx, eax
mov dword [esi + 0x90], ebx
imul edx, ebx
add ecx, edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x78], edi
imul edx, edi
add edx, ecx
mov eax, dword [esi + 0xb8]
sub eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xa0]
sbb ecx, edx
or ecx, eax
jne 0x5850ed
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + 0xc], ecx
mov dword [esi + 0xf0], 0x8e
mov ecx, dword [esi + 0x10]
push dword [esi + 0x9c]
push dword [esi + 0xb0]
push eax
call fcn.00587bf0
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x584b84
cmp dword [esi + 4], 0xb018ea81
je 0x584bc0
cmp dword [esi + 4], 0xf7175d7a
jne 0x584b64
jmp 0x584c38
cmp dword [esi + 4], 0x1583cd3b
je 0x584bde
cmp dword [esi + 4], 0x5a1cc736
jne 0x584b64
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, eax
xor dl, cl
mov edx, 0xb018ea81
mov edi, 0x1583cd3b
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
mov dword [esi + 4], ecx
jmp 0x584b64
mov dword [esi + 0xf0], 0x90
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
jmp 0x584b64
mov dword [esi + 0xf0], 0x90
mov ecx, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x584b64
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x584c69
or cl, al
jne 0x584d97
mov eax, dword [0x5c4090]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c4094]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x34]
sete cl
mov eax, 0x80c66156
mov edi, 0x766d7330
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x24]
setl dl
mov ebx, 0x80c66156
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xf2325ac5
cmp ecx, 0x46df2eda
jle 0x584ccc
cmp ecx, 0x46df2edb
je 0x584d08
cmp ecx, 0x766d7330
jne 0x584cb2
jmp 0x584d13
cmp ecx, 0x80c66156
je 0x584d0c
cmp ecx, 0xf2325ac5
jne 0x584cb2
movzx edx, byte [esi + 0x34]
movzx ecx, byte [esi + 0x24]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x80c66156
mov ebx, 0x46df2edb
cmovne ecx, ebx
test dl, dl
mov edi, 0x80c66156
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x584cb2
mov ecx, eax
jmp 0x584cb2
mov ecx, 0x46df2edb
jmp 0x584cb2
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x584d48
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, eax
push ecx
push eax
call fcn.0040a7f0
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edi, dword [esi + 0x58]
mov eax, dword [esi + 0x4c]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
mov ecx, dword [esi + 0x44]
mov dword [edi + 0xc], ecx
setl ah
setge cl
cmp ah, dl
jne 0x584e94
or cl, al
je 0x584e94
mov edx, dword [0x5c4090]
mov ecx, dword [0x5c4094]
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, 0x80c66156
mov edi, 0x766d7330
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x34]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x24]
cmovge eax, edx
mov ecx, 0xf2325ac5
jmp 0x584de8
mov ecx, eax
cmp ecx, 0x46df2eda
jle 0x584e02
cmp ecx, 0x46df2edb
je 0x584de6
cmp ecx, 0x766d7330
jne 0x584de8
cmp ecx, 0x80c66156
je 0x584e39
cmp ecx, 0xf2325ac5
jne 0x584de8
mov ecx, 0x46df2edb
jmp 0x584de8
mov dword [esi + 0xf0], 0x8e
mov ecx, dword [esi + 0x1c]
push dword [esi + 0x98]
push dword [esi + 0xa4]
push dword [esi + 0x58]
call fcn.00587bf0
mov eax, dword [0x5c4080]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c4084], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x584ee6
or cl, al
jne 0x585f12
mov eax, dword [0x5c4088]
mov ecx, dword [0x5c408c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x24]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov dword [esi + 4], 0x5a1cc736
cmp dword [esi + 4], 0x1583cd3a
jg 0x584f31
cmp dword [esi + 4], 0xb018ea81
je 0x584f72
cmp dword [esi + 4], 0xf7175d7a
jne 0x584f11
jmp fcn.00584fea
cmp dword [esi + 4], 0x1583cd3b
je 0x584f90
cmp dword [esi + 4], 0x5a1cc736
jne 0x584f11
movzx eax, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xb018ea81
mov ecx, 0x1583cd3b
cmovne edi, ecx
test al, al
mov eax, 0xb018ea81
cmove edi, eax
test dl, dl
cmovne edi, ecx
mov dword [esi + 4], edi
jmp 0x584f11
mov dword [esi + 0xf0], 0x8f
mov dword [esi + 4], 0x1583cd3b
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
jmp 0x584f11
mov dword [esi + 0xf0], 0x8f
mov ecx, dword [esi + 0x30]
push dword [esi + 0x1c]
call fcn.004330f0
mov edx, dword [0x5c4088]
mov eax, dword [0x5c408c]
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, 0xb018ea81
mov ebx, 0xf7175d7a
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 4], ecx
jmp 0x584f11
cmp dword [esi + 4], 0
sete dl
setne al
cmp dword [esi + 0x5c], 0xa
setl ah
setge cl
mov edi, dword [esi + 0x78]
mov dword [esi + 0x3c], edi
mov edi, dword [esi + 0x90]
mov dword [esi + 0x44], edi
cmp dl, ah
jne 0x584a3c
or al, cl
mov eax, dword [esi + 0x78]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x44], eax
je 0x584a3c
jmp 0x585f14
mov dword [esi + 0xa0], 1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x3c], ecx
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edx, dword [esi + 0xa0]
mov edi, edx
mov dword [esi + 4], edx
cmp edx, ecx
jb 0x585172
jmp 0x58547d
mov eax, dword [0x5c4098]
mov ecx, dword [0x5c409c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov dword [esi + 0x44], edx
mov dword [esi + 0x48], eax
test eax, edx
sete byte [esi + 0x34]
mov ebx, 0x6675f964
mov edi, 0x7862661b
cmove ebx, edi
sete al
mov dword [esi + 0x3c], ecx
cmp ecx, 0xa
setl byte [esi + 0x24]
mov edx, 0x6675f964
cmovge ebx, edx
setl dl
xor dl, al
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
lea eax, [eax + eax*2]
mov dword [esi + 0x78], ecx
lea eax, [ecx + eax*4]
mov dword [esi + 0x4c], eax
cmovne ebx, edi
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x5851f1
cmp edx, 0x6675f964
je 0x58522d
cmp edx, 0x7862661b
jne 0x5851d7
jmp 0x585238
cmp edx, 0xd0a3dc29
je 0x585234
cmp edx, 0xd6d6a098
jne 0x5851d7
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x5851d7
mov edx, 0xd0a3dc29
jmp 0x5851d7
mov edx, ebx
jmp 0x5851d7
mov ecx, dword [esi + 4]
dec ecx
mov eax, dword [esi + 0x48]
test dword [esi + 0x44], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [esi + 0x88], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x90], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov dword [esi + 4], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x78]
lea eax, [ecx + eax*4]
mov dword [esi + 0x78], eax
mov eax, 0xd6d6a098
cmp eax, 0x6675f963
jle 0x585295
cmp eax, 0x6675f964
je 0x5852ca
cmp eax, 0x7862661b
jne 0x58527e
jmp 0x5852d5
cmp eax, 0xd0a3dc29
je 0x5852d1
cmp eax, 0xd6d6a098
jne 0x58527e
movzx edx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov ah, dl
xor ah, al
mov edi, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edi, ecx
test al, al
mov eax, edi
cmovne eax, ecx
test dl, dl
cmove eax, edi
jmp 0x58527e
mov eax, 0xd0a3dc29
jmp 0x58527e
mov eax, ebx
jmp 0x58527e
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x88]
cmp ecx, dword [eax]
mov ecx, dword [esi + 0x90]
sbb ecx, dword [eax + 4]
jge 0x585447
mov eax, dword [esi + 0x48]
test dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov edx, 0xd6d6a098
cmp edx, 0x6675f963
jle 0x585328
cmp edx, 0x6675f964
je 0x585364
cmp edx, 0x7862661b
jne 0x58530e
jmp 0x58536f
cmp edx, 0xd0a3dc29
je 0x58536b
cmp edx, 0xd6d6a098
jne 0x58530e
movzx eax, byte [esi + 0x34]
movzx edx, byte [esi + 0x24]
mov ah, al
xor ah, dl
test dl, dl
mov edx, 0x6675f964
mov ecx, 0xd0a3dc29
cmovne edx, ecx
test al, al
mov edi, 0x6675f964
cmove edx, edi
test ah, ah
cmovne edx, ecx
jmp 0x58530e
mov edx, 0xd0a3dc29
jmp 0x58530e
mov edx, ebx
jmp 0x58530e
mov eax, dword [esi + 0x48]
test dword [esi + 0x44], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x44], eax
sete byte [esi + 0x34]
cmp dword [esi + 0x3c], 0xa
setl byte [esi + 0x24]
mov ecx, 0xd6d6a098
cmp ecx, 0x6675f963
jle 0x5853ac
cmp ecx, 0x6675f964
je 0x5853e8
cmp ecx, 0x7862661b
jne 0x585392
cmp ecx, 0xd0a3dc29
je 0x5853ef
cmp ecx, 0xd6d6a098
jne 0x585392
mov ecx, 0xd0a3dc29
jmp 0x585392
mov ecx, ebx
jmp 0x585392
mov ecx, dword [esi + 0x8c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
inc dword [esi + 0xa0]
test eax, eax
sete al
cmp dword [esi + 0x5c], 0xa
setl cl
test al, cl
jne 0x58513e
xor al, cl
jne 0x58513e
jmp 0x585f18
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
jmp 0x585492
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
cmp eax, dword [esi + 0x3c]
je 0x58577f
mov ecx, dword [0x5c4080]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dl
sete ch
cmp dword [0x5c4084], 0xa
setge cl
setl dh
xor dh, ch
or cl, dl
xor cl, 1
or cl, dh
cmp cl, 1
jne 0x58569a
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
test cl, cl
je 0x58569a
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x5854ed
mov eax, dword [esi + 0x60]
mov edx, dword [0x5c40a0]
mov ecx, dword [0x5c40a4]
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, 0x3365058b
mov ebx, 0xc1fd3d12
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 0x24]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edx
mov ecx, 0x52166c0c
cmp ecx, 0x52166c0b
jg 0x585559
cmp ecx, 0xc1fd3d12
je 0x585599
cmp ecx, 0x3365058b
jne 0x58553a
mov ecx, 0x7b4463f8
jmp 0x58553a
cmp ecx, 0x7b4463f8
je 0x585595
cmp ecx, 0x52166c0c
jne 0x58553a
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x3365058b
mov edi, 0x7b4463f8
cmovne ecx, edi
test dl, dl
mov ebx, 0x3365058b
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x58553a
mov ecx, eax
jmp 0x58553a
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x5856a6
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 0x5855c8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x74ccc71d
cmp eax, 0x590bba56
jg 0x585612
cmp eax, 0xc76c0d8d
je 0x58564b
cmp eax, 0x1f2e313
jne 0x5855f0
mov eax, dword [esi + 0x20]
add dword [eax], 8
mov eax, 0xc76c0d8d
jmp 0x5855f0
cmp eax, 0x590bba57
je 0x5854ea
cmp eax, 0x74ccc71d
jne 0x5855f0
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x1f2e313
mov edi, 0xc76c0d8d
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5855f0
mov eax, dword [esi + 0x20]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 8
mov edx, dword [0x5c40a8]
mov ecx, dword [0x5c40ac]
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, 0x1f2e313
mov edi, 0x590bba57
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x5855f0
mov edx, dword [eax]
mov edi, dword [esi + 0x20]
mov dword [edi], edx
jmp 0x5854d3
mov eax, dword [0x5c40b0]
mov ecx, dword [0x5c40b4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x34]
cmp ecx, 0xa
setl byte [esi + 0x24]
mov eax, 0x1d5864bd
cmp eax, 0x3e63df80
jle 0x5856e9
cmp eax, 0x3e63df81
je 0x585707
cmp eax, 0x5632c42c
jne 0x5856cf
jmp 0x585487
cmp eax, 0x1d5864bd
je 0x585755
cmp eax, 0x3ce7f0d1
jne 0x5856cf
mov eax, dword [esi + 0x84]
add dword [eax], 0xc
mov eax, 0x3e63df81
jmp 0x5856cf
mov eax, dword [esi + 0x84]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
add dword [eax], 0xc
mov eax, dword [0x5c40b0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3ce7f0d1
mov edi, 0x5632c42c
cmove eax, edi
cmp dword [0x5c40b4], 0xa
mov edx, 0x3ce7f0d1
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x5856cf
movzx ecx, byte [esi + 0x34]
movzx eax, byte [esi + 0x24]
mov edx, ecx
xor dl, al
mov edx, 0x3ce7f0d1
mov edi, 0x3e63df81
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5856cf
mov ecx, dword [esi + 0x30]
call fcn.0041e120
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x1f3
jbe 0x5849f2
mov esp, dword [esi + 0xc0]
mov edx, dword [0x5c69b0]
mov ecx, dword [0x5c69b4]
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, 0x150b35d3
mov ebx, 0x3d9de5f5
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x24]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, edi
mov ecx, 0x1e00e94d
cmp ecx, 0x3d9de5f4
jg 0x58582e
cmp ecx, 0x150b35d3
je 0x585842
cmp ecx, 0x1e00e94d
jne 0x5857ea
movzx edx, byte [esi + 0x24]
movzx ecx, byte [esi + 0x60]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x150b35d3
mov ebx, 0x3f6d87b9
cmovne ecx, ebx
test dl, dl
mov edi, 0x150b35d3
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x5857ea
cmp ecx, 0x3d9de5f5
je 0x585892
cmp ecx, 0x3f6d87b9
jne 0x5857ea
mov ecx, eax
jmp 0x5857ea
mov ecx, 0x3f6d87b9
jmp 0x5857ea
mov esp, dword [esi + 0xc8]
mov edx, dword [0x5c69a8]
mov ecx, dword [0x5c69ac]
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, 0x7c4966b4
mov ebx, 0x9858f9d0
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x58089b
mov eax, 0xb3e2a994
mov esp, dword [esi + 0xc8]
jmp 0x58089b
mov eax, 0xd6670776
mov esp, dword [esi + 0xd0]
jmp 0x575535
mov esp, dword [esi + 0xd0]
mov edx, dword [0x5c69a0]
mov ecx, dword [0x5c69a4]
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, 0x7ef29a83
mov ebx, 0xbd026deb
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x575535
mov eax, 0x3c794280
mov esp, dword [esi + 0x94]
jmp 0x5611d0
mov esp, dword [esi + 0x94]
mov eax, dword [0x5c6998]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x3a573551
mov ebx, 0x882b8ee6
cmove eax, ebx
cmp dword [0x5c699c], 0xa
mov edx, 0x3a573551
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x5611d0
mov esp, dword [esi + 0xd8]
mov eax, dword [esi + 0xdc]
mov dword [eax + 4], 0
mov dword [eax], 5
push eax
call fcn.00436420
add esp, 4
mov dword [esi + 0xf0], 0xffffffff
call fcn.00442f20
mov eax, dword [0x5c6990]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xdb1f0693
mov ebx, 0xa69aa85c
cmove eax, ebx
cmp dword [0x5c6994], 0xa
mov edx, 0xdb1f0693
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x53c830
mov esp, dword [esi + 0xd8]
mov eax, dword [esi + 0xdc]
mov dword [eax + 4], 0
mov dword [eax], 5
push eax
call fcn.00436420
add esp, 4
mov dword [esi + 0xf0], 0xffffffff
call fcn.00442f20
mov eax, 0x52b7e1e4
jmp 0x53c830
jmp 0x585a00
jmp 0x585a10
jmp 0x585a20
jmp 0x585a30
jmp 0x585a40
jmp 0x585a50
jmp 0x585a60
jmp 0x585a70
jmp 0x585a80
jmp 0x585a90
jmp 0x585aa0
jmp 0x585ab0
jmp 0x585ac0
jmp 0x585ad0
jmp 0x585ae0
jmp 0x585af0
jmp 0x585b00
jmp 0x585b10
jmp 0x585b20
jmp 0x585b30
jmp 0x585b40
jmp 0x585b50
jmp 0x585b60
jmp 0x585b70
jmp 0x585b80
jmp 0x585b90
jmp 0x585ba0
jmp 0x585bb0
jmp 0x585bc0
jmp 0x585bd0
jmp 0x585be0
jmp 0x585bf0
jmp 0x585c00
jmp 0x585c10
jmp 0x585c20
jmp 0x585c30
jmp 0x585c40
jmp 0x585c50
jmp 0x585c60
jmp 0x585c70
mov eax, dword [esi + 0xe8]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp 0x585c86
jmp 0x585c88
jmp 0x585c8a
jmp 0x585c8c
jmp 0x585c8e
jmp 0x585c90
jmp 0x585c92
jmp 0x585c94
jmp 0x585c96
jmp 0x585c98
jmp 0x585c9a
jmp 0x585c9c
jmp 0x585c9e
jmp 0x585ca0
jmp 0x585ca2
jmp 0x585ca4
jmp 0x585ca6
jmp 0x585ca8
jmp 0x585caa
jmp 0x585cac
jmp 0x585cae
jmp 0x585cb0
jmp 0x585cb2
jmp 0x585cb4
jmp 0x585cb6
jmp 0x585cb8
jmp 0x585cba
jmp 0x585cbc
jmp 0x585cbe
jmp 0x585cc0
jmp 0x585cc2
jmp 0x585cc4
jmp 0x585cc6
jmp 0x585cc8
jmp 0x585cca
jmp 0x585ccc
jmp 0x585cce
jmp 0x585cd0
jmp 0x585cd2
jmp 0x585cd4
jmp 0x585cd6
jmp 0x585cd8
jmp 0x585cda
jmp 0x585cdc
jmp 0x585cde
jmp 0x585ce0
jmp 0x585ce2
jmp 0x585ce4
jmp 0x585ce6
jmp 0x585ce8
jmp 0x585cea
jmp 0x585cec
jmp 0x585cee
jmp 0x585cf0
jmp 0x585cf2
jmp 0x585cf4
jmp 0x585cf6
jmp 0x585cf8
jmp 0x585cfa
jmp 0x585cfc
jmp 0x585cfe
jmp 0x585d00
jmp 0x585d02
jmp 0x585d04
jmp 0x585d06
jmp 0x585d08
jmp 0x585d0a
jmp 0x585d0c
jmp 0x585d0e
jmp 0x585d10
jmp 0x585d12
jmp 0x585d14
jmp 0x585d16
jmp 0x585d18
jmp 0x585d1a
jmp 0x585d1c
jmp 0x585d1e
jmp 0x585d20
jmp 0x585d22
jmp 0x585d24
jmp 0x585d26
jmp 0x585d28
jmp 0x585d2a
jmp 0x585d2c
jmp 0x585d2e
jmp 0x585d30
jmp 0x585d32
jmp 0x585d34
jmp 0x585d36
jmp 0x585d38
jmp 0x585d3a
jmp 0x585d3c
jmp 0x585d3e
jmp 0x585d40
jmp 0x585d42
jmp 0x585d44
jmp 0x585d46
jmp 0x585d48
jmp 0x585d4a
jmp 0x585d4c
jmp 0x585d4e
jmp 0x585d50
jmp 0x585d52
jmp 0x585d54
jmp 0x585d56
jmp 0x585d58
jmp 0x585d5a
jmp 0x585d5c
jmp 0x585d5e
jmp 0x585d60
jmp 0x585d62
jmp 0x585d64
jmp 0x585d66
jmp 0x585d68
jmp 0x585d6a
jmp 0x585d6c
jmp 0x585d6e
jmp 0x585d70
jmp 0x585d72
jmp 0x585d74
jmp 0x585d76
jmp 0x585d78
jmp 0x585d7a
jmp 0x585d7c
jmp 0x585d7e
jmp 0x585d80
jmp 0x585d82
jmp 0x585d84
jmp 0x585d86
jmp 0x585d88
jmp 0x585d8a
jmp 0x585d8c
jmp 0x585d8e
jmp 0x585d90
jmp 0x585d92
jmp 0x585d94
jmp 0x585d96
jmp 0x585d98
jmp 0x585d9a
jmp 0x585d9c
jmp 0x585d9e
jmp 0x585da0
jmp 0x585da2
jmp 0x585da4
jmp 0x585da6
jmp 0x585da8
jmp 0x585daa
jmp 0x585dac
jmp 0x585dae
jmp 0x585db0
jmp 0x585db2
jmp 0x585db4
jmp 0x585db6
jmp 0x585db8
jmp 0x585dba
jmp 0x585dbe
jmp 0x585dc0
jmp 0x585dc2
jmp 0x585dc4
jmp 0x585dc8
jmp 0x585dca
jmp 0x585dcc
jmp 0x585dce
jmp 0x585dd0
jmp 0x585dd2
jmp 0x585dd6
jmp 0x585dda
jmp 0x585ddc
jmp 0x585dde
jmp 0x585de0
jmp 0x585de4
jmp 0x585de6
jmp 0x585de8
jmp 0x585dea
jmp 0x585dec
jmp 0x585dee
jmp 0x585df0
jmp 0x585df4
jmp 0x585df6
jmp 0x585df8
jmp 0x585dfc
jmp 0x585dfe
jmp 0x585e00
jmp 0x585e02
jmp 0x585e04
jmp 0x585e06
jmp 0x585e08
jmp 0x585e0a
jmp 0x585e0c
jmp 0x585e0e
jmp 0x585e12
jmp 0x585e14
jmp 0x585e16
jmp 0x585e18
jmp 0x585e1c
jmp 0x585e1e
jmp 0x585e20
jmp 0x585e22
jmp 0x585e24
jmp 0x585e26
jmp 0x585e28
jmp 0x585e2c
jmp 0x585e32
jmp 0x585e36
jmp 0x585e3c
jmp 0x585e3e
jmp 0x585e40
jmp 0x585e42
jmp 0x585e46
jmp 0x585e4c
jmp 0x585e50
jmp 0x585e56
jmp 0x585e58
jmp 0x585e5a
jmp 0x585e5c
jmp 0x585e5e
jmp 0x585e60
jmp 0x585e64
jmp 0x585e66
jmp 0x585e68
jmp 0x585e6a
jmp 0x585e6e
jmp 0x585e70
jmp 0x585e72
jmp 0x585e74
jmp 0x585e76
jmp 0x585e78
jmp 0x585e7a
jmp 0x585e7c
jmp 0x585e80
jmp 0x585e82
jmp 0x585e84
jmp 0x585e86
jmp 0x585e8a
jmp 0x585e8c
jmp 0x585e8e
jmp 0x585e90
jmp 0x585e92
jmp 0x585e94
jmp 0x585e96
jmp 0x585e98
jmp 0x585e9a
jmp 0x585e9c
jmp 0x585ea0
jmp 0x585ea2
jmp 0x585ea4
jmp 0x585ea6
jmp 0x585eaa
jmp 0x585eac
jmp 0x585eae
jmp 0x585eb0
jmp 0x585eb2
jmp 0x585eb4
jmp 0x585eb6
jmp 0x585eba
jmp 0x585ebc
jmp 0x585ebe
jmp 0x585ec0
jmp 0x585ec4
jmp 0x585ec6
jmp 0x585ec8
jmp 0x585eca
jmp 0x585ecc
jmp 0x585ece
jmp 0x585ed0
jmp 0x585ed2
jmp 0x585ed6
jmp 0x585edc
jmp 0x585ee0
jmp 0x585ee4
jmp 0x585ee6
jmp 0x585ee8
jmp 0x585eea
jmp 0x585eee
jmp 0x585ef2
jmp 0x585efa
jmp 0x585efe
jmp 0x585f00
jmp 0x585f02
jmp 0x585f04
jmp 0x585f06
jmp 0x585f08
jmp 0x585f0a
jmp 0x585f0e
jmp 0x585f10
jmp 0x585f12
jmp 0x585f14
jmp 0x585f18
jmp 0x585f1a
jmp 0x585f1c
jmp 0x585f1e
jmp 0x585f20
jmp 0x585f22
jmp 0x585f24
jmp 0x585f28
jmp 0x585f2a
jmp 0x585f2c
jmp 0x585f2e
jmp 0x585f30
jmp 0x585f34
jmp 0x585f36
jmp 0x585f38
jmp 0x585f3a
jmp 0x585f3c
jmp 0x585f3e
jmp 0x585f40
jmp 0x585f42
jmp 0x585f44
jmp 0x585f48
jmp 0x585f4a
jmp 0x585f4c
jmp 0x585f4e
jmp 0x585f52
jmp 0x585f54
jmp 0x585f56
jmp 0x585f58
jmp 0x585f5a
jmp 0x585f5c
jmp 0x585f5e
jmp 0x585f62
jmp 0x585f64
jmp 0x585f66
jmp 0x585f68
jmp 0x585f6c