Function at 0x520358
Capabilities:
Get number of processors

Disassembly:
add byte [ebx + 0x40], dh
add byte [eax + 0x63], bh
inc eax
add byte [ebx + 0x40], bh
add byte [eax + 0x63], dh
inc eax
add byte [edi + ebx*2 + 0x40], dl
add byte [eax + 0x5f], dh
inc eax
add byte [edi + ebx*2 + 0xe0040], ch
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
mov byte [edx], dl
inc eax
add byte [eax + eax], al
add byte [eax], al
mov byte [edx], dl
inc eax
add byte [eax + eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 0
add cl, byte [eax + 0x4004012]
add byte [eax], al
add byte [edi], al
inc ebx
popal
jo 0x520044
imul ebp, dword [edi + 0x6e], 0xc0020002
cwde
dec edx
add byte [eax], cl
add byte [eax], al
add byte [ecx], al
pop eax
add al, byte [eax]
add cl, byte [eax + 0xc004012]
add byte [eax], al
add byte [edx], cl
push ebp
outsb dx, byte [esi]
imul ebp, dword [esi + 0x73], 0x74615074
push 0x20002
adc byte [eax], al
adc byte [eax], al
add byte [eax], al
or edx, dword [eax + 0x61]
imul esp, dword [esi + edx*2 + 0x65], 0x6f697372
outsb dx, byte [esi]
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
push cs
push esp
push ebp
outsb dx, byte [esi]
imul ebp, dword [esi + 0x73], 0x6f725074
jne 0x520086
je 0x52004d
add byte [edx], dl
pop es
push cs
push esp
push ebp
outsb dx, byte [esi]
imul ebp, dword [esi + 0x73], 0x6f725074
jne 0x52009a
je 0x51ffd9
call dword [ecx]
je 0x52005b
inc eax
add byte [eax], al
add byte [edx], cl
ja 0x5200b8
jae 0x52009b
push ebp
outsb dx, byte [esi]
imul ebp, dword [esi + 0x73], 0x784574
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov al, 0
push edx
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax + 0x5200], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2c005200], dh
add edx, dword [edx]
retf 0x5200
inc eax
add byte [eax + 0x5c004060], al
arpl word [eax], ax
push esp
arpl word [eax], ax
je 0x5200f9
inc eax
add byte [eax + 0x63], bh
inc eax
add byte [ebx + 0x40], bh
add byte [eax + 0x63], dh
inc eax
add byte [edi + ebx*2 + 0x40], dl
add byte [eax + 0x5f], dh
inc eax
add byte [ebx + edx], dh
push edx
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax + 0x4004012], cl
add byte [eax], al
add byte [eax + 0x38004012], cl
add byte [eax], al
mov byte [edx], dl
inc eax
add byte [eax + eax], al
add byte [eax], al
mov byte [edx], dl
inc eax
add byte [eax], bh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi], cl
add byte [ecx], al
mov byte [edx], dl
inc eax
add byte [eax + eax], al
add byte [eax], al
or al, 0x73
push esp
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
bound esp, qword [ecx + 0x72]
dec esi
popal
insd dword es:[edi], dx
add al, byte gs:[eax]
add dword [eax], eax
adc byte [eax], al
or byte [eax], al
add byte [eax], al
or al, 0x62
push edx
jae 0x52015e
je 0x52014e
popal
jb 0x520162
push 0x10002
adc byte [eax], al
or dword [eax], eax
add byte [eax], al
push cs
bound edx, qword [edx + 0x65]
jae 0x520176
je 0x52015b
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x520179
add al, byte gs:[bx + si]
add eax, eax
cwde
dec edx
add byte [eax + eax], cl
add byte [eax], al
add al, 0x46
outsd dx, dword [esi]
jb 0x520197
add al, byte [eax]
add eax, eax
cwde
dec edx
add byte [eax], dl
add byte [eax], al
add byte [ebx], cl
push eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
inc edx
outsd dx, dword [esi]
je 0x5201b3
outsd dx, dword [esi]
insd dword es:[edi], dx
add al, byte [eax]
add eax, eax
cwde
dec edx
add byte [eax + eax], dl
add byte [eax], al
or dword [eax + 0x61], edx
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
dec esp
imul esi, dword [ebx + 0x74], 0xc0010002
cwde
dec edx
add byte [eax], bl
add byte [eax], al
add byte [edi], al
pop eax
push ebx
popal
jb 0x5201cb
push 0xc0010002
cwde
dec edx
add byte [eax + eax], bl
add byte [eax], al
or dword [eax + 0x48], ebx
dec eax
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x5201dd
add al, byte gs:[bx + si]
add eax, eax
cwde
dec edx
add byte [eax], ah
add byte [eax], al
add byte [esi], cl
pop eax
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x5201f5
inc edx
jb 0x520202
ja 0x520208
jb 0x52020b
jae 0x52019b
add al, byte [eax]
add eax, eax
cwde
dec edx
add byte [eax + eax], ah
add byte [eax], al
pop es
add byte [ecx], al
rcr byte [eax + 0x24004a], 0
add byte [edi], al
insb byte es:[edi], dx
bound ebp, qword [eax + ecx*2 + 0x65]
insb byte es:[edi], dx
jo 0x5201ae
add byte [ecx], al
nop
pop edx
dec esi
add byte [eax], ch
add byte [eax], al
add byte [edx], al
dec eax
push esp
add al, byte [eax]
add dword [ebx + eax], esp
dec edx
add byte [eax + eax], ch
add byte [eax], al
add eax, dword [edx + 0x4d]
push eax
add al, byte [eax]
add esp, ebx
add byte [esi], 0x30
add byte [eax], al
add byte [ebx], al
inc ebx
add al, byte [bx + si]
fadd qword [edx + 0x300046]
add byte [eax], al
add eax, dword [ebx + 0x66]
add al, byte [bx + si]
add dword [esi + eax*2 + 0x340047], ebp
add byte [eax + eax], dh
add byte [eax], al
or byte [eax + 0x72], dl
outsd dx, dword [esi]
jne 0x52024c
je 0x52025e
add al, byte [eax]
add cl, byte [eax + 0x38004012]
add byte [eax], al
add byte [eax], cl
jae 0x520241
insb byte es:[edi], dx
jo 0x520252
push edx
dec esp
add al, byte [eax]
add byte [eax], al
add eax, 0x52023d00
add byte [0x52023d00], al
add byte [eax + eax - 0xc], al
invalid
hlt
push edx
add byte [esi], al
inc ebx
jb 0x5202ac
popal
je 0x5202af
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
sub byte [ebx], al
push edx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax], al
adc byte [eax], al
add al, byte [eax]
push cs
bound eax, qword [ebx + 0x6c]
outsd dx, dword [esi]
jae 0x5202d4
inc edx
jb 0x5202e1
ja 0x5202e7
jb 0x5202ea
add al, byte [eax]
add al, byte [eax]
daa
add byte [ebx + edx], dh
push edx
add byte [edi], al
inc esp
jae 0x5202fa
jb 0x5202f7
jns 0x52028d
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [eax], ch
add edx, dword [edx]
add byte [eax], al
add al, 0x53
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
sub byte [ebx], al
push edx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
sub al, 0
movsb byte es:[edi], byte [esi]
adc edx, dword [edx]
or al, 0x4c
outsd dx, dword [esi]
popal
push eax
jb 0x52031f
outsd dx, dword [esi]
jne 0x520316
je 0x520328
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
sub byte [ebx], al
push edx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
daa
add byte [eax + 0x7005219], ah
pop es
inc ebp
js 0x52033d
arpl word [ebp + 0x74], si
add eax, dword gs:[eax]
add byte [eax], dl
inc eax
add byte [eax], cl
add byte [ecx], al
or byte [eax], ch
add edx, dword [edx]
add byte [eax], al
add al, 0x53
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
xor dword [eax], eax
sbb al, 0x1a
push edx
add byte [ecx], dl
push ebp
outsb dx, byte [esi]
imul ebp, dword [esi + 0x73], 0x6c6c6174
outsb dx, byte [esi]
jae 0x520376
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
push eax
jb 0x520377
jne 0x52036e
je 0x520380
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
sub byte [ebx], al
push edx
add byte [eax], al
add byte [ebx + edx*2], al
or byte [eax], ch
add edx, dword [edx]
add byte [eax], al
add al, 0x53
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
sub al, 3
push edx
add byte [edi], al
or eax, 0x696e5554
outsb dx, byte [esi]
jae 0x5203a9
inc esi
outsd dx, dword [esi]
jb 0x5203a6
inc ebp
js 0x5202ec
add byte [edx], dl
je 0x52035e
push edx
add byte [ebp + ebx + 0x40], dh
inc eax
add byte [eax], al
add byte [edx], cl
ja 0x5203bb
push ebp
outsb dx, byte [esi]
imul ebp, dword [esi + 0x73], 0x784574
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
fmul dword [ecx + 0x5d89dc5d]
loopne 0x5202ff
pop ebp
in al, 0x89
pop ebp
cld
test dl, dl
je 0x520387
add esp, 0xfffffff0
call fcn.004065b4
invalid
mov byte [ebp - 0xa], cl
mov byte [ebp - 9], dl
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x520d29
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x520cef
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
add eax, 4
call fcn.00407c30
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 8]
ror byte [ecx + 0x458b3450], cl
clc
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x20], edx
call fcn.0048c1fc
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0x30], ebx
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, ebx
mov ecx, 0x520d60
mov edx, 0x520d7c
call fcn.00468848
mov eax, dword [ebp - 0x1c]
mov edx, 0x520d98
call fcn.00408ca4
sete byte [ebp - 0x11]
push 0
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x520da8
mov edx, 0x520d7c
call fcn.00468848
mov eax, dword [ebp - 0x20]
mov edx, 0x520d98
call fcn.00408ca4
sete byte [ebp - 0x12]
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x520dc0
mov edx, 0x520d7c
call fcn.00468848
mov eax, dword [ebp - 0x24]
mov edx, 0x520d98
call fcn.00408ca4
sete byte [ebp - 0x13]
mov eax, dword [ebp - 8]
call fcn.005213a4
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0
jne 0x520485
mov eax, dword [ebp - 8]
add eax, 4
mov edx, 0x520dd8
call fcn.00408010
lea ecx, [ebp - 0x28]
mov edx, 0x520e00
mov eax, 0x520e4c
call fcn.0048d654
mov edx, dword [ebp - 0x28]
xor eax, eax
call fcn.004b44e0
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], ebx
xor edx, edx
push ebp
push 0x520cde
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, ebx
mov edx, 0x80c80000
call fcn.004b7130
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x433]
or edx, 8
call fcn.004b717c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
xor edx, edx
mov dword [eax + 0x5db], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x452], edx
mov dword [eax + 0x44e], 0x521af4
mov edx, 0xffffff
call fcn.004b8798
call fcn.004c3d88
cmp al, 7
jb 0x520537
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b93f0
mov edx, 0x520e70
call fcn.004b05f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b93f0
mov edx, 9
call fcn.004b04f8
jmp 0x520561
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b93f0
mov edx, 0x520e90
call fcn.004b05f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b93f0
mov edx, 8
call fcn.004b04f8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0x1e0
call fcn.004b966c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0xc9
call fcn.004b9640
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b9834
mov cl, 7
mov edx, 0x20
mov eax, 0x20
call fcn.004bcbd8
mov edx, dword [ebp - 8]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x4eb]
push eax
call sub.gdi32.dll_CreateSolidBrush
mov ebx, eax
push ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x10]
push eax
push 0
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.004afc40
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
call fcn.004bd7e8
call fcn.004b17a0
push eax
call sub.user32.dll_FillRect
push ebx
call sub.gdi32.dll_DeleteObject
push 0x7f02
push 0
call sub.user32.dll_LoadIconW
push eax
push 0
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
call fcn.004bd7e8
call fcn.004b17a0
push eax
call sub.user32.dll_DrawIcon
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b4958
mov ebx, eax
mov ecx, 0x18
mov edx, 0x14
mov eax, ebx
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x10]
mov eax, ebx
call fcn.004b8d5c
mov eax, dword [ebp - 8]
push eax
push 0x521ab4
mov eax, ebx
call fcn.004b9198
mov eax, ebx
call fcn.004b7cf4
lea ecx, [ebp - 4]
mov edx, 0x520eac
mov eax, 0x520f50
call fcn.0048d654
movzx eax, byte [0x520f6c]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov edx, 0x520f7c
mov eax, dword [ebp - 4]
call fcn.00426868
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 4]
call fcn.00408058
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
call fcn.004b48fc
mov ebx, eax
mov ecx, 0x18
mov edx, 0x3c
mov eax, ebx
call fcn.004c3eec
mov ecx, 0x2d
mov edx, 0x17c
mov eax, ebx
call fcn.004b8d5c
mov eax, ebx
call fcn.004b7cf4
lea ecx, [ebp - 4]
mov edx, 0x520f94
mov eax, 0x52108c
call fcn.0048d654
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
xor edx, edx
call fcn.004b48fc
mov esi, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0x24], esi
mov ebx, esi
mov eax, esi
mov ecx, 0x46
mov edx, 0x3c
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
mov ecx, 0x2d
mov edx, 0x17c
call fcn.004b8d5c
mov eax, dword [ebp - 8]
push eax
push 0x521d84
mov eax, ebx
call fcn.004b9198
mov eax, dword [ebp - 8]
push eax
push 0x521d9c
mov eax, ebx
call fcn.004b70a8
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x521e30
mov eax, ebx
call fcn.004c517c
mov dl, 1
mov eax, dword [0x4e570c]
call fcn.004e8190
mov edx, dword [ebp - 8]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
call fcn.004b8448
mov edx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 8]
mov dword [eax + 0x34], edx
mov dword [eax + 0x30], 0x521bf8
mov edx, dword [ebp - 8]
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], 0x521c80
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx]
xor ebx, ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov dl, 2
call fcn.004b49ac
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x14]
mov ecx, 0x4e
mov edx, 0x3c
mov eax, esi
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b9624
push eax
mov eax, esi
call fcn.004b83b0
pop edx
sub edx, eax
mov ecx, 0x64
mov eax, esi
call fcn.004b8d5c
mov eax, esi
call fcn.004b7d3c
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b4828
mov esi, eax
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b8448
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004b8d5c
mov dl, 1
mov eax, esi
call fcn.004b9be0
xor edx, edx
mov eax, esi
call fcn.004b5ca0
mov eax, esi
call fcn.004b7cf4
add ebx, 0x17
cmp byte [ebp - 0xa], 0
je 0x5208ce
lea ecx, [ebp - 4]
mov edx, 0x5210b0
mov eax, 0x521118
call fcn.0048d654
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.004b4828
mov edx, dword [ebp - 8]
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x20]
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b8448
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004b8d5c
mov dl, 1
mov eax, esi
call fcn.004b9be0
mov eax, esi
call fcn.004b7cf4
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp dword [eax + 0x34], 0
je 0x5209a0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5209a0
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x34]
mov edi, dword [ebp - 0x10]
mov edx, edi
mov eax, esi
call fcn.00444558
mov edi, eax
movzx eax, byte [edi + 0x10]
xor al, 1
or al, byte [ebp - 0x12]
je 0x520994
mov edx, dword [edi + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b4828
mov esi, eax
mov dword [edi + 8], esi
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b8448
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004b8d5c
mov dl, 1
mov eax, esi
call fcn.004b5ca0
cmp byte [edi + 0x10], 0
je 0x52096f
xor edx, edx
mov eax, esi
call fcn.004b9be0
mov byte [esi + 0x409], 1
jmp 0x520981
movzx edx, byte [ebp - 0x13]
mov eax, esi
call fcn.004b9be0
mov byte [esi + 0x409], 0
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x40a], eax
mov eax, esi
call fcn.004b7cf4
add ebx, 0x17
inc dword [ebp - 0x10]
dec dword [ebp - 0x18]
jne 0x5208f8
mov eax, dword [ebp - 8]
cmp byte [eax + 8], 0
je 0x520a42
lea ecx, [ebp - 4]
mov edx, 0x52114c
mov eax, 0x5211c0
call fcn.0048d654
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.004b4828
mov edx, dword [ebp - 8]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x18]
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b8448
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004b8d5c
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x5211f0
mov edx, 0x520d7c
call fcn.00468848
mov eax, dword [ebp - 0x40]
mov edx, 0x520d98
call fcn.00408ca4
sete dl
mov eax, esi
call fcn.004b9be0
mov dl, 1
mov eax, esi
call fcn.004b5ca0
mov eax, esi
call fcn.004b7cf4
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp byte [eax + 9], 0
je 0x520ae4
lea ecx, [ebp - 4]
mov edx, 0x521208
mov eax, 0x521270
call fcn.0048d654
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.004b4828
mov edx, dword [ebp - 8]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x1c]
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b8448
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004b8d5c
push 0
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x5212a4
mov edx, 0x520d7c
call fcn.00468848
mov eax, dword [ebp - 0x44]
mov edx, 0x520d98
call fcn.00408ca4
sete dl
mov eax, esi
call fcn.004b9be0
mov dl, 1
mov eax, esi
call fcn.004b5ca0
mov eax, esi
call fcn.004b7cf4
add ebx, 0x17
lea edx, [ebx + 5]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b84a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov dl, 2
call fcn.004b49ac
mov edx, dword [ebp - 8]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b9624
mov edx, eax
mov ecx, 0x2e
mov eax, ebx
call fcn.004b8d5c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b9608
push eax
mov eax, ebx
call fcn.004b848c
pop ecx
sub ecx, eax
xor edx, edx
mov eax, ebx
call fcn.004c3eec
push 0xf
call sub.user32.dll_GetSysColor
mov edx, eax
mov eax, ebx
call fcn.004b8798
mov eax, ebx
call fcn.004b7cf4
lea ecx, [ebp - 4]
mov edx, 0x5212bc
mov eax, 0x5212ec
call fcn.0048d654
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.004b4884
mov ebx, eax
mov ecx, 0xf
mov edx, 0x14
mov eax, ebx
call fcn.004c3eec
mov eax, ebx
call fcn.004b93f0
movzx edx, byte [0x521308]
call fcn.004b07fc
mov eax, ebx
call fcn.004b93f0
mov edx, 0xff0000
call fcn.004b0450
mov dl, 1
mov eax, ebx
call fcn.004c39fc
push 0x7f89
push 0
call sub.user32.dll_LoadCursorW
mov edx, eax
mov eax, ebx
call fcn.004b71c8
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x521b28
mov eax, ebx
call fcn.004b7cf4
lea ecx, [ebp - 4]
mov edx, 0x521318
mov eax, 0x521318
call fcn.0048d654
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.004b4754
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.004b8d5c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b8448
mov edx, eax
sub edx, 0x6a
mov ecx, 0xa
mov eax, esi
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x521b18
mov eax, esi
call fcn.004b7cf4
lea ecx, [ebp - 4]
mov edx, 0x52132c
mov eax, 0x52132c
call fcn.0048d654
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.004b4754
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.004b8d5c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b8448
mov edx, eax
sub edx, 0xce
mov ecx, 0xa
mov eax, esi
call fcn.004c3eec
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x521b08
mov eax, esi
call fcn.004b7cf4
cmp byte [ebp - 0x11], 0
je 0x520cd0
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.00521b28
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x520ce5
ret