Function at 0x4748b0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x100
mov esi, esp
mov dword [esi + 0xd8], ebp
mov dword [esi + 0xdc], esp
mov dword [esi + 0xe8], 0xffffffff
lea eax, [esi + 0xe0]
mov dword [esi + 0xe4], 0x5cd890
mov ecx, dword fs:[0]
mov dword [esi + 0xe0], ecx
mov dword fs:[0], eax
mov eax, 0xa
jmp 0x47491e
lea ecx, [esi + 0x60]
call fcn.0043a730
mov eax, dword [esi + 0xd4]
cmp eax, 0x1f3
ja 0x475802
mov dword [esi + 4], eax
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60a94c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x474960
or cl, al
jne 0x47499d
nop dword [eax]
lea ecx, [esi + 0x60]
call fcn.004376b0
mov ecx, dword [0x60a948]
mov ebx, dword [0x60a94c]
lea eax, [ecx + 1]
mov edi, ecx
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
setne al
mov dword [esi + 0x78], ebx
cmp ebx, 0xa
setl ah
setge cl
cmp ah, dl
jne 0x4749b0
or cl, al
je 0x4749b0
lea ecx, [esi + 0x60]
call fcn.004376b0
jmp 0x474960
mov ebx, dword [esi + 4]
lea eax, [ebx + 1]
mov dword [esi + 0xd4], eax
imul eax, ebx
shr eax, 1
xor ecx, ecx
mov dword [esi + 0x98], eax
xor edx, edx
div ebx
mov dword [esi + 0x30], edi
mov dword [esi + 0x18], ecx
mov edi, eax
imul edi, ecx
mov edx, eax
mulx ecx, ebx, edx
add edi, edi
add edi, ecx
mov eax, dword [esi + 0x98]
cmp ebx, eax
sbb edi, 0
jae 0x4750c0
sub eax, edx
mov ecx, eax
mov dword [esi + 0x3c], eax
mov eax, 0
mov ebx, dword [esi + 0x18]
sbb eax, ebx
mov dword [esi + 0x28], eax
mov edi, edx
add edi, 1
mov dword [esi + 0x24], edx
adc ebx, 0
push ebx
push edi
push eax
push ecx
call fcn.005ce830
mov dword [esi + 0x2c], edx
mov edx, eax
mulx ecx, edx, edi
mov dword [esi + 0x7c], edx
mov edx, eax
mov dword [esi + 0x9c], ebx
imul edx, ebx
mov ebx, dword [esi + 0x2c]
add ecx, edx
mov edx, ebx
mov dword [esi + 4], edi
imul edx, edi
add edx, ecx
mov ecx, dword [esi + 0x3c]
sub ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x28]
sbb edi, edx
or edi, ecx
mov ecx, dword [esi + 0x24]
je 0x474a70
mov ebx, dword [esi + 0x30]
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
mov edi, dword [esi + 4]
jmp 0x474fa0
mov edx, dword [esi + 0x18]
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xac], ebx
mov dword [esi + 0x28], eax
mov dword [esi + 0xa8], eax
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x80]
lea eax, [esi + 0x1c]
push eax
lea eax, [esi + 0xb0]
push eax
lea eax, [esi + 0xa0]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ecx, 0x2e15417a
mov ebx, dword [esi + 0x28]
cmp ecx, 0x17af7ff1
jg 0x474b20
cmp ecx, 0x8241d35c
je 0x474b5b
cmp ecx, 0xe4607b2d
jne 0x474ae0
mov dword [esi + 0xe8], 2
lea ecx, [esi + 0x60]
lea eax, [esi + 0x80]
push eax
call fcn.00437f80
mov ecx, 0x8241d35c
mov ebx, dword [esi + 0x28]
jmp 0x474ae0
cmp ecx, 0x17af7ff2
je 0x474bc0
cmp ecx, 0x2e15417a
jne 0x474ae0
movzx eax, byte [esi + 0xc]
movzx ecx, byte [esi + 0x40]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x474ae0
mov dword [esi + 0xe8], 2
lea ecx, [esi + 0x60]
lea eax, [esi + 0x80]
push eax
call fcn.00437f80
mov ebx, dword [esi + 0x28]
mov edx, dword [0x60a950]
mov eax, dword [0x60a954]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xe4607b2d
mov edi, 0x17af7ff2
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x474ae0
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x24]
nop
cmp eax, 0x668e2123
jg 0x474c10
cmp eax, 0xaf287e03
je 0x474c50
cmp eax, 0x392c4627
jne 0x474bf0
jmp 0x474ca0
cmp eax, 0x668e2124
je 0x474cc0
cmp eax, 0x67d88a6c
jne 0x474bf0
movzx ecx, byte [esi + 0xc]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x474be9
lea ecx, [esi + 0x80]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x474be9
lea ecx, [esi + 0x80]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x474be9
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], ebx
mov dword [esi + 0xac], ecx
mov dword [esi + 0xa8], edx
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x80]
lea eax, [esi + 0x1c]
push eax
lea eax, [esi + 0xb0]
push eax
lea eax, [esi + 0xa0]
push eax
call fcn.00437b60
mov eax, dword [0x60a950]
mov ecx, dword [0x60a954]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ebx, 0x2e15417a
mov edi, dword [esi + 4]
nop dword [eax]
cmp ebx, 0x17af7ff1
jg 0x474d70
cmp ebx, 0x8241d35c
je 0x474dae
cmp ebx, 0xe4607b2d
jne 0x474d30
mov dword [esi + 0xe8], 1
lea ecx, [esi + 0x60]
lea eax, [esi + 0x80]
push eax
call fcn.00437f80
mov ebx, 0x8241d35c
mov edi, dword [esi + 4]
jmp 0x474d30
cmp ebx, 0x17af7ff2
je 0x474e10
cmp ebx, 0x2e15417a
jne 0x474d30
movzx eax, byte [esi + 0xc]
movzx ecx, byte [esi + 0x40]
mov edx, eax
xor dl, cl
mov edx, 0xe4607b2d
mov edi, 0x8241d35c
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
mov edi, dword [esi + 4]
test al, al
cmove ebx, edx
jmp 0x474d30
mov dword [esi + 0xe8], 1
lea ecx, [esi + 0x60]
lea eax, [esi + 0x80]
push eax
call fcn.00437f80
mov edi, dword [esi + 4]
mov eax, dword [0x60a950]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ebx, 0xe4607b2d
mov edx, 0x17af7ff2
cmove ebx, edx
cmp dword [0x60a954], 0xa
mov ecx, 0xe4607b2d
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x474d30
mov eax, dword [0x60a948]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60a94c], 0xa
setl cl
test cl, al
jne 0x474e40
xor cl, al
je 0x474f63
nop dword [eax + eax]
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
nop dword [eax + eax]
cmp eax, 0x668e2123
jg 0x474ea0
cmp eax, 0xaf287e03
je 0x474edb
cmp eax, 0x392c4627
jne 0x474e70
lea ecx, [esi + 0x80]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x474e70
cmp eax, 0x668e2124
je 0x474f30
cmp eax, 0x67d88a6c
jne 0x474e70
movzx ecx, byte [esi + 0xc]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
jmp 0x474f1c
lea ecx, [esi + 0x80]
call fcn.0044fcd0
mov eax, dword [0x60a958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x392c4627
mov edi, 0x668e2124
cmove eax, edi
cmp dword [0x60a95c], 0xa
mov edx, 0x392c4627
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
mov edi, dword [esi + 4]
jmp 0x474e70
mov ebx, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x78], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x474fa0
or dl, cl
je 0x474fa0
mov eax, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0x67d88a6c
jmp 0x475020
mov dword [esi + 0x30], ebx
test eax, eax
setne dh
cmp dword [esi + 0x78], 0xa
setge cl
mov dl, dh
xor dl, cl
or dh, cl
xor dh, 1
or dh, dl
cmp dh, 1
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x24]
mov ebx, dword [esi + 0x9c]
je 0x4750a0
jmp 0x4750b8
lea ecx, [esi + 0x80]
call fcn.0044fcd0
mov edx, dword [0x60a958]
mov ecx, dword [0x60a95c]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0x392c4627
mov ebx, 0x668e2124
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
mov edi, dword [esi + 4]
cmp eax, 0x668e2123
jg 0x475050
cmp eax, 0xaf287e03
je 0x474fd4
cmp eax, 0x392c4627
jne 0x475020
lea ecx, [esi + 0x80]
call fcn.0044fcd0
mov eax, 0xaf287e03
jmp 0x475020
cmp eax, 0x668e2124
je 0x474e40
cmp eax, 0x67d88a6c
jne 0x475020
movzx ecx, byte [esi + 0xc]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x392c4627
mov edi, 0xaf287e03
cmovne eax, edi
test cl, cl
mov ecx, 0x392c4627
cmove eax, ecx
test dl, dl
cmovne eax, edi
mov edi, dword [esi + 4]
jmp 0x475020
mov ebx, ecx
mov edi, eax
add eax, 1
adc ecx, 0
test dh, dh
jne 0x4749d0
add edi, 2
adc ebx, 0
mov eax, edi
mov ecx, ebx
jmp 0x4750a0
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
mov eax, ecx
sub eax, edx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
mov ebx, dword [esi + 0x30]
jb 0x4752a0
mov dword [esi + 0x3c], 1
mov dword [esi + 0x7c], 0
mov dword [esi + 0x98], 0xffffffff
jmp 0x475130
mov edi, dword [esi + 0x3c]
inc edi
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x9c], ecx
sub ecx, edx
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
add dword [esi + 0x7c], 0xc
dec dword [esi + 0x98]
mov dword [esi + 0x3c], edi
cmp edi, ecx
jae 0x4752b3
lea eax, [ebx + 1]
imul eax, ebx
test al, 1
sete dl
cmp dword [esi + 0x78], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x475170
or cl, al
mov edx, dword [esi + 0x98]
mov edi, dword [esi + 0x7c]
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x28], eax
test cl, 1
je 0x47519d
jmp 0x4757e0
mov edx, dword [esi + 0x98]
mov edi, dword [esi + 0x7c]
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x28], eax
jmp 0x47519d
add edi, 0xfffffff4
mov edx, dword [esi + 0x24]
inc edx
je 0x475270
mov dword [esi + 0x24], edx
mov edx, dword [esi + 0x60]
mov eax, dword [edx + edi]
mov dword [esi + 4], eax
mov dword [esi + 0x2c], edi
mov ecx, dword [edx + edi + 0xc]
mov dword [esi + 0x18], ecx
lea eax, [ebx - 1]
imul eax, ebx
and eax, 1
mov ecx, dword [ecx]
mov edi, dword [esi + 4]
cmp ecx, dword [edi]
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 4]
sbb ecx, dword [edi + 4]
jge 0x475270
dec dword [esi + 0x28]
test eax, eax
sete ah
setne al
cmp dword [esi + 0x78], 0xa
setl ch
setge cl
cmp ch, ah
jne 0x475200
or cl, al
mov edi, dword [esi + 0x2c]
jne 0x47525c
jmp 0x475210
mov edi, dword [esi + 0x2c]
nop word cs:[eax + eax]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov ebx, dword [0x60a948]
mov edx, dword [0x60a94c]
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
setne cl
sete ch
mov dword [esi + 0x78], edx
cmp edx, 0xa
setge dl
setl dh
xor dh, ch
jne 0x475190
or dl, cl
je 0x475190
mov edx, dword [esi + 0x60]
lea ecx, [edx + edi]
add ecx, 0xc
add edx, edi
push edx
call fcn.0043a040
mov edx, dword [esi + 0x60]
jmp 0x475210
test eax, eax
sete ch
setne cl
cmp dword [esi + 0x78], 0xa
setl dh
setge dl
cmp ch, dh
jne 0x475100
or cl, dl
je 0x475100
jmp 0x4757f0
mov dword [esi + 0x9c], ecx
lea ecx, [ebx + 1]
imul ecx, ebx
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
test eax, eax
sete al
cmp dword [esi + 0x78], 0xa
setl cl
test al, cl
jne 0x4752d9
xor al, cl
jne 0x4752d9
jmp 0x475800
mov edx, dword [esi + 0x7c]
add edx, 0xc
mov ebx, dword [esi + 0x30]
mov dword [esi + 0x7c], edx
lea eax, [ebx + 1]
mov dword [esi + 0x30], ebx
imul eax, ebx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp dword [esi + 0x78], 0xa
setl cl
or cl, al
mov byte [esi + 0x24], cl
mov eax, dword [0x60a960]
mov ecx, dword [0x60a964]
mov dword [esi + 4], ecx
mov dword [esi + 0x2c], eax
jne 0x4753da
lea edi, [eax + 1]
imul edi, eax
and edi, 1
test edi, edi
sete byte [esi + 0x40]
sete al
mov edi, 0x1bb2d94f
mov edx, 0x1e3fd21
cmove edi, edx
cmp dword [esi + 4], 0xa
setl byte [esi + 0x80]
setl cl
mov ebx, 0x1bb2d94f
cmovge edi, ebx
xor cl, al
cmovne edi, edx
mov ebx, 0xd04893e1
jmp 0x475380
movzx eax, byte [esi + 0x40]
movzx ecx, byte [esi + 0x80]
mov edx, eax
xor dl, cl
test cl, cl
mov ebx, 0x1bb2d94f
mov ecx, 0xf3871576
cmovne ebx, ecx
test al, al
mov eax, 0x1bb2d94f
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
cmp ebx, 0x1e3fd20
jg 0x4753a0
cmp ebx, 0xd04893e1
je 0x475353
cmp ebx, 0xf3871576
jne 0x475380
mov ebx, edi
jmp 0x475380
cmp ebx, 0x1e3fd21
je 0x4753c0
cmp ebx, 0x1bb2d94f
jne 0x475380
mov ebx, 0xf3871576
jmp 0x475380
mov eax, dword [esi + 0x9c]
cmp dword [esi + 0x7c], eax
sete byte [esi + 0xa0]
movzx eax, byte [esi + 0xa0]
mov eax, dword [esi + 0x2c]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete byte [esi + 0x40]
sete bl
mov eax, 0x1bb2d94f
mov ecx, 0x1e3fd21
cmove eax, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 0x80]
setl bh
mov edx, 0x1bb2d94f
cmovge eax, edx
xor bh, bl
cmovne eax, ecx
mov ebx, 0xd04893e1
nop word [eax + eax]
cmp ebx, 0x1e3fd20
jg 0x475440
cmp ebx, 0xd04893e1
je 0x475457
cmp ebx, 0xf3871576
jne 0x475420
mov ebx, eax
jmp 0x475420
cmp ebx, 0x1e3fd21
je 0x475490
cmp ebx, 0x1bb2d94f
jne 0x475420
mov ebx, 0xf3871576
jmp 0x475420
movzx edx, byte [esi + 0x40]
mov dh, byte [esi + 0x80]
mov ebx, edx
xor bl, dh
mov ecx, 0x1bb2d94f
mov ebx, 0xf3871576
cmovne ecx, ebx
test dh, dh
mov ebx, ecx
mov dword [esi + 0x18], edi
mov edi, 0xf3871576
cmovne ebx, edi
mov edi, dword [esi + 0x18]
test dl, dl
cmove ebx, ecx
jmp 0x475420
mov eax, dword [esi + 0x9c]
cmp dword [esi + 0x7c], eax
sete byte [esi + 0xa0]
movzx eax, byte [esi + 0xa0]
cmp byte [esi + 0x24], 0
je 0x47531b
test al, 1
jne 0x474910
mov eax, dword [esi + 0x7c]
mov ecx, dword [eax]
mov dword [esi + 4], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x24], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x18], eax
mov edi, dword [esi + 0x30]
jmp 0x4754e4
add dword [esi + 4], 8
lea eax, [edi + 1]
mov dword [esi + 0x30], edi
imul eax, edi
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
setne al
cmp dword [esi + 0x78], 0xa
setge cl
mov ah, cl
xor ah, al
or cl, al
xor cl, 1
or cl, ah
mov byte [esi + 0x3c], cl
jne 0x4755d4
mov ecx, dword [esi + 0x28]
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
test ebx, ebx
sete al
mov edx, dword [esi + 0x18]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne eax, ecx
test ebx, ebx
sete byte [esi + 0x40]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 0x80]
cmovge edi, eax
mov eax, 0xff93f7cc
jmp 0x475560
mov eax, edi
cmp eax, 0xcad2cb8c
jg 0x475580
cmp eax, 0xa3d2977a
je 0x47555e
cmp eax, 0xc0943188
jne 0x475560
mov eax, 0xa3d2977a
jmp 0x475560
cmp eax, 0xcad2cb8d
je 0x4755c0
cmp eax, 0xff93f7cc
jne 0x475560
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x80]
mov ah, cl
xor ah, al
mov ebx, 0xc0943188
mov edx, 0xa3d2977a
cmovne ebx, edx
test al, al
mov eax, ebx
cmovne eax, edx
test cl, cl
cmove eax, ebx
jmp 0x475560
mov eax, dword [esi + 0x24]
cmp dword [esi + 4], eax
sete byte [esi + 0xa0]
movzx eax, byte [esi + 0xa0]
mov eax, dword [esi + 0x28]
lea ebx, [eax - 1]
imul ebx, eax
mov eax, ebx
and eax, 1
sete al
mov edx, dword [esi + 0x18]
cmp edx, 0xa
setl ah
xor ah, al
mov edi, 0xc0943188
mov ecx, 0xcad2cb8d
cmovne edi, ecx
and ebx, 1
sete byte [esi + 0x40]
mov eax, edi
cmove eax, ecx
cmp edx, 0xa
setl byte [esi + 0x80]
cmovge eax, edi
mov edi, 0xff93f7cc
nop dword [eax + eax]
cmp edi, 0xcad2cb8c
jg 0x475640
cmp edi, 0xa3d2977a
je 0x475684
cmp edi, 0xc0943188
jne 0x475620
mov edi, 0xa3d2977a
jmp 0x475620
cmp edi, 0xcad2cb8d
je 0x475690
cmp edi, 0xff93f7cc
jne 0x475620
mov dh, byte [esi + 0x40]
movzx ecx, byte [esi + 0x80]
mov ch, cl
xor ch, dh
test cl, cl
mov edi, 0xc0943188
mov dword [esi + 0x2c], ebx
mov ebx, 0xa3d2977a
cmovne edi, ebx
test dh, dh
mov edx, 0xc0943188
cmove edi, edx
test ch, ch
cmovne edi, ebx
mov ebx, dword [esi + 0x2c]
jmp 0x475620
mov edi, eax
jmp 0x475620
mov eax, dword [esi + 0x24]
cmp dword [esi + 4], eax
sete byte [esi + 0xa0]
movzx eax, byte [esi + 0xa0]
cmp byte [esi + 0x3c], 0
je 0x475522
test al, 1
jne 0x4752d0
mov ecx, dword [0x60a970]
mov eax, dword [0x60a974]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x7a659f1e
mov ebx, 0x3b451eaf
cmovne edi, ebx
test ecx, edx
sete byte [esi + 0x40]
mov edx, edi
cmove edx, ebx
cmp eax, 0xa
setl byte [esi + 0x80]
cmovge edx, edi
mov eax, 0xdbf7d62a
mov edi, dword [esi + 0x30]
nop word cs:[eax + eax]
cmp eax, 0x3b451eae
jg 0x475730
cmp eax, 0xdbf7d62a
je 0x475750
cmp eax, 0x23248e6d
jne 0x475710
mov eax, edx
jmp 0x475710
cmp eax, 0x3b451eaf
je 0x475780
cmp eax, 0x7a659f1e
jne 0x475710
mov eax, 0x23248e6d
jmp 0x475710
movzx ecx, byte [esi + 0x40]
movzx eax, byte [esi + 0x80]
mov ch, cl
xor ch, al
test al, al
mov eax, 0x7a659f1e
mov ebx, 0x23248e6d
cmovne eax, ebx
test cl, cl
mov edi, 0x7a659f1e
cmove eax, edi
test ch, ch
cmovne eax, ebx
jmp 0x475703
mov eax, dword [esi + 4]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xa0]
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 0x4754e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov edi, dword [0x60a948]
mov eax, dword [0x60a94c]
mov dword [esi + 0x78], eax
mov eax, dword [0x60a968]
mov dword [esi + 0x28], eax
mov eax, dword [0x60a96c]
mov dword [esi + 0x18], eax
jmp 0x4754e0
jmp 0x4757e0
jmp 0x4757f0
jmp 0x475800
mov eax, dword [0x60aa70]
mov ecx, dword [0x60aa74]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x5c]
cmp ecx, 0xa
setl byte [esi + 0x37]
mov eax, 0x9ba98ba4
nop word [eax + eax]
cmp eax, 0x4ba50dbe
jg 0x475960
cmp eax, 0x9ba98ba4
je 0x475977
cmp eax, 0xcdea433f
jne 0x475830
lea ecx, [esi + 0x80]
push 0xa
push 1
call fcn.005cd470
lea ecx, [esi + 0x40]
push 0x1e
push 0xf
call fcn.005cd470
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa8], 0
xor ecx, ecx
nop dword [eax + eax]
cmp ecx, 0x64
jae 0x475abc
mov dword [esi + 4], ecx
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
mov dword [esi + 0xe8], 3
lea ecx, [esi + 0x40]
push edx
push eax
lea eax, [esi + 0x58]
push eax
call fcn.00433d70
mov ecx, dword [0x60aa78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x60aa7c], 0xa
setl dl
test dl, cl
jne 0x4758e6
xor dl, cl
je 0x477c30
mov dword [esi + 0x60], eax
lea ecx, [esi + 0x80]
push dword [esi + 0x84]
push dword [esi + 0x80]
lea eax, [esi + 0x58]
push eax
call fcn.00433d70
mov dword [esi + 0xc], eax
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0xc]
push eax
call fcn.00432bd0
mov eax, dword [0x60aa78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x60aa7c], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
cmp al, 1
mov ecx, dword [esi + 4]
jne 0x475959
nop word [eax + eax]
inc ecx
test al, al
jne 0x475890
inc ecx
jmp 0x475950
cmp eax, 0x4ba50dbf
je 0x4759a6
cmp eax, 0x4c677567
jne 0x475830
jmp 0x477c52
movzx ecx, byte [esi + 0x5c]
movzx eax, byte [esi + 0x37]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x4ba50dbf
mov edi, 0xcdea433f
cmovne eax, edi
test cl, cl
mov ecx, 0x4ba50dbf
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x475830
lea ecx, [esi + 0x80]
push 0xa
push 1
call fcn.005cd470
lea ecx, [esi + 0x40]
push 0x1e
push 0xf
call fcn.005cd470
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa8], 0
xor ecx, ecx
nop word cs:[eax + eax]
cmp ecx, 0x64
jae 0x475b9f
mov dword [esi + 4], ecx
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
mov dword [esi + 0xe8], 5
lea ecx, [esi + 0x40]
push edx
push eax
lea eax, [esi + 0x58]
push eax
call fcn.00433d70
mov edx, dword [0x60aa78]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x60aa7c], 0xa
setge dl
setl bl
xor bl, dh
jne 0x475a48
or dl, cl
test dl, 1
jne 0x477c20
mov dword [esi + 0x60], eax
lea ecx, [esi + 0x80]
push dword [esi + 0x84]
push dword [esi + 0x80]
lea eax, [esi + 0x58]
push eax
call fcn.00433d70
mov dword [esi + 0xc], eax
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0xc]
push eax
call fcn.00432bd0
mov eax, dword [0x60aa78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x60aa7c], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
cmp al, 1
mov ecx, dword [esi + 4]
jne 0x475ab9
nop dword [eax]
inc ecx
test al, al
jne 0x4759f0
inc ecx
jmp 0x475ab0
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0xa0]
mov dword [esi + 8], eax
mov eax, dword [0x60aa80]
mov ecx, dword [0x60aa84]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
sete dl
mov eax, 0xd78bfc94
mov edi, 0x43b6ad13
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0xc]
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x3c], ecx
setl cl
mov ebx, 0xd78bfc94
cmovge eax, ebx
xor cl, dl
cmovne eax, edi
mov ecx, 0x1c1ffc7c
nop dword [eax]
cmp ecx, 0x43b6ad12
jg 0x475b80
cmp ecx, 0xd78bfc94
je 0x475b98
cmp ecx, 0x1c1ffc7c
jne 0x475b30
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0xc]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xd78bfc94
mov ebx, 0x7df2dfc5
cmovne ecx, ebx
test dl, dl
mov edi, 0xd78bfc94
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x475b30
cmp ecx, 0x43b6ad13
je 0x475c8f
cmp ecx, 0x7df2dfc5
jne 0x475b30
mov ecx, eax
jmp 0x475b30
mov ecx, 0x7df2dfc5
jmp 0x475b30
mov edx, dword [0x60aa80]
mov ecx, dword [0x60aa84]
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xd78bfc94
mov ebx, 0x43b6ad13
cmovne edx, ebx
test edi, eax
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
sete byte [esi + 0x1c]
mov eax, dword [esi + 0xa0]
mov dword [esi + 8], eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0xc]
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x3c], ecx
cmovge eax, edx
mov ecx, 0x1c1ffc7c
nop word cs:[eax + eax]
cmp ecx, 0x43b6ad12
jg 0x475c70
cmp ecx, 0xd78bfc94
je 0x475c88
cmp ecx, 0x1c1ffc7c
jne 0x475c20
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0xc]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xd78bfc94
mov ebx, 0x7df2dfc5
cmovne ecx, ebx
test dl, dl
mov edi, 0xd78bfc94
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x475c20
cmp ecx, 0x43b6ad13
je 0x476401
cmp ecx, 0x7df2dfc5
jne 0x475c20
mov ecx, eax
jmp 0x475c20
mov ecx, 0x7df2dfc5
jmp 0x475c20
jmp 0x475c94
mov eax, dword [esi + 0xc]
mov eax, dword [0x60aa88]
mov ecx, dword [0x60aa8c]
lea edx, [eax + 1]
mov dword [esi + 0x18], eax
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x8c874760
mov eax, 0x4d68e82b
cmovne ebx, eax
test edi, edx
sete byte [esi + 0x1c]
mov edx, ebx
cmove edx, eax
mov dword [esi + 0x24], ecx
cmp ecx, 0xa
setl byte [esi + 0xc]
cmovge edx, ebx
mov edi, 0xbc4e5a6d
nop word cs:[eax + eax]
cmp edi, 0x36d61406
jle 0x475d10
cmp edi, 0x36d61407
je 0x475d4c
cmp edi, 0x4d68e82b
jne 0x475cf0
jmp 0x475d57
cmp edi, 0x8c874760
je 0x475d50
cmp edi, 0xbc4e5a6d
jne 0x475cf0
movzx ebx, byte [esi + 0x1c]
movzx eax, byte [esi + 0xc]
mov bh, al
xor bh, bl
test al, al
mov edi, 0x8c874760
mov ecx, 0x36d61407
cmovne edi, ecx
test bl, bl
mov eax, 0x8c874760
cmove edi, eax
test bh, bh
cmovne edi, ecx
jmp 0x475cf0
mov edi, edx
jmp 0x475cf0
mov edi, 0x36d61407
jmp 0x475cf0
mov edx, dword [esi + 8]
cmp edx, dword [esi + 0x3c]
je 0x476ba1
mov eax, dword [0x60aa90]
mov ebx, dword [0x60aa94]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
cmp ebx, 0xa
setl ah
xor ah, al
mov eax, 0xdbbf45d4
mov ecx, 0x89d6c0b5
cmovne eax, ecx
cmp edi, 0xffffffff
sete byte [esi + 0x14]
mov edi, eax
cmove edi, ecx
cmp ebx, 0xa
setl byte [esi + 0x1c]
cmovge edi, eax
mov ebx, 0xaf530581
nop
cmp ebx, 0xdbbf45d3
jg 0x475e00
cmp ebx, 0x89d6c0b5
je 0x475e1b
cmp ebx, 0xaf530581
jne 0x475db0
movzx eax, byte [esi + 0x14]
mov ah, byte [esi + 0x1c]
mov ebx, eax
xor bl, ah
mov dword [esi + 4], edx
mov edx, 0xdbbf45d4
mov ebx, 0x3983e5e3
cmovne edx, ebx
test ah, ah
mov ebx, edx
mov ecx, 0x3983e5e3
cmovne ebx, ecx
test al, al
cmove ebx, edx
mov edx, dword [esi + 4]
jmp 0x475db0
cmp ebx, 0xdbbf45d4
je 0x475e14
cmp ebx, 0x3983e5e3
jne 0x475db0
mov ebx, edi
jmp 0x475db0
mov ebx, 0x3983e5e3
jmp 0x475db0
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0xc]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x14], eax
mov eax, dword [0x60aa80]
mov ebx, dword [0x60aa84]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
sete al
mov edi, 0xd78bfc94
mov ecx, 0x43b6ad13
cmove edi, ecx
cmp ebx, 0xa
setl byte [esi + 0xc]
mov edx, dword [esi + 0x64]
setl ah
mov ebx, 0xd78bfc94
cmovge edi, ebx
xor ah, al
cmovne edi, ecx
mov ebx, 0x1c1ffc7c
mov ecx, dword [esi + 0x18]
nop dword [eax]
cmp ebx, 0x43b6ad12
jg 0x475ed0
cmp ebx, 0xd78bfc94
je 0x475ee7
cmp ebx, 0x1c1ffc7c
jne 0x475e80
movzx ecx, byte [esi + 0x1c]
mov ah, byte [esi + 0xc]
mov al, cl
xor al, ah
test ah, ah
mov ebx, 0xd78bfc94
mov dword [esi + 0x2c], edx
mov edx, 0x7df2dfc5
cmovne ebx, edx
test cl, cl
mov ecx, 0xd78bfc94
cmove ebx, ecx
mov ecx, dword [esi + 0x18]
test al, al
cmovne ebx, edx
mov edx, dword [esi + 0x2c]
jmp 0x475e80
cmp ebx, 0x43b6ad13
je 0x475ef1
cmp ebx, 0x7df2dfc5
jne 0x475e80
mov dword [esi + 0x28], edx
mov ebx, edi
jmp 0x475e80
mov ebx, 0x7df2dfc5
mov dword [esi + 0x28], edx
jmp 0x475e80
mov eax, dword [esi + 4]
add eax, 4
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x24]
jmp 0x475f0f
mov eax, dword [esi + 0xc]
mov ecx, dword [0x60aa88]
mov edx, dword [0x60aa8c]
lea eax, [ecx - 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete byte [esi + 0x1c]
sete al
mov ecx, 0x8c874760
mov edi, 0x4d68e82b
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 0xc]
setl dl
mov ebx, 0x8c874760
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
mov eax, 0xbc4e5a6d
nop dword [eax]
cmp eax, 0x36d61406
jle 0x475f70
cmp eax, 0x36d61407
je 0x475fa5
cmp eax, 0x4d68e82b
jne 0x475f50
jmp 0x475fb0
cmp eax, 0x8c874760
je 0x475fa9
cmp eax, 0xbc4e5a6d
jne 0x475f50
movzx edx, byte [esi + 0x1c]
movzx eax, byte [esi + 0xc]
mov ah, dl
xor ah, al
mov edi, 0x8c874760
mov ebx, 0x36d61407
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x475f50
mov eax, ecx
jmp 0x475f50
mov eax, 0x36d61407
jmp 0x475f50
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x28]
je 0x4762bb
mov ecx, dword [0x60aa90]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x60aa94]
sete byte [esi + 0x38]
sete bl
mov ecx, 0xdbbf45d4
mov edi, 0x89d6c0b5
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 0x1c]
setl dl
mov edi, 0xdbbf45d4
cmovge ecx, edi
xor dl, bl
mov edx, 0x89d6c0b5
cmovne ecx, edx
mov edx, 0xaf530581
nop word [eax + eax]
cmp edx, 0xdbbf45d3
jg 0x476060
cmp edx, 0x89d6c0b5
je 0x476080
cmp edx, 0xaf530581
jne 0x476010
movzx ebx, byte [esi + 0x38]
movzx edx, byte [esi + 0x1c]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0xdbbf45d4
mov edi, 0x3983e5e3
cmovne edx, edi
test bl, bl
mov edi, 0xdbbf45d4
cmove edx, edi
test bh, bh
mov edi, 0x3983e5e3
cmovne edx, edi
jmp 0x476010
cmp edx, 0xdbbf45d4
je 0x476074
cmp edx, 0x3983e5e3
jne 0x476010
mov edx, ecx
jmp 0x476010
mov edx, 0x3983e5e3
jmp 0x476010
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov dword [esi + 0x1c], ecx
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
mov ecx, 0xce6e8c2f
nop dword [eax + eax]
cmp ecx, 0xce6e8c2e
jg 0x4760d0
cmp ecx, 0x85fa3530
je 0x476110
cmp ecx, 0xc79b93d4
jne 0x4760a0
mov ecx, 0x85fa3530
mov ebx, eax
mov edi, dword [esi + 4]
jmp 0x4760a0
cmp ecx, 0xe387238e
je 0x4760f5
cmp ecx, 0xce6e8c2f
jne 0x4760a0
mov ecx, dword [esi + 0x1c]
cmp ecx, dword [esi + 0xc]
mov ecx, 0xe387238e
mov edx, 0xc79b93d4
cmovl ecx, edx
jmp 0x4760a0
mov ecx, 0x85fa3530
mov ebx, dword [esi + 4]
mov edi, eax
jmp 0x4760a0
mov dword [esi + 0x30], edi
lea edi, [eax + 4]
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
mov dword [esi + 0x1c], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 0xc], ecx
mov ecx, 0xce6e8c2f
nop dword [eax]
cmp ecx, 0xce6e8c2e
jg 0x476160
cmp ecx, 0x85fa3530
je 0x4761b0
cmp ecx, 0xc79b93d4
jne 0x476130
mov ecx, 0x85fa3530
mov dword [esi + 0x24], edi
mov edx, dword [esi + 0x18]
jmp 0x476130
cmp ecx, 0xe387238e
je 0x476197
cmp ecx, 0xce6e8c2f
jne 0x476130
mov ecx, dword [esi + 0x1c]
cmp ecx, dword [esi + 0xc]
mov ecx, 0xe387238e
mov dword [esi + 0x2c], edi
mov edi, edx
mov edx, eax
mov eax, ebx
mov ebx, 0xc79b93d4
cmovl ecx, ebx
mov ebx, eax
mov eax, edx
mov edx, edi
mov edi, dword [esi + 0x2c]
jmp 0x476130
mov ecx, 0x85fa3530
mov edx, dword [esi + 0x18]
mov dword [esi + 0x24], edx
mov edx, edi
jmp 0x476130
mov ecx, dword [ebx]
mov edi, dword [0x60aa78]
lea ebx, [edi + 1]
imul ebx, edi
mov edi, ebx
xor edi, 0xfffffffe
test edi, ebx
sete bh
cmp dword [0x60aa7c], 0xa
setl bl
or bl, bh
cmp ecx, dword [edx]
jle 0x4762d2
test bl, bl
je 0x477c50
mov eax, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x38]
cmp ecx, 0xa
setl byte [esi + 0x1c]
mov eax, 0xb8cd7b43
nop dword [eax]
cmp eax, 0xceb3811a
jg 0x476250
cmp eax, 0x82f24137
je 0x4762ad
cmp eax, 0xb8cd7b43
jne 0x476210
movzx ecx, byte [esi + 0x38]
movzx eax, byte [esi + 0x1c]
mov edx, ecx
xor dl, al
mov edx, 0x82f24137
mov edi, 0x47b76182
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x476210
cmp eax, 0xceb3811b
je 0x475f00
cmp eax, 0x47b76182
jne 0x476210
lea eax, [esi + 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add dword [eax], 8
mov eax, dword [0x60aa98]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x82f24137
mov edi, 0xceb3811b
cmove eax, edi
cmp dword [0x60aa9c], 0xa
mov edx, 0x82f24137
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x476210
add dword [esi + 0x14], 8
mov eax, 0x47b76182
jmp 0x476210
mov dword [esi + 0xe8], 4
lea ecx, [esi + 0x60]
push dword [esi + 4]
call fcn.0044f650
jmp 0x47631e
test bl, bl
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x24]
je 0x476313
mov ecx, dword [edi]
mov dword [eax], ecx
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
mov ecx, dword [0x60aa78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x60aa7c], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x47631e
or dl, cl
je 0x47631e
mov ecx, dword [edi]
mov dword [eax], ecx
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
jmp 0x4762dc
mov eax, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x14]
cmp ecx, 0xa
setl byte [esi + 0x1c]
mov eax, 0xb8cd7b43
nop word cs:[eax + eax]
cmp eax, 0xceb3811a
jg 0x476390
cmp eax, 0x82f24137
je 0x4763f3
cmp eax, 0xb8cd7b43
jne 0x476350
movzx ecx, byte [esi + 0x14]
movzx eax, byte [esi + 0x1c]
mov edx, ecx
xor dl, al
mov edx, 0x82f24137
mov edi, 0x47b76182
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x476350
cmp eax, 0xceb3811b
je 0x475c91
cmp eax, 0x47b76182
jne 0x476350
lea eax, [esi + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add dword [eax], 8
mov edx, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
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, 0x82f24137
mov edi, 0xceb3811b
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x476350
add dword [esi + 8], 8
mov eax, 0x47b76182
jmp 0x476350
jmp 0x476406
mov eax, dword [esi + 0xc]
mov eax, dword [0x60aa88]
mov ecx, dword [0x60aa8c]
lea edx, [eax + 1]
mov dword [esi + 0x24], eax
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
sete bl
mov edx, 0x8c874760
mov eax, 0x4d68e82b
cmove edx, eax
mov dword [esi + 0x2c], ecx
cmp ecx, 0xa
setl byte [esi + 0xc]
setl bh
mov ecx, 0x8c874760
cmovge edx, ecx
xor bh, bl
cmovne edx, eax
mov edi, 0xbc4e5a6d
nop word cs:[eax + eax]
cmp edi, 0x36d61406
jle 0x476480
cmp edi, 0x36d61407
je 0x4764bb
cmp edi, 0x4d68e82b
jne 0x476460
jmp 0x4764c6
cmp edi, 0x8c874760
je 0x4764bf
cmp edi, 0xbc4e5a6d
jne 0x476460
movzx eax, byte [esi + 0x1c]
mov bh, byte [esi + 0xc]
mov bl, al
xor bl, bh
mov ecx, 0x8c874760
mov edi, 0x36d61407
cmovne ecx, edi
test bh, bh
mov edi, ecx
mov ebx, 0x36d61407
cmovne edi, ebx
test al, al
cmove edi, ecx
jmp 0x476460
mov edi, edx
jmp 0x476460
mov edi, 0x36d61407
jmp 0x476460
mov edx, dword [esi + 8]
cmp edx, dword [esi + 0x3c]
je 0x476bf4
mov eax, dword [0x60aa90]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x60aa94]
sete byte [esi + 0x14]
sete cl
mov edi, 0xdbbf45d4
mov ebx, 0x89d6c0b5
cmove edi, ebx
cmp eax, 0xa
setl byte [esi + 0x1c]
setl al
mov ebx, 0xdbbf45d4
cmovge edi, ebx
xor al, cl
mov eax, 0x89d6c0b5
cmovne edi, eax
mov ebx, 0xaf530581
nop
cmp ebx, 0xdbbf45d3
jg 0x476570
cmp ebx, 0x89d6c0b5
je 0x47658b
cmp ebx, 0xaf530581
jne 0x476520
movzx eax, byte [esi + 0x14]
movzx ecx, byte [esi + 0x1c]
mov ah, al
xor ah, cl
test cl, cl
mov ebx, 0xdbbf45d4
mov ecx, 0x3983e5e3
cmovne ebx, ecx
test al, al
mov ecx, 0xdbbf45d4
cmove ebx, ecx
test ah, ah
mov eax, 0x3983e5e3
cmovne ebx, eax
jmp 0x476520
cmp ebx, 0xdbbf45d4
je 0x476584
cmp ebx, 0x3983e5e3
jne 0x476520
mov ebx, edi
jmp 0x476520
mov ebx, 0x3983e5e3
jmp 0x476520
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0xc]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x14], eax
mov eax, dword [0x60aa80]
mov edi, dword [0x60aa84]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete byte [esi + 0x1c]
sete al
mov edx, 0xd78bfc94
mov ebx, 0x43b6ad13
cmove edx, ebx
cmp edi, 0xa
setl byte [esi + 0xc]
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x18], ecx
setl cl
mov edi, 0xd78bfc94
cmovge edx, edi
xor cl, al
cmovne edx, ebx
mov ebx, 0x1c1ffc7c
nop dword [eax + eax]
cmp ebx, 0x43b6ad12
jg 0x476640
cmp ebx, 0xd78bfc94
je 0x47665a
cmp ebx, 0x1c1ffc7c
jne 0x4765f0
movzx eax, byte [esi + 0x1c]
movzx ecx, byte [esi + 0xc]
mov ah, cl
xor ah, al
test cl, cl
mov ebx, 0xd78bfc94
mov edi, 0x7df2dfc5
cmovne ebx, edi
test al, al
mov ecx, 0xd78bfc94
cmove ebx, ecx
test ah, ah
cmovne ebx, edi
jmp 0x4765f0
cmp ebx, 0x43b6ad13
je 0x476667
cmp ebx, 0x7df2dfc5
jne 0x4765f0
mov eax, dword [esi + 0x18]
mov dword [esi + 0x28], eax
mov ebx, edx
jmp 0x4765f0
mov ebx, 0x7df2dfc5
mov eax, dword [esi + 0x18]
mov dword [esi + 0x28], eax
jmp 0x4765f0
mov eax, dword [esi + 4]
add eax, 4
mov dword [esi + 0x18], eax
mov ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x24]
jmp 0x47668e
mov eax, dword [esi + 0xc]
mov eax, dword [0x60aa88]
mov ebx, dword [0x60aa8c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete cl
cmp ebx, 0xa
setl ch
xor ch, cl
mov edi, 0x8c874760
mov ecx, 0x4d68e82b
cmovne edi, ecx
test eax, edx
sete byte [esi + 0x1c]
mov ecx, edi
mov eax, 0x4d68e82b
cmove ecx, eax
cmp ebx, 0xa
setl byte [esi + 0xc]
cmovge ecx, edi
mov eax, 0xbc4e5a6d
nop word cs:[eax + eax]
cmp eax, 0x36d61406
jle 0x476700
cmp eax, 0x36d61407
je 0x476735
cmp eax, 0x4d68e82b
jne 0x4766e0
jmp 0x476740
cmp eax, 0x8c874760
je 0x476739
cmp eax, 0xbc4e5a6d
jne 0x4766e0
movzx edx, byte [esi + 0x1c]
movzx eax, byte [esi + 0xc]
mov ah, dl
xor ah, al
mov edi, 0x8c874760
mov ebx, 0x36d61407
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x4766e0
mov eax, ecx
jmp 0x4766e0
mov eax, 0x36d61407
jmp 0x4766e0
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x28]
je 0x476a6b
mov ecx, dword [0x60aa90]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x60aa94]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x38]
sete dl
mov ecx, 0xdbbf45d4
mov ebx, 0x89d6c0b5
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 0x1c]
setl dh
mov edi, 0xdbbf45d4
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0xaf530581
nop word cs:[eax + eax]
cmp edx, 0xdbbf45d3
jg 0x4767f0
cmp edx, 0x89d6c0b5
je 0x476810
cmp edx, 0xaf530581
jne 0x4767a0
movzx ebx, byte [esi + 0x38]
movzx edx, byte [esi + 0x1c]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0xdbbf45d4
mov edi, 0x3983e5e3
cmovne edx, edi
test bl, bl
mov edi, 0xdbbf45d4
cmove edx, edi
test bh, bh
mov edi, 0x3983e5e3
cmovne edx, edi
jmp 0x4767a0
cmp edx, 0xdbbf45d4
je 0x476804
cmp edx, 0x3983e5e3
jne 0x4767a0
mov edx, ecx
jmp 0x4767a0
mov edx, 0x3983e5e3
jmp 0x4767a0
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov dword [esi + 0x1c], ecx
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
mov ecx, 0xce6e8c2f
nop dword [eax + eax]
cmp ecx, 0xce6e8c2e
jg 0x476860
cmp ecx, 0x85fa3530
je 0x4768a0
cmp ecx, 0xc79b93d4
jne 0x476830
mov ecx, 0x85fa3530
mov ebx, eax
mov edi, dword [esi + 4]
jmp 0x476830
cmp ecx, 0xe387238e
je 0x476885
cmp ecx, 0xce6e8c2f
jne 0x476830
mov ecx, dword [esi + 0x1c]
cmp ecx, dword [esi + 0xc]
mov ecx, 0xe387238e
mov edx, 0xc79b93d4
cmovl ecx, edx
jmp 0x476830
mov ecx, 0x85fa3530
mov ebx, dword [esi + 4]
mov edi, eax
jmp 0x476830
mov dword [esi + 0x30], edi
lea edi, [eax + 4]
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
mov dword [esi + 0x1c], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 0xc], ecx
mov ecx, 0xce6e8c2f
nop dword [eax]
cmp ecx, 0xce6e8c2e
jg 0x4768f0
cmp ecx, 0x85fa3530
je 0x476940
cmp ecx, 0xc79b93d4
jne 0x4768c0
mov ecx, 0x85fa3530
mov dword [esi + 0x24], edi
mov edx, dword [esi + 0x18]
jmp 0x4768c0
cmp ecx, 0xe387238e
je 0x476927
cmp ecx, 0xce6e8c2f
jne 0x4768c0
mov ecx, dword [esi + 0x1c]
cmp ecx, dword [esi + 0xc]
mov ecx, 0xe387238e
mov dword [esi + 0x2c], edi
mov edi, edx
mov edx, eax
mov eax, ebx
mov ebx, 0xc79b93d4
cmovl ecx, ebx
mov ebx, eax
mov eax, edx
mov edx, edi
mov edi, dword [esi + 0x2c]
jmp 0x4768c0
mov ecx, 0x85fa3530
mov edx, dword [esi + 0x18]
mov dword [esi + 0x24], edx
mov edx, edi
jmp 0x4768c0
mov ecx, dword [0x60aa78]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
setne ch
cmp dword [0x60aa7c], 0xa
mov edi, dword [ebx]
setge cl
mov ebx, ecx
xor bl, ch
or cl, ch
xor cl, 1
or cl, bl
cmp edi, dword [edx]
jle 0x476a82
test cl, cl
je 0x477c40
mov eax, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x38]
cmp ecx, 0xa
setl byte [esi + 0x1c]
mov eax, 0xb8cd7b43
nop word cs:[eax + eax]
cmp eax, 0xceb3811a
jg 0x476a00
cmp eax, 0x82f24137
je 0x476a5d
cmp eax, 0xb8cd7b43
jne 0x4769b0
movzx ecx, byte [esi + 0x38]
movzx eax, byte [esi + 0x1c]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x82f24137
mov edi, 0x47b76182
cmovne eax, edi
test cl, cl
mov ecx, 0x82f24137
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x4769b0
cmp eax, 0xceb3811b
je 0x476680
cmp eax, 0x47b76182
jne 0x4769b0
lea eax, [esi + 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add dword [eax], 8
mov eax, dword [0x60aa98]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x82f24137
mov edi, 0xceb3811b
cmove eax, edi
cmp dword [0x60aa9c], 0xa
mov edx, 0x82f24137
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x4769b0
add dword [esi + 0x14], 8
mov eax, 0x47b76182
jmp 0x4769b0
mov dword [esi + 0xe8], 6
lea ecx, [esi + 0x60]
push dword [esi + 4]
call fcn.0044f650
jmp 0x476ac8
test cl, cl
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x24]
je 0x476abd
mov ecx, dword [edi]
mov dword [eax], ecx
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
mov ecx, dword [0x60aa78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x60aa7c], 0xa
setl dl
test dl, cl
jne 0x476ac8
xor dl, cl
jne 0x476ac8
mov ecx, dword [edi]
mov dword [eax], ecx
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
jmp 0x476a8c
mov eax, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x14]
cmp ecx, 0xa
setl byte [esi + 0x1c]
mov eax, 0xb8cd7b43
cmp eax, 0xceb3811a
jg 0x476b30
cmp eax, 0x82f24137
je 0x476b93
cmp eax, 0xb8cd7b43
jne 0x476af0
movzx ecx, byte [esi + 0x14]
movzx eax, byte [esi + 0x1c]
mov edx, ecx
xor dl, al
mov edx, 0x82f24137
mov edi, 0x47b76182
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x476af0
cmp eax, 0xceb3811b
je 0x476403
cmp eax, 0x47b76182
jne 0x476af0
lea eax, [esi + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add dword [eax], 8
mov edx, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
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, 0x82f24137
mov edi, 0xceb3811b
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x476af0
add dword [esi + 8], 8
mov eax, 0x47b76182
jmp 0x476af0
mov eax, dword [0x60aa78]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp dword [0x60aa7c], 0xa
setl cl
or cl, al
mov byte [esi + 0x30], cl
mov eax, dword [esi + 0x60]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x2c], eax
mov eax, dword [0x60aa80]
mov ecx, dword [0x60aa84]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x3c], eax
jne 0x476cf5
lea edi, [eax + 1]
imul edi, eax
and edi, 1
jmp 0x476c56
mov eax, dword [0x60aa78]
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x60aa7c], 0xa
setge ch
setl cl
xor cl, al
or ch, dl
xor ch, 1
or ch, cl
mov eax, dword [esi + 0x60]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x28], eax
mov edi, dword [0x60aa80]
mov eax, dword [0x60aa84]
mov dword [esi + 0x18], eax
mov byte [esi + 0x3c], ch
test ch, 1
mov dword [esi + 0x78], edi
jne 0x4774e6
lea eax, [edi + 1]
imul eax, edi
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
jmp 0x477447
test edi, edi
sete al
mov edx, dword [esi + 0x28]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0xd78bfc94
mov ecx, 0x43b6ad13
cmovne eax, ecx
test edi, edi
sete byte [esi + 8]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [esi + 0x1c], ecx
cmovge edi, eax
mov edx, 0x1c1ffc7c
jmp 0x476c9a
mov edx, 0x7df2dfc5
cmp edx, 0x43b6ad12
jg 0x476cde
cmp edx, 0xd78bfc94
je 0x476c95
cmp edx, 0x1c1ffc7c
jne 0x476c9a
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 0xc]
mov edx, eax
xor dl, cl
mov ebx, 0xd78bfc94
mov edx, 0x7df2dfc5
cmovne ebx, edx
test cl, cl
mov edx, ebx
mov ecx, 0x7df2dfc5
cmovne edx, ecx
test al, al
cmove edx, ebx
jmp 0x476c9a
cmp edx, 0x43b6ad13
je 0x476cf2
cmp edx, 0x7df2dfc5
jne 0x476c9a
mov edx, edi
jmp 0x476c9a
mov eax, dword [esi + 0x3c]
lea edi, [eax - 1]
imul edi, eax
and edi, 1
sete byte [esi + 8]
sete al
mov edx, 0xd78bfc94
mov ecx, 0x43b6ad13
cmove edx, ecx
cmp dword [esi + 0x28], 0xa
setl byte [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [esi + 0x1c], ecx
setl cl
mov ebx, 0xd78bfc94
cmovge edx, ebx
xor cl, al
mov eax, 0x43b6ad13
cmovne edx, eax
mov ebx, 0x1c1ffc7c
mov ecx, dword [esi + 0x18]
cmp ebx, 0x43b6ad12
jg 0x476d89
cmp ebx, 0xd78bfc94
je 0x476d9d
cmp ebx, 0x1c1ffc7c
jne 0x476d3d
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 0xc]
mov ah, cl
xor ah, al
test cl, cl
mov ebx, 0xd78bfc94
mov ecx, 0x7df2dfc5
cmovne ebx, ecx
test al, al
mov ecx, 0xd78bfc94
cmove ebx, ecx
mov ecx, dword [esi + 0x18]
test ah, ah
mov eax, 0x7df2dfc5
cmovne ebx, eax
jmp 0x476d3d
cmp ebx, 0x43b6ad13
je 0x476da4
cmp ebx, 0x7df2dfc5
jne 0x476d3d
mov ebx, edx
jmp 0x476d3d
mov ebx, 0x7df2dfc5
jmp 0x476d3d
cmp byte [esi + 0x30], 0
je 0x476c56
mov dword [esi + 4], 0
mov edi, dword [esi + 0x24]
jmp 0x476dd4
mov eax, dword [esi + 4]
add eax, ecx
sub eax, dword [esi + 0x18]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x60aa88]
mov edi, dword [0x60aa8c]
lea edx, [ecx + 1]
imul edx, ecx
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete cl
cmp edi, 0xa
setl ch
xor ch, cl
mov ebx, 0x8c874760
mov ecx, 0x4d68e82b
cmovne ebx, ecx
test eax, edx
sete byte [esi + 8]
mov ecx, ebx
mov eax, 0x4d68e82b
cmove ecx, eax
cmp edi, 0xa
setl byte [esi + 0xc]
cmovge ecx, ebx
mov eax, 0xbc4e5a6d
nop dword [eax + eax]
cmp eax, 0x36d61406
jle 0x476e40
cmp eax, 0x36d61407
je 0x476e7a
cmp eax, 0x4d68e82b
jne 0x476e20
jmp 0x476e85
cmp eax, 0x8c874760
je 0x476e7e
cmp eax, 0xbc4e5a6d
jne 0x476e20
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 0xc]
mov dh, al
xor dh, dl
test al, al
mov eax, 0x8c874760
mov ebx, 0x36d61407
cmovne eax, ebx
test dl, dl
mov edi, 0x8c874760
cmove eax, edi
test dh, dh
cmovne eax, ebx
jmp 0x476e20
mov eax, ecx
jmp 0x476e20
mov eax, 0x36d61407
jmp 0x476e20
mov eax, dword [esi + 0x1c]
cmp eax, dword [esi + 0x2c]
je 0x47704e
mov ecx, dword [0x60aa90]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x60aa94]
sete byte [esi + 0x14]
sete bl
mov ecx, 0xdbbf45d4
mov edi, 0x89d6c0b5
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov edi, 0xdbbf45d4
cmovge ecx, edi
xor dl, bl
mov edx, 0x89d6c0b5
cmovne ecx, edx
mov edx, 0xaf530581
nop
cmp edx, 0xdbbf45d3
jg 0x476f30
cmp edx, 0x89d6c0b5
je 0x476f4b
cmp edx, 0xaf530581
jne 0x476ee0
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0xdbbf45d4
mov edi, 0x3983e5e3
cmovne edx, edi
test bl, bl
mov edi, 0xdbbf45d4
cmove edx, edi
test bh, bh
mov edi, 0x3983e5e3
cmovne edx, edi
jmp 0x476ee0
cmp edx, 0xdbbf45d4
je 0x476f44
cmp edx, 0x3983e5e3
jne 0x476ee0
mov edx, ecx
jmp 0x476ee0
mov edx, 0x3983e5e3
jmp 0x476ee0
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [0x60aa98]
lea edx, [eax + 1]
imul edx, eax
mov eax, dword [ecx]
mov dword [esi + 0x18], eax
mov ecx, dword [ecx + 4]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, dword [0x60aa9c]
sete byte [esi + 0x14]
cmp edx, 0xa
setl byte [esi + 8]
mov ebx, 0xb8cd7b43
nop word cs:[eax + eax]
cmp ebx, 0xceb3811a
jg 0x476fe0
cmp ebx, 0x82f24137
je 0x477040
cmp ebx, 0xb8cd7b43
jne 0x476f90
movzx edx, byte [esi + 0x14]
mov dh, byte [esi + 8]
mov ebx, edx
xor bl, dh
mov edi, 0x82f24137
mov eax, 0x47b76182
cmovne edi, eax
test dh, dh
mov ebx, edi
cmovne ebx, eax
test dl, dl
cmove ebx, edi
jmp 0x476f90
cmp ebx, 0xceb3811b
je 0x476dba
cmp ebx, 0x47b76182
jne 0x476f90
lea edx, [esi + 0x1c]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0xc]
add dword [edx], 8
mov edx, dword [0x60aa98]
lea edi, [edx - 1]
imul edi, edx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete dl
mov ebx, 0x82f24137
mov edi, 0xceb3811b
cmove ebx, edi
cmp dword [0x60aa9c], 0xa
mov eax, 0x82f24137
cmovge ebx, eax
setl dh
xor dh, dl
cmovne ebx, edi
jmp 0x476f90
add dword [esi + 0x1c], 8
mov ebx, 0x47b76182
jmp 0x476f90
cmp dword [esi + 4], 0x12345678
jne 0x477061
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x60aa78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60aa7c], 0xa
setl cl
test cl, al
jne 0x47708c
xor cl, al
je 0x47725d
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0xc]
mov eax, 0xbb35c726
cmp eax, 0x363212d2
jg 0x4770f5
cmp eax, 0x892b3f0e
je 0x477159
cmp eax, 0xbb35c726
jne 0x4770b5
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0xc]
mov edx, ecx
xor dl, al
mov edx, 0x41d9d43f
mov edi, 0x363212d3
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4770b5
cmp eax, 0x363212d3
je 0x477112
cmp eax, 0x41d9d43f
jne 0x4770b5
lea ecx, [esi + 0x60]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x4770b5
lea ecx, [esi + 0x60]
call fcn.00434d30
mov eax, dword [0x60aaa0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x41d9d43f
mov edi, 0x892b3f0e
cmove eax, edi
cmp dword [0x60aaa4], 0xa
mov edx, 0x41d9d43f
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x4770b5
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov eax, 0xbb35c726
cmp eax, 0x363212d2
jg 0x4771c2
cmp eax, 0x892b3f0e
je 0x47722c
cmp eax, 0xbb35c726
jne 0x477182
movzx ecx, byte [esi + 0xc]
movzx eax, byte [esi + 0x60]
mov edx, ecx
xor dl, al
mov edx, 0x41d9d43f
mov edi, 0x363212d3
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x477182
cmp eax, 0x363212d3
je 0x4771e2
cmp eax, 0x41d9d43f
jne 0x477182
lea ecx, [esi + 0xa0]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x477182
lea ecx, [esi + 0xa0]
call fcn.00434d30
mov eax, dword [0x60aaa0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x41d9d43f
mov edi, 0x892b3f0e
cmove eax, edi
cmp dword [0x60aaa4], 0xa
mov edx, 0x41d9d43f
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x477182
mov ecx, dword [0x60aa78]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60aa7c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x477409
or cl, al
test cl, 1
je 0x477409
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0xc]
mov eax, 0xbb35c726
jmp 0x4772ce
lea ecx, [esi + 0x60]
call fcn.00434d30
mov edx, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
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, 0x41d9d43f
mov ebx, 0x892b3f0e
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
cmp eax, 0x363212d2
jg 0x47730a
cmp eax, 0x892b3f0e
je 0x47732b
cmp eax, 0xbb35c726
jne 0x4772ce
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0xc]
mov edx, ecx
xor dl, al
mov edx, 0x41d9d43f
mov edi, 0x363212d3
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4772ce
cmp eax, 0x363212d3
je 0x477288
cmp eax, 0x41d9d43f
jne 0x4772ce
lea ecx, [esi + 0x60]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x4772ce
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov eax, 0xbb35c726
cmp eax, 0x363212d2
jg 0x477399
cmp eax, 0x892b3f0e
je 0x47708c
cmp eax, 0xbb35c726
jne 0x477354
movzx ecx, byte [esi + 0xc]
movzx eax, byte [esi + 0x60]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x41d9d43f
mov edi, 0x363212d3
cmovne eax, edi
test cl, cl
mov ecx, 0x41d9d43f
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x477354
cmp eax, 0x363212d3
je 0x4773b9
cmp eax, 0x41d9d43f
jne 0x477354
lea ecx, [esi + 0xa0]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x477354
lea ecx, [esi + 0xa0]
call fcn.00434d30
mov edx, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
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, 0x41d9d43f
mov edi, 0x892b3f0e
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x477354
mov eax, dword [0x60aa70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x4ba50dbf
mov edi, 0x4c677567
cmove eax, edi
cmp dword [0x60aa74], 0xa
mov edx, 0x4ba50dbf
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x475830
test edi, edi
sete al
mov edx, dword [esi + 0x18]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0xd78bfc94
mov ecx, 0x43b6ad13
cmovne eax, ecx
test edi, edi
sete byte [esi + 8]
mov edi, eax
cmove edi, ecx
cmp edx, 0xa
setl byte [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [esi + 0x1c], ecx
cmovge edi, eax
mov ebx, 0x1c1ffc7c
jmp 0x47748b
mov ebx, 0x7df2dfc5
cmp ebx, 0x43b6ad12
jg 0x4774cf
cmp ebx, 0xd78bfc94
je 0x477486
cmp ebx, 0x1c1ffc7c
jne 0x47748b
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 0xc]
mov edx, eax
xor dl, cl
test cl, cl
mov ebx, 0xd78bfc94
mov ecx, 0x7df2dfc5
cmovne ebx, ecx
test al, al
mov eax, 0xd78bfc94
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x47748b
cmp ebx, 0x43b6ad13
je 0x4774e3
cmp ebx, 0x7df2dfc5
jne 0x47748b
mov ebx, edi
jmp 0x47748b
mov edi, dword [esi + 0x78]
lea edx, [edi + 1]
imul edx, edi
mov edi, edx
xor edi, 0xfffffffe
mov eax, edi
and eax, edx
sete ch
mov eax, dword [esi + 0x18]
cmp eax, 0xa
setl cl
xor cl, ch
mov ebx, 0xd78bfc94
mov ecx, 0x43b6ad13
cmovne ebx, ecx
and edi, edx
mov dword [esi + 0x30], edi
sete byte [esi + 8]
mov edx, ebx
cmove edx, ecx
cmp eax, 0xa
setl byte [esi + 0xc]
mov eax, dword [esi + 4]
mov dword [esi + 0x1c], eax
cmovge edx, ebx
mov ebx, 0x1c1ffc7c
mov eax, dword [esi + 0x24]
cmp ebx, 0x43b6ad12
jg 0x47757d
cmp ebx, 0xd78bfc94
je 0x477591
cmp ebx, 0x1c1ffc7c
jne 0x477536
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 0xc]
mov ah, al
xor ah, cl
mov edi, 0xd78bfc94
mov ebx, 0x7df2dfc5
cmovne edi, ebx
test cl, cl
mov ebx, edi
mov ecx, 0x7df2dfc5
cmovne ebx, ecx
test al, al
mov eax, dword [esi + 0x24]
cmove ebx, edi
jmp 0x477536
cmp ebx, 0x43b6ad13
je 0x477598
cmp ebx, 0x7df2dfc5
jne 0x477536
mov ebx, edx
jmp 0x477536
mov ebx, 0x7df2dfc5
jmp 0x477536
test byte [esi + 0x3c], 1
je 0x477841
mov dword [esi + 4], 0
mov edi, dword [esi + 0x2c]
jmp 0x4775c8
mov ecx, dword [esi + 0x18]
add ecx, dword [esi + 4]
sub ecx, dword [esi + 0x24]
mov eax, dword [esi + 0xc]
mov eax, dword [0x60aa88]
mov edi, dword [0x60aa8c]
mov dword [esi + 4], ecx
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete cl
cmp edi, 0xa
setl ch
xor ch, cl
mov ebx, 0x8c874760
mov ecx, 0x4d68e82b
cmovne ebx, ecx
test eax, edx
sete byte [esi + 8]
mov ecx, ebx
mov eax, 0x4d68e82b
cmove ecx, eax
cmp edi, 0xa
setl byte [esi + 0xc]
cmovge ecx, ebx
mov eax, 0xbc4e5a6d
nop dword [eax]
cmp eax, 0x36d61406
jle 0x477630
cmp eax, 0x36d61407
je 0x477665
cmp eax, 0x4d68e82b
jne 0x477610
jmp 0x477670
cmp eax, 0x8c874760
je 0x477669
cmp eax, 0xbc4e5a6d
jne 0x477610
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 0xc]
mov ah, dl
xor ah, al
mov ebx, 0x8c874760
mov edi, 0x36d61407
cmovne ebx, edi
test al, al
mov eax, ebx
cmovne eax, edi
test dl, dl
cmove eax, ebx
jmp 0x477610
mov eax, ecx
jmp 0x477610
mov eax, 0x36d61407
jmp 0x477610
mov eax, dword [esi + 0x1c]
cmp eax, dword [esi + 0x28]
je 0x477849
mov ecx, dword [0x60aa90]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x60aa94]
sete byte [esi + 0x14]
sete bl
mov ecx, 0xdbbf45d4
mov edi, 0x89d6c0b5
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov edi, 0xdbbf45d4
cmovge ecx, edi
xor dl, bl
mov edx, 0x89d6c0b5
cmovne ecx, edx
mov edx, 0xaf530581
nop word [eax + eax]
cmp edx, 0xdbbf45d3
jg 0x477720
cmp edx, 0x89d6c0b5
je 0x47773b
cmp edx, 0xaf530581
jne 0x4776d0
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0xdbbf45d4
mov edi, 0x3983e5e3
cmovne edx, edi
test bl, bl
mov edi, 0xdbbf45d4
cmove edx, edi
test bh, bh
mov edi, 0x3983e5e3
cmovne edx, edi
jmp 0x4776d0
cmp edx, 0xdbbf45d4
je 0x477734
cmp edx, 0x3983e5e3
jne 0x4776d0
mov edx, ecx
jmp 0x4776d0
mov edx, 0x3983e5e3
jmp 0x4776d0
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [0x60aa98]
lea edx, [eax + 1]
imul edx, eax
mov eax, dword [ecx]
mov dword [esi + 0x24], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x18], eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov ecx, dword [0x60aa9c]
sete byte [esi + 0x14]
cmp ecx, 0xa
setl byte [esi + 8]
mov ecx, 0xb8cd7b43
nop word cs:[eax + eax]
cmp ecx, 0xceb3811a
jg 0x4777d0
cmp ecx, 0x82f24137
je 0x477833
cmp ecx, 0xb8cd7b43
jne 0x477780
movzx edx, byte [esi + 0x14]
movzx ecx, byte [esi + 8]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x82f24137
mov eax, 0x47b76182
cmovne ecx, eax
test dl, dl
mov edi, 0x82f24137
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x477780
cmp ecx, 0xceb3811b
je 0x4775ae
cmp ecx, 0x47b76182
jne 0x477780
lea eax, [esi + 0x1c]
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0xc]
add dword [ecx], 8
mov edi, dword [0x60aa98]
mov edx, dword [0x60aa9c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x82f24137
mov ebx, 0xceb3811b
cmovne eax, ebx
test edi, ecx
mov ecx, eax
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, eax
jmp 0x477780
add dword [esi + 0x1c], 8
mov ecx, 0x47b76182
jmp 0x477780
mov edi, dword [esi + 0x30]
jmp 0x477447
cmp dword [esi + 4], 0x12345678
jne 0x47785c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x60aa78]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60aa7c], 0xa
setl cl
test cl, al
mov ebx, 0x41d9d43f
jne 0x47788d
xor cl, al
je 0x477a6a
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0xc]
mov eax, 0xbb35c726
cmp eax, 0x363212d2
jg 0x4778f5
cmp eax, 0x892b3f0e
je 0x477954
cmp eax, 0xbb35c726
jne 0x4778b5
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0xc]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x41d9d43f
mov edi, 0x363212d3
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x4778b5
cmp eax, 0x363212d3
je 0x477912
cmp eax, 0x41d9d43f
jne 0x4778b5
lea ecx, [esi + 0x60]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x4778b5
lea ecx, [esi + 0x60]
call fcn.00434d30
mov eax, dword [0x60aaa0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x41d9d43f
mov edi, 0x892b3f0e
cmove eax, edi
cmp dword [0x60aaa4], 0xa
cmovge eax, ebx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x4778b5
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov eax, 0xbb35c726
cmp eax, 0x363212d2
jg 0x4779bd
cmp eax, 0x892b3f0e
je 0x477a30
cmp eax, 0xbb35c726
jne 0x47797d
movzx ecx, byte [esi + 0xc]
movzx eax, byte [esi + 0x60]
mov edx, ecx
xor dl, al
mov edx, 0x41d9d43f
mov edi, 0x363212d3
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x47797d
cmp eax, 0x363212d3
je 0x4779dd
cmp eax, 0x41d9d43f
jne 0x47797d
lea ecx, [esi + 0xa0]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x47797d
lea ecx, [esi + 0xa0]
call fcn.00434d30
mov edx, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
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, 0x41d9d43f
mov ebx, 0x892b3f0e
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
mov ebx, 0x41d9d43f
cmp ecx, 0xa
cmovge eax, edi
jmp 0x47797d
mov eax, dword [0x60aa78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete al
cmp dword [0x60aa7c], 0xa
setge dl
setl ah
xor ah, al
mov eax, 0xcdea433f
jne 0x475830
or dl, cl
je 0x475830
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0xc]
mov eax, 0xbb35c726
jmp 0x477add
lea ecx, [esi + 0x60]
call fcn.00434d30
mov edx, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
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, 0x41d9d43f
mov edi, 0x892b3f0e
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
cmp eax, 0x363212d2
jg 0x477b19
cmp eax, 0x892b3f0e
je 0x477b3a
cmp eax, 0xbb35c726
jne 0x477add
movzx ecx, byte [esi + 0x1c]
movzx eax, byte [esi + 0xc]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x41d9d43f
mov edi, 0x363212d3
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x477add
cmp eax, 0x363212d3
je 0x477a95
cmp eax, 0x41d9d43f
jne 0x477add
lea ecx, [esi + 0x60]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x477add
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x60]
mov eax, 0xbb35c726
cmp eax, 0x363212d2
jg 0x477ba3
cmp eax, 0x892b3f0e
je 0x47788d
cmp eax, 0xbb35c726
jne 0x477b63
movzx ecx, byte [esi + 0xc]
movzx eax, byte [esi + 0x60]
mov edx, ecx
xor dl, al
mov edx, 0x41d9d43f
mov edi, 0x363212d3
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x477b63
cmp eax, 0x363212d3
je 0x477bc3
cmp eax, 0x41d9d43f
jne 0x477b63
lea ecx, [esi + 0xa0]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x477b63
lea ecx, [esi + 0xa0]
call fcn.00434d30
mov edx, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
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, 0x41d9d43f
mov edi, 0x892b3f0e
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x477b63
jmp 0x477c20
jmp 0x477c30
jmp 0x477c40
jmp 0x477c50
vxorps xmm0, xmm0, xmm0
vmovaps ymmword [esi + 0xa0], ymm0
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc0], 0
mov eax, 0xf6bf6c30
mov ecx, 0xade6979
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov ecx, 0x84052151
mov eax, 0x8aea748b
mov edx, 0x8aea748b
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x9ade0f6f
mov edx, 0x6fa9361a
mov dword [esi + 0x84], edx
mov dword [esi + 0x80], ecx
mov ecx, 0xf06d4638
mov dword [esi + 0x8c], eax
mov dword [esi + 0x88], ecx
xor eax, eax
lea ecx, [esi + 0x80]
vmovaps xmm0, xmmword [ecx]
vmovaps xmm1, xmmword [esi + 0x40]
mov eax, dword [0x60a848]
mov ecx, dword [0x60a84c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 0x1c]
mov edx, 0x332b6ef5
mov eax, 0x224ba512
cmove eax, edx
cmp ecx, 0xa
setl byte [esi + 0xc]
mov ecx, 0x224ba512
setl bh
vandnps xmm2, xmm1, xmm0
vandnps xmm0, xmm0, xmm1
vorps xmm0, xmm2, xmm0
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov edi, 0x84a35f8c
mov edx, 0xf8d3d77
nop dword [eax]
cmp edi, 0x224ba511
jle 0x477d50
cmp edi, 0x224ba512
je 0x477d64
cmp edi, 0x332b6ef5
jne 0x477d30
jmp 0x477d92
cmp edi, 0x84a35f8c
je 0x477d6b
cmp edi, 0xf8d3d77
jne 0x477d30
mov edi, eax
jmp 0x477d30
mov edi, 0xf8d3d77
jmp 0x477d30
movzx ebx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0xc]
mov bh, cl
xor bh, bl
test cl, cl
mov edi, 0x224ba512
cmovne edi, edx
test bl, bl
mov ecx, 0x224ba512
cmove edi, ecx
test bh, bh
cmovne edi, edx
jmp 0x477d30
mov eax, dword [0x60a850]
mov ecx, dword [0x60a854]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x4bd4f086
mov ebx, 0xae925cc1
cmovne ebx, eax
test edi, edx
vmovaps xmmword [esi + 0x60], xmm0
vmovaps xmm0, xmmword [esi + 0x60]
sete byte [esi + 0xc]
cmovne eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x60]
cmovge eax, ebx
mov edx, 0x47ea23b6
mov ecx, 0x91a4fdaa
nop dword [eax]
cmp edx, 0x47ea23b5
jg 0x477e20
cmp edx, 0x91a4fdaa
je 0x477e52
cmp edx, 0xae925cc1
jne 0x477df0
vmovaps xmmword [esi + 0x40], xmm0
mov edx, 0x91a4fdaa
jmp 0x477df0
cmp edx, 0x4bd4f086
je 0x477e5b
cmp edx, 0x47ea23b6
jne 0x477df0
movzx ebx, byte [esi + 0xc]
movzx edx, byte [esi + 0x60]
mov dh, bl
xor dh, dl
mov edi, 0xae925cc1
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x477df0
vmovaps xmmword [esi + 0x40], xmm0
mov edx, eax
jmp 0x477df0
vzeroupper
call fcn.005dacde
mov ecx, eax
mov edx, 0x266ebf41
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 0xe
add edx, eax
imul eax, edx, 0x1aa4e
sub ecx, eax
push ecx
lea edi, [esi + 0x60]
push edi
call fcn.00465ff0
add esp, 8
mov dword [esi + 0xe8], 7
mov ecx, edi
lea eax, [esi + 0x40]
push eax
call fcn.0044b160
lea ecx, [esi + 0x80]
push eax
call fcn.0040f520
lea ecx, [esi + 0x60]
call fcn.0040f050
mov dword [esi + 0xa0], 3
mov dword [esi + 0xa4], 0x473470
mov dword [esi + 0xe8], 8
push 0
call fcn.00402910
mov dword [esi + 0xb0], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esi + 0xb4], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [esi + 0xb8], eax
push 0x2d2d2d
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esi + 0xbc], eax
lea ecx, [esi + 0x80]
call fcn.004730c0
mov dword [esi + 0xc4], eax
lea ecx, [esi + 0xc]
push 0xa
push 1
call fcn.005cd470
lea ecx, [esi + 0x1c]
push 0x1e
push 0xf
call fcn.005cd470
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
xor ecx, ecx
nop word cs:[eax + eax]
cmp ecx, 0x64
jae 0x478022
mov dword [esi + 4], ecx
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x20]
mov dword [esi + 0xe8], 0xa
lea ecx, [esi + 0x1c]
push edx
push eax
lea eax, [esi + 0x5c]
push eax
call fcn.00433d70
mov edx, dword [0x60aa78]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x60aa7c], 0xa
setge dl
setl bl
xor bl, dh
jne 0x477fb4
or dl, cl
test dl, 1
jne 0x478020
mov dword [esi + 0x40], eax
lea ecx, [esi + 0xc]
push dword [esi + 0x10]
push dword [esi + 0xc]
lea eax, [esi + 0x5c]
push eax
call fcn.00433d70
mov dword [esi + 8], eax
lea ecx, [esi + 0x60]
lea eax, [esi + 0x40]
push eax
lea eax, [esi + 8]
push eax
call fcn.00432bd0
mov eax, dword [0x60aa78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
sete dl
cmp dword [0x60aa7c], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
cmp al, 1
mov ecx, dword [esi + 4]
jne 0x478019
inc ecx
test al, al
jne 0x477f60
inc ecx
jmp 0x478010
jmp 0x478020
mov eax, dword [0x60aa80]
mov ecx, dword [0x60aa84]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x43b6ad13
mov edi, 0xd78bfc94
cmovne edi, eax
cmp edx, 0xffffffff
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov edx, dword [esi + 0x60]
sete byte [esi + 0x14]
mov dword [esi + 0x38], edx
mov edx, dword [esi + 0x64]
mov dword [esi + 0x3c], edx
cmovne eax, edi
cmp ecx, 0xa
setl byte [esi + 8]
cmovge eax, edi
mov edx, 0x1c1ffc7c
mov ecx, 0x7df2dfc5
nop word cs:[eax + eax]
cmp edx, 0x43b6ad12
jg 0x4780e0
cmp edx, 0xd78bfc94
je 0x4780f4
cmp edx, 0x1c1ffc7c
jne 0x4780a0
movzx ebx, byte [esi + 0x14]
movzx edx, byte [esi + 8]
mov dh, bl
xor dh, dl
mov edi, 0xd78bfc94
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x4780a0
cmp edx, 0x43b6ad13
je 0x4780fb
cmp edx, 0x7df2dfc5
jne 0x4780a0
mov edx, eax
jmp 0x4780a0
mov edx, 0x7df2dfc5
jmp 0x4780a0
mov eax, 0x4d68e82b
mov edi, 0x8c874760
jmp 0x47810f
mov eax, dword [esi + 8]
mov eax, 0x4d68e82b
mov ebx, dword [0x60aa88]
mov ecx, dword [0x60aa8c]
lea edx, [ebx + 1]
mov dword [esi + 0x2c], ebx
imul edx, ebx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x14]
sete bl
mov edx, 0x8c874760
cmove edx, eax
mov dword [esi + 0x24], ecx
cmp ecx, 0xa
setl byte [esi + 8]
setl bh
cmovge edx, edi
xor bh, bl
cmovne edx, eax
mov edi, 0xbc4e5a6d
nop word cs:[eax + eax]
cmp edi, 0x36d61406
jle 0x478180
cmp edi, 0x36d61407
je 0x4781bc
cmp edi, 0x4d68e82b
jne 0x478160
jmp 0x4781c7
cmp edi, 0x8c874760
je 0x4781c0
cmp edi, 0xbc4e5a6d
jne 0x478160
movzx ebx, byte [esi + 0x14]
movzx eax, byte [esi + 8]
mov bh, al
xor bh, bl
test al, al
mov edi, 0x8c874760
mov ecx, 0x36d61407
cmovne edi, ecx
test bl, bl
mov eax, 0x8c874760
cmove edi, eax
test bh, bh
cmovne edi, ecx
jmp 0x478160
mov edi, edx
jmp 0x478160
mov edi, 0x36d61407
jmp 0x478160
mov edx, dword [esi + 0x38]
cmp edx, dword [esi + 0x3c]
je 0x4788a2
mov eax, dword [0x60aa90]
mov ebx, dword [0x60aa94]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
cmp ebx, 0xa
setl ah
xor ah, al
mov eax, 0xdbbf45d4
mov ecx, 0x89d6c0b5
cmovne eax, ecx
cmp edi, 0xffffffff
sete byte [esi + 0x58]
mov edi, eax
cmove edi, ecx
cmp ebx, 0xa
setl byte [esi + 0x14]
cmovge edi, eax
mov ebx, 0xaf530581
nop
cmp ebx, 0xdbbf45d3
jg 0x478270
cmp ebx, 0x89d6c0b5
je 0x47828b
cmp ebx, 0xaf530581
jne 0x478220
movzx eax, byte [esi + 0x58]
mov ah, byte [esi + 0x14]
mov ebx, eax
xor bl, ah
mov dword [esi + 4], edx
mov edx, 0xdbbf45d4
mov ebx, 0x3983e5e3
cmovne edx, ebx
test ah, ah
mov ebx, edx
mov ecx, 0x3983e5e3
cmovne ebx, ecx
test al, al
cmove ebx, edx
mov edx, dword [esi + 4]
jmp 0x478220
cmp ebx, 0xdbbf45d4
je 0x478284
cmp ebx, 0x3983e5e3
jne 0x478220
mov ebx, edi
jmp 0x478220
mov ebx, 0x3983e5e3
jmp 0x478220
mov dword [esi + 8], edx
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x58], eax
mov eax, dword [0x60aa80]
mov ebx, dword [0x60aa84]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x14]
sete al
mov edi, 0xd78bfc94
mov ecx, 0x43b6ad13
cmove edi, ecx
cmp ebx, 0xa
setl byte [esi + 8]
mov edx, dword [esi + 0x44]
setl ah
mov ebx, 0xd78bfc94
cmovge edi, ebx
xor ah, al
cmovne edi, ecx
mov ebx, 0x1c1ffc7c
nop word cs:[eax + eax]
cmp ebx, 0x43b6ad12
jg 0x478340
cmp ebx, 0xd78bfc94
je 0x478357
cmp ebx, 0x1c1ffc7c
jne 0x4782f0
movzx ecx, byte [esi + 0x14]
mov ah, byte [esi + 8]
mov al, cl
xor al, ah
test ah, ah
mov ebx, 0xd78bfc94
mov dword [esi + 0x18], edx
mov edx, 0x7df2dfc5
cmovne ebx, edx
test cl, cl
mov ecx, 0xd78bfc94
cmove ebx, ecx
test al, al
cmovne ebx, edx
mov edx, dword [esi + 0x18]
jmp 0x4782f0
cmp ebx, 0x43b6ad13
je 0x478361
cmp ebx, 0x7df2dfc5
jne 0x4782f0
mov dword [esi + 0x28], edx
mov ebx, edi
jmp 0x4782f0
mov ebx, 0x7df2dfc5
mov dword [esi + 0x28], edx
jmp 0x4782f0
mov eax, dword [esi + 4]
add eax, 4
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x2c]
jmp 0x47838f
mov eax, dword [esi + 8]
mov ecx, dword [0x60aa88]
mov edx, dword [0x60aa8c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete byte [esi + 0x14]
sete al
mov ecx, 0x8c874760
mov edi, 0x4d68e82b
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 8]
setl dl
mov ebx, 0x8c874760
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
mov eax, 0xbc4e5a6d
nop dword [eax]
cmp eax, 0x36d61406
jle 0x4783f0
cmp eax, 0x36d61407
je 0x478425
cmp eax, 0x4d68e82b
jne 0x4783d0
jmp 0x478430
cmp eax, 0x8c874760
je 0x478429
cmp eax, 0xbc4e5a6d
jne 0x4783d0
movzx edx, byte [esi + 0x14]
movzx eax, byte [esi + 8]
mov ah, dl
xor ah, al
mov edi, 0x8c874760
mov ebx, 0x36d61407
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
test dl, dl
cmove eax, edi
jmp 0x4783d0
mov eax, ecx
jmp 0x4783d0
mov eax, 0x36d61407
jmp 0x4783d0
mov eax, dword [esi + 0x58]
cmp eax, dword [esi + 0x28]
je 0x47873f
mov ecx, dword [0x60aa90]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x60aa94]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x37]
sete dl
mov ecx, 0xdbbf45d4
mov ebx, 0x89d6c0b5
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 0x14]
setl dh
mov edi, 0xdbbf45d4
cmovge ecx, edi
xor dh, dl
cmovne ecx, ebx
mov edx, 0xaf530581
nop word cs:[eax + eax]
cmp edx, 0xdbbf45d3
jg 0x4784e0
cmp edx, 0x89d6c0b5
je 0x478500
cmp edx, 0xaf530581
jne 0x478490
movzx ebx, byte [esi + 0x37]
movzx edx, byte [esi + 0x14]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0xdbbf45d4
mov edi, 0x3983e5e3
cmovne edx, edi
test bl, bl
mov edi, 0xdbbf45d4
cmove edx, edi
test bh, bh
mov edi, 0x3983e5e3
cmovne edx, edi
jmp 0x478490
cmp edx, 0xdbbf45d4
je 0x4784f4
cmp edx, 0x3983e5e3
jne 0x478490
mov edx, ecx
jmp 0x478490
mov edx, 0x3983e5e3
jmp 0x478490
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov dword [esi + 0x14], ecx
mov ecx, dword [eax]
mov dword [esi + 8], ecx
mov ecx, 0xce6e8c2f
nop dword [eax + eax]
cmp ecx, 0xce6e8c2e
jg 0x478550
cmp ecx, 0x85fa3530
je 0x478590
cmp ecx, 0xc79b93d4
jne 0x478520
mov ecx, 0x85fa3530
mov ebx, eax
mov edi, dword [esi + 4]
jmp 0x478520
cmp ecx, 0xe387238e
je 0x478575
cmp ecx, 0xce6e8c2f
jne 0x478520
mov ecx, dword [esi + 0x14]
cmp ecx, dword [esi + 8]
mov ecx, 0xe387238e
mov edx, 0xc79b93d4
cmovl ecx, edx
jmp 0x478520
mov ecx, 0x85fa3530
mov ebx, dword [esi + 4]
mov edi, eax
jmp 0x478520
mov dword [esi + 0x30], edi
lea edi, [eax + 4]
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
mov dword [esi + 0x14], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 8], ecx
mov ecx, 0xce6e8c2f
nop dword [eax]
cmp ecx, 0xce6e8c2e
jg 0x4785e0
cmp ecx, 0x85fa3530
je 0x478630
cmp ecx, 0xc79b93d4
jne 0x4785b0
mov ecx, 0x85fa3530
mov dword [esi + 0x24], edi
mov edx, dword [esi + 0x18]
jmp 0x4785b0
cmp ecx, 0xe387238e
je 0x478617
cmp ecx, 0xce6e8c2f
jne 0x4785b0
mov ecx, dword [esi + 0x14]
cmp ecx, dword [esi + 8]
mov ecx, 0xe387238e
mov dword [esi + 0x2c], edi
mov edi, edx
mov edx, eax
mov eax, ebx
mov ebx, 0xc79b93d4
cmovl ecx, ebx
mov ebx, eax
mov eax, edx
mov edx, edi
mov edi, dword [esi + 0x2c]
jmp 0x4785b0
mov ecx, 0x85fa3530
mov edx, dword [esi + 0x18]
mov dword [esi + 0x24], edx
mov edx, edi
jmp 0x4785b0
mov ecx, dword [ebx]
mov edi, dword [0x60aa78]
lea ebx, [edi + 1]
imul ebx, edi
mov edi, ebx
xor edi, 0xfffffffe
test edi, ebx
sete bh
cmp dword [0x60aa7c], 0xa
setl bl
or bl, bh
cmp ecx, dword [edx]
jle 0x47875b
test bl, bl
je 0x4788a0
mov eax, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x37]
cmp ecx, 0xa
setl byte [esi + 0x14]
mov eax, 0xb8cd7b43
nop dword [eax]
cmp eax, 0xceb3811a
jg 0x4786d0
cmp eax, 0x82f24137
je 0x478731
cmp eax, 0xb8cd7b43
jne 0x478690
movzx ecx, byte [esi + 0x37]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x82f24137
mov edi, 0x47b76182
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x478690
cmp eax, 0xceb3811b
je 0x478380
cmp eax, 0x47b76182
jne 0x478690
lea eax, [esi + 0x58]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
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, 0x82f24137
mov ebx, 0xceb3811b
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x478690
add dword [esi + 0x58], 8
mov eax, 0x47b76182
jmp 0x478690
mov dword [esi + 0xe8], 0xb
lea ecx, [esi + 0x40]
push dword [esi + 4]
call fcn.0044f650
mov edi, 0x8c874760
jmp 0x4787a9
test bl, bl
mov edi, 0x8c874760
mov ebx, dword [esi + 0x24]
je 0x47879b
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
mov ecx, dword [0x60aa78]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x60aa7c], 0xa
setl dl
test dl, cl
jne 0x4787a9
xor dl, cl
jne 0x4787a9
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
jmp 0x478767
mov eax, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x58]
cmp ecx, 0xa
setl byte [esi + 0x14]
mov eax, 0xb8cd7b43
nop word cs:[eax + eax]
cmp eax, 0xceb3811a
jg 0x478820
cmp eax, 0x82f24137
je 0x478883
cmp eax, 0xb8cd7b43
jne 0x4787e0
movzx ecx, byte [esi + 0x58]
movzx eax, byte [esi + 0x14]
mov edx, ecx
xor dl, al
mov edx, 0x82f24137
mov ebx, 0x47b76182
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x4787e0
cmp eax, 0xceb3811b
je 0x478107
cmp eax, 0x47b76182
jne 0x4787e0
lea eax, [esi + 0x38]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add dword [eax], 8
mov edx, dword [0x60aa98]
mov ecx, dword [0x60aa9c]
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, 0x82f24137
mov ebx, 0xceb3811b
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4787e0
add dword [esi + 0x38], 8
mov eax, 0x47b76182
jmp 0x4787e0
jmp 0x4788a0
mov eax, dword [0x60aa78]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
setne al
cmp dword [0x60aa7c], 0xa
setge cl
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
mov byte [esi + 0x78], cl
mov eax, dword [esi + 0x40]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x3c], eax
mov eax, dword [0x60aa80]
mov dword [esi + 0x30], eax
mov eax, dword [0x60aa84]
mov dword [esi + 0x18], eax
je 0x4791c0
mov eax, dword [esi + 0x30]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
and eax, 1
sete al
mov edi, dword [esi + 0x18]
cmp edi, 0xa
setl cl
xor cl, al
mov ecx, 0x43b6ad13
mov ebx, 0xd78bfc94
cmovne ebx, ecx
and edx, 1
mov dword [esi + 0x28], edx
sete byte [esi + 0x38]
mov eax, dword [esi + 4]
mov dword [esi + 0x14], eax
cmovne ecx, ebx
cmp edi, 0xa
mov edi, ecx
setl byte [esi + 8]
cmovge edi, ebx
mov ebx, 0x1c1ffc7c
mov edx, 0x7df2dfc5
nop word cs:[eax + eax]
cmp ebx, 0x43b6ad12
jg 0x478990
cmp ebx, 0xd78bfc94
je 0x4789a4
cmp ebx, 0x1c1ffc7c
jne 0x478950
movzx eax, byte [esi + 0x38]
movzx ecx, byte [esi + 8]
mov ah, cl
xor ah, al
test cl, cl
mov ebx, 0xd78bfc94
cmovne ebx, edx
test al, al
mov ecx, 0xd78bfc94
cmove ebx, ecx
test ah, ah
cmovne ebx, edx
jmp 0x478950
cmp ebx, 0x43b6ad13
je 0x4789ab
cmp ebx, 0x7df2dfc5
jne 0x478950
mov ebx, edi
jmp 0x478950
mov ebx, 0x7df2dfc5
jmp 0x478950
cmp byte [esi + 0x78], 0
jne 0x478a68
mov edx, dword [esi + 0x28]
test edx, edx
sete byte [esi + 0x38]
sete al
mov edx, 0x43b6ad13
mov ecx, 0xd78bfc94
mov edi, 0xd78bfc94
cmove edi, edx
cmp dword [esi + 0x18], 0xa
cmovge edi, ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x14], ecx
setl cl
setl byte [esi + 8]
xor cl, al
cmovne edi, edx
mov ebx, 0x1c1ffc7c
jmp 0x478a00
mov ebx, 0x7df2dfc5
nop dword [eax + eax]
cmp ebx, 0x43b6ad12
jg 0x478a50
cmp ebx, 0xd78bfc94
je 0x4789f3
cmp ebx, 0x1c1ffc7c
jne 0x478a00
movzx eax, byte [esi + 0x38]
movzx ecx, byte [esi + 8]
mov ah, al
xor ah, cl
mov edx, 0xd78bfc94
mov ebx, 0x7df2dfc5
cmovne edx, ebx
test cl, cl
mov ebx, edx
mov ecx, 0x7df2dfc5
cmovne ebx, ecx
test al, al
cmove ebx, edx
jmp 0x478a00
cmp ebx, 0x43b6ad13
je 0x4788f1
cmp ebx, 0x7df2dfc5
jne 0x478a00
mov ebx, edi
jmp 0x478a00
mov dword [esi + 4], 0
mov edi, dword [esi + 0x24]
mov ecx, dword [esi + 0x2c]
jmp 0x478a92
mov edx, dword [esi + 0x24]
add edx, dword [esi + 4]
sub edx, dword [esi + 0x18]
mov eax, dword [esi + 8]
mov ecx, dword [0x60aa88]
mov edi, dword [0x60aa8c]
mov dword [esi + 4], edx
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete byte [esi + 0x38]
sete al
mov ecx, 0x8c874760
mov ebx, 0x4d68e82b
cmove ecx, ebx
cmp edi, 0xa
setl byte [esi + 8]
setl dl
mov edi, 0x8c874760
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
mov eax, 0xbc4e5a6d
cmp eax, 0x36d61406
jle 0x478af0
cmp eax, 0x36d61407
je 0x478b25
cmp eax, 0x4d68e82b
jne 0x478ad0
jmp 0x478b30
cmp eax, 0x8c874760
je 0x478b29
cmp eax, 0xbc4e5a6d
jne 0x478ad0
movzx edx, byte [esi + 0x38]
movzx eax, byte [esi + 8]
mov ah, dl
xor ah, al
mov ebx, 0x8c874760
mov edi, 0x36d61407
cmovne ebx, edi
test al, al
mov eax, ebx
cmovne eax, edi
test dl, dl
cmove eax, ebx
jmp 0x478ad0
mov eax, ecx
jmp 0x478ad0
mov eax, 0x36d61407
jmp 0x478ad0
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x3c]
je 0x478d01
mov ecx, dword [0x60aa90]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x60aa94]
sete byte [esi + 0x58]
sete bl
mov ecx, 0xdbbf45d4
mov edi, 0x89d6c0b5
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 0x38]
setl dl
mov edi, 0xdbbf45d4
cmovge ecx, edi
xor dl, bl
mov edx, 0x89d6c0b5
cmovne ecx, edx
mov edx, 0xaf530581
nop word [eax + eax]
cmp edx, 0xdbbf45d3
jg 0x478be0
cmp edx, 0x89d6c0b5
je 0x478bfb
cmp edx, 0xaf530581
jne 0x478b90
movzx ebx, byte [esi + 0x58]
movzx edx, byte [esi + 0x38]
mov dh, bl
xor dh, dl
mov edi, 0xdbbf45d4
mov dword [esi + 0x18], eax
mov eax, 0x3983e5e3
cmovne edi, eax
test dl, dl
mov edx, edi
cmovne edx, eax
mov eax, dword [esi + 0x18]
test bl, bl
cmove edx, edi
jmp 0x478b90
cmp edx, 0xdbbf45d4
je 0x478bf4
cmp edx, 0x3983e5e3
jne 0x478b90
mov edx, ecx
jmp 0x478b90
mov edx, 0x3983e5e3
jmp 0x478b90
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [0x60aa98]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, dword [ecx]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x24], eax
mov ecx, dword [0x60aa9c]
sete byte [esi + 0x58]
cmp ecx, 0xa
setl byte [esi + 0x38]
mov ecx, 0xb8cd7b43
nop word cs:[eax + eax]
cmp ecx, 0xceb3811a
jg 0x478c90
cmp ecx, 0x82f24137
je 0x478cf3
cmp ecx, 0xb8cd7b43
jne 0x478c40
movzx ebx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x38]
mov bh, bl
xor bh, cl
test cl, cl
mov ecx, 0x82f24137
mov eax, 0x47b76182
cmovne ecx, eax
test bl, bl
mov edi, 0x82f24137
cmove ecx, edi
test bh, bh
cmovne ecx, eax
jmp 0x478c40
cmp ecx, 0xceb3811b
je 0x478a77
cmp ecx, 0x47b76182
jne 0x478c40
lea eax, [esi + 0x14]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
add dword [ecx], 8
mov edi, dword [0x60aa98]
mov ebx, dword [0x60aa9c]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp ebx, 0xa
setl ah
xor ah, al
mov eax, 0x82f24137
mov edx, 0xceb3811b
cmovne eax, edx
test edi, ecx
mov ecx, eax
cmove ecx, edx
cmp ebx, 0xa
cmovge ecx, eax
jmp 0x478c40
add dword [esi + 0x14], 8
mov ecx, 0x47b76182
jmp 0x478c40
cmp dword [esi + 4], 0x12345678
jne 0x478d14
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x60aa78]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60aa7c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x478d45
or cl, al
jne 0x478f42
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x14]
cmp ecx, 0xa
setl byte [esi + 8]
mov eax, 0xbb35c726
mov ebx, 0x363212d3
nop word cs:[eax + eax]
cmp eax, 0x363212d2
jg 0x478dc0
cmp eax, 0x892b3f0e
je 0x478e28
cmp eax, 0xbb35c726
jne 0x478d80
movzx ecx, byte [esi + 0x14]
movzx eax, byte [esi + 8]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x41d9d43f
cmovne eax, ebx
test cl, cl
mov ecx, 0x41d9d43f
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x478d80
cmp eax, 0x363212d3
je 0x478ddd
cmp eax, 0x41d9d43f
jne 0x478d80
lea ecx, [esi + 0x40]
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x478d80
lea ecx, [esi + 0x40]
call fcn.00434d30
mov edx, dword [0x60aaa0]
mov edi, dword [0x60aaa4]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp edi, 0xa
setl bh
xor bh, bl
mov ebx, 0x41d9d43f
mov ecx, 0x892b3f0e
cmovne ebx, ecx
test edx, eax
mov eax, ebx
cmove eax, ecx
cmp edi, 0xa
cmovge eax, ebx
jmp 0x478d6d
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0xbb35c726
lea edi, [esi + 0x60]
nop word cs:[eax + eax]
cmp eax, 0x363212d2
jg 0x478eb0
cmp eax, 0x892b3f0e
je 0x478f12
cmp eax, 0xbb35c726
jne 0x478e60
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x41d9d43f
mov ebx, 0x363212d3
cmovne eax, ebx
test cl, cl
mov ecx, 0x41d9d43f
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x478e60
cmp eax, 0x363212d3
je 0x478ecc
cmp eax, 0x41d9d43f
jne 0x478e60
mov ecx, edi
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x478e60
mov ecx, edi
call fcn.00434d30
mov eax, dword [0x60aaa0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x41d9d43f
mov ebx, 0x892b3f0e
cmove eax, ebx
cmp dword [0x60aaa4], 0xa
mov edx, 0x41d9d43f
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x478e60
mov eax, dword [0x60aa78]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60aa7c], 0xa
setl cl
test cl, al
jne 0x4790e8
xor cl, al
jne 0x4790e8
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x14]
cmp ecx, 0xa
setl byte [esi + 8]
mov eax, 0xbb35c726
lea edi, [esi + 0x40]
jmp 0x478fb0
mov ecx, edi
call fcn.00434d30
mov eax, dword [0x60aaa0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x41d9d43f
mov ebx, 0x892b3f0e
cmove eax, ebx
cmp dword [0x60aaa4], 0xa
mov edx, 0x41d9d43f
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
nop
cmp eax, 0x363212d2
jg 0x478ff0
cmp eax, 0x892b3f0e
je 0x479010
cmp eax, 0xbb35c726
jne 0x478fb0
movzx ecx, byte [esi + 0x14]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x41d9d43f
mov ebx, 0x363212d3
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x478fb0
cmp eax, 0x363212d3
je 0x478f6f
cmp eax, 0x41d9d43f
jne 0x478fb0
mov ecx, edi
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x478fb0
mov eax, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov eax, 0xbb35c726
lea edi, [esi + 0x60]
nop dword [eax + eax]
cmp eax, 0x363212d2
jg 0x479080
cmp eax, 0x892b3f0e
je 0x478d45
cmp eax, 0xbb35c726
jne 0x479040
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 0x40]
mov edx, ecx
xor dl, al
mov edx, 0x41d9d43f
mov ebx, 0x363212d3
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x479040
cmp eax, 0x363212d3
je 0x47909c
cmp eax, 0x41d9d43f
jne 0x479040
mov ecx, edi
call fcn.00434d30
mov eax, 0x363212d3
jmp 0x479040
mov ecx, edi
call fcn.00434d30
mov edx, dword [0x60aaa0]
mov ecx, dword [0x60aaa4]
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, 0x41d9d43f
mov ebx, 0x892b3f0e
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x479040
mov eax, dword [0x60aaa8]
mov edx, dword [0x60aaac]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x950cf27b
mov edi, 0xbccfcb5a
cmovne edi, eax
cmp ecx, 0xffffffff
sete byte [esi + 0x40]
cmovne eax, edi
cmp edx, 0xa
setl byte [esi + 0x60]
cmovge eax, edi
mov edi, 0x4ab881b3
mov edx, 0xf01bf543
cmp edi, 0xf01bf542
jg 0x479156
cmp edi, 0x950cf27b
je 0x479191
cmp edi, 0xbccfcb5a
jne 0x479137
mov edi, 0xf01bf543
jmp 0x479137
cmp edi, 0xf01bf543
je 0x47918d
cmp edi, 0x4ab881b3
jne 0x479137
movzx ebx, byte [esi + 0x40]
movzx ecx, byte [esi + 0x60]
mov bh, cl
xor bh, bl
test cl, cl
mov edi, 0xbccfcb5a
cmovne edi, edx
test bl, bl
mov ecx, 0xbccfcb5a
cmove edi, ecx
test bh, bh
cmovne edi, edx
jmp 0x479137
mov edi, eax
jmp 0x479137
mov eax, dword [0x60aab0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60aab4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x4791d1
or cl, al
jne 0x47920b
jmp 0x4791d1
mov eax, dword [esi + 0x30]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
jmp 0x4789b8
lea eax, [esi + 0xa0]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
mov eax, dword [0x60aab0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60aab4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x47921a
or cl, al
je 0x47921a
lea eax, [esi + 0xa0]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
jmp 0x4791d1
mov eax, dword [0x60a988]
mov ecx, dword [0x60a98c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xc]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov edi, 0x3def23ff
mov edx, 0xde9169b
cmp edi, 0xde9169a
jg 0x479271
cmp edi, 0x8e89d987
je 0x4792ee
cmp edi, 0xcc8e990
jne 0x479248
mov word [esi + 0x1c], 0x7a61
mov edi, 0xde9169b
jmp 0x479248
cmp edi, 0xde9169b
je 0x4792a2
cmp edi, 0x3def23ff
jne 0x479248
movzx ecx, byte [esi + 0xc]
mov bh, byte [esi + 0x40]
mov bl, cl
xor bl, bh
mov eax, 0xcc8e990
cmovne eax, edx
test bh, bh
mov edi, eax
cmovne edi, edx
test cl, cl
cmove edi, eax
jmp 0x479248
lea eax, [esi + 0x1c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov word [eax], 0x7a61
mov eax, dword [0x60a988]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0xcc8e990
mov ebx, 0x8e89d987
cmove edi, ebx
cmp dword [0x60a98c], 0xa
mov ecx, 0xcc8e990
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, ebx
jmp 0x479248
mov eax, dword [esi + 0x60]
sub esp, 4
movzx eax, byte [esi + 0x40]
mov byte [esp], al
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0043dd20
mov ecx, edi
call fcn.0040d170
mov dword [esi + 0xe8], 9
xor eax, eax
jmp 0x479329
mov eax, dword [esi + 0x18]
inc eax
cmp eax, 0x3e8
je 0x4795e2
mov dword [esi + 0x18], eax
movsx eax, byte [esi + 0x1d]
movsx edx, byte [esi + 0x1c]
mov dword [esi + 0xe8], 9
lea ecx, [esi + 0x1c]
push eax
push edx
lea eax, [esi + 0x38]
push eax
call fcn.00435510
mov edx, dword [0x60a990]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x60a994], 0xa
setl dh
setge dl
cmp dh, ah
jne 0x47937a
or dl, cl
test dl, 1
jne 0x4795e0
movsx eax, al
lea ecx, [esi + 0x60]
push eax
call fcn.00436970
lea ecx, [esi + 0x60]
call fcn.005664d0
cmp byte [eax], 0x6f
je 0x479401
mov ecx, dword [0x60a990]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60a994], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x4793bc
or cl, al
test cl, 1
jne 0x4793ee
lea ecx, [esi + 0x60]
call fcn.005664d0
mov edx, dword [0x60a990]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x60a994], 0xa
setge dl
setl bl
xor bl, dh
jne 0x4793f8
or dl, cl
test dl, 1
je 0x4793f8
lea ecx, [esi + 0x60]
call fcn.005664d0
jmp 0x4793bc
cmp byte [eax], 0x75
jne 0x47931a
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.0040d830
mov dword [esi + 0xc], eax
mov ecx, edi
call fcn.0040d830
add eax, dword [esi + 0x70]
mov dword [esi + 4], eax
jmp 0x479423
mov eax, dword [esi + 0x40]
mov eax, dword [0x60a998]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x60a99c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 8]
sete cl
mov eax, 0x4a293c83
mov ebx, 0x61c5fcf1
cmove eax, ebx
cmp edx, 0xa
setl byte [esi + 0x40]
setl dl
mov edi, 0x4a293c83
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
mov ecx, 0x354728f5
nop dword [eax]
cmp ecx, 0x4a293c82
jle 0x479490
cmp ecx, 0x4a293c83
je 0x4794c7
cmp ecx, 0x61c5fcf1
jne 0x479470
jmp 0x4794e0
cmp ecx, 0xb74ba074
je 0x4794ce
cmp ecx, 0x354728f5
jne 0x479470
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 0x40]
mov ch, dl
xor ch, cl
mov ebx, 0x4a293c83
mov edi, 0xb74ba074
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x479470
mov ecx, 0xb74ba074
jmp 0x479470
mov ecx, eax
jmp 0x479470
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 4]
je 0x47931a
movsx eax, byte [ebx]
push eax
call fcn.005de535
add esp, 4
mov ecx, eax
xor cl, 0xf5
and cl, al
mov byte [ebx], cl
mov eax, dword [0x60a9a0]
mov ecx, dword [0x60a9a4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x14]
cmp ecx, 0xa
setl byte [esi + 8]
mov eax, 0xc2538ca0
nop dword [eax]
cmp eax, 0x1ec364a7
jg 0x479550
cmp eax, 0xc2538ca0
je 0x4795a8
cmp eax, 0xbc7d055
jne 0x479530
inc dword [esi + 0xc]
mov eax, 0x640d1264
jmp 0x479530
cmp eax, 0x1ec364a8
je 0x479420
cmp eax, 0x640d1264
jne 0x479530
lea eax, [esi + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
inc dword [eax]
mov eax, dword [0x60a9a0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xbc7d055
mov edi, 0x1ec364a8
cmove eax, edi
cmp dword [0x60a9a4], 0xa
mov edx, 0xbc7d055
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x479530
movzx ecx, byte [esi + 0x14]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0xbc7d055
mov edi, 0x640d1264
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x479530
jmp 0x4795e0
mov eax, dword [0x60a990]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60a994], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x479615
or cl, al
jne 0x47973f
jmp 0x479615
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 0xc]
mov edi, 0x1d50f87a
nop dword [eax]
cmp edi, 0xb86c542
jg 0x479660
cmp edi, 0xcb7dce01
je 0x47969c
cmp edi, 0xf454cecc
jne 0x479640
jmp 0x479704
cmp edi, 0xb86c543
je 0x4796ab
cmp edi, 0x1d50f87a
jne 0x479640
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 0xc]
mov edx, ecx
xor dl, al
test al, al
mov edi, 0xcb7dce01
mov ebx, 0xb86c543
cmovne edi, ebx
test cl, cl
mov ecx, 0xcb7dce01
cmove edi, ecx
test dl, dl
cmovne edi, ebx
jmp 0x479640
lea ecx, [esi + 0x60]
call fcn.0040d830
mov edi, 0xb86c543
jmp 0x479640
lea ecx, [esi + 0x60]
call fcn.0040d830
mov ebx, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
mov dword [esi + 4], ecx
lea edx, [ebx + 1]
imul edx, ebx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ecx, 0xcb7dce01
mov ebx, 0xf454cecc
cmovne ecx, ebx
cmp edx, 0xffffffff
mov edi, ecx
cmove edi, ebx
cmp dword [esi + 4], 0xa
cmovge edi, ecx
add eax, 0xd7
mov dword [esi + 4], eax
jmp 0x479640
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov edx, dword [0x60a990]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dh
cmp dword [0x60a994], 0xa
setge dl
setl bl
xor bl, dh
jne 0x479838
or dl, cl
test dl, 1
je 0x479838
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 0xc]
mov edi, 0x1d50f87a
jmp 0x4797c0
lea ecx, [esi + 0x60]
call fcn.0040d830
mov ebx, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
mov dword [esi + 4], ecx
lea edx, [ebx + 1]
imul edx, ebx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ecx, 0xcb7dce01
mov ebx, 0xf454cecc
cmovne ecx, ebx
cmp edx, 0xffffffff
mov edi, ecx
cmove edi, ebx
cmp dword [esi + 4], 0xa
cmovge edi, ecx
add eax, 0xd7
mov dword [esi + 4], eax
nop
cmp edi, 0xb86c542
jg 0x4797e0
cmp edi, 0xcb7dce01
je 0x47981b
cmp edi, 0xf454cecc
jne 0x4797c0
jmp 0x47982a
cmp edi, 0xb86c543
je 0x47976a
cmp edi, 0x1d50f87a
jne 0x4797c0
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 0xc]
mov edx, ecx
xor dl, al
mov edx, 0xcb7dce01
mov ebx, 0xb86c543
cmovne edx, ebx
test al, al
mov edi, edx
cmovne edi, ebx
test cl, cl
cmove edi, edx
jmp 0x4797c0
lea ecx, [esi + 0x60]
call fcn.0040d830
mov edi, 0xb86c543
jmp 0x4797c0
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
jmp 0x479615
cmp byte [eax], 0x31
jne 0x479941
mov eax, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 0xc]
mov ebx, 0x1d50f87a
cmp ebx, 0xb86c542
jg 0x479887
cmp ebx, 0xcb7dce01
je 0x4798be
cmp ebx, 0xf454cecc
jne 0x47986a
jmp 0x479929
cmp ebx, 0xb86c543
je 0x4798cd
cmp ebx, 0x1d50f87a
jne 0x47986a
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 0xc]
mov edx, ecx
xor dl, al
mov edx, 0xcb7dce01
mov edi, 0xb86c543
cmovne edx, edi
test al, al
mov ebx, edx
cmovne ebx, edi
test cl, cl
cmove ebx, edx
jmp 0x47986a
lea ecx, [esi + 0x60]
call fcn.0040d830
mov ebx, 0xb86c543
jmp 0x47986a
lea ecx, [esi + 0x60]
call fcn.0040d830
mov ebx, dword [0x60a9a8]
mov ecx, dword [0x60a9ac]
mov dword [esi + 4], ecx
lea edx, [ebx + 1]
imul edx, ebx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ecx, 0xcb7dce01
mov ebx, 0xf454cecc
cmovne ecx, ebx
test edi, edx
mov ebx, ecx
mov edx, 0xf454cecc
cmove ebx, edx
cmp dword [esi + 4], 0xa
cmovge ebx, ecx
add eax, 0x2d0
mov dword [esi + 4], eax
jmp 0x47986a
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
cmp byte [eax], 0x30
jne 0x479941
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [esi + 0x60]
call fcn.0040f050
mov eax, dword [0x60aab8]
mov ecx, dword [0x60aabc]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 0x40]
mov edx, 0x6b8f4a63
mov eax, 0x77a70aa6
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0x77a70aa6
setl byte [esi + 0x60]
setl bh
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov edi, 0x7b36b5ff
mov edx, 0x817df9d3
cmp edi, 0x77a70aa5
jg 0x4799b1
cmp edi, 0x817df9d3
je 0x4799e7
cmp edi, 0x6b8f4a63
jne 0x479997
jmp 0x4799f2
cmp edi, 0x77a70aa6
je 0x4799eb
cmp edi, 0x7b36b5ff
jne 0x479997
movzx ecx, byte [esi + 0x40]
mov bh, byte [esi + 0x60]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0x77a70aa6
cmovne edi, edx
test cl, cl
mov ecx, 0x77a70aa6
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x479997
mov edi, eax
jmp 0x479997
mov edi, 0x817df9d3
jmp 0x479997
mov eax, dword [0x60aab0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60aab4], 0xa
setge cl
setl ah
xor ah, dl
jne 0x479a1f
or cl, al
jne 0x479a83
mov eax, dword [esi + 0xc4]
sub esp, 0x30
vmovaps ymm0, ymmword [0x5f0f60]
vmovups ymmword [esp + 0xc], ymm0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 8], 0x5f8210
mov dword [esp], 0
vzeroupper
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [0x60aab0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60aab4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x479ac3
or cl, al
test cl, 1
je 0x479ac3
mov eax, dword [esi + 0xc4]
sub esp, 0x30
vmovaps ymm0, ymmword [0x5f0f60]
vmovups ymmword [esp + 0xc], ymm0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 8], 0x5f8210
mov dword [esp], 0
vzeroupper
call dword [sym.imp.USER32.dll_CreateWindowExA]
jmp 0x479a1f
mov dword [esi + 0xe8], 8
mov dword [esi + 0x60], 0xa
lea eax, [esi + 0x60]
push eax
call fcn.00473330
add esp, 4
mov ecx, dword [0x60aab0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60aab4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x479acd
or cl, al
test cl, 1
je 0x479acd
nop dword [eax]
jmp 0x479b10