Function at 0x1004904d
Capabilities:
Get common file path
Get file size
Query service status
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006c027
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x278
push ebx
push esi
mov dword [esp + 0x3c], ecx
xor esi, esi
mov dword [esp + 0x10], 0xfffd
inc esi
mov dword [esp + 0x18], esi
xor ebx, ebx
mov dword [esp + 0x2c], 0x1078932
push edi
mov dword [esp + 0x28], 0xcd9d754
mov edi, edx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], ebx
jmp 0x100490bd
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x248], 0xfffffffa
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x100490aa
inc dword [esp + 0x14]
xor edx, edx
inc dword [esp + 0x28]
mov eax, dword [esp + 0x30]
dec dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setne dl
sub edx, dword [esp + 0x14]
inc edx
jne 0x100490f2
mov eax, ebx
cmp dword [esp + 0x14], ebx
je 0x100490f4
mov eax, esi
xor ecx, ecx
cmp eax, 0x4981c586
mov eax, dword [esp + 0x2c]
setge cl
add eax, 0xb6fb96f
add eax, ecx
xor edx, edx
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setge dl
mov dword [esp + 0x250], edx
test edx, edx
je 0x10049145
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x10049168
push 0xbb5
push ebx
push ebx
push 0x1afe
call dword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x10049168
mov dword [esp + 0x14], ebx
jmp 0x10049161
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1004915d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x2b
jg 0x1004914b
push esi
lea ecx, [esp + 0x84]
call fcn.1000dfce
mov dword [esp + 0x28c], ebx
lea ecx, [esp + 0x118]
mov dword [esp + 0x34], esi
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x20], 0x2038e85a
mov dword [esp + 0x58], 0xfffffff9
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x7c], 0x3589fe57
mov dword [esp + 0x7c], 0xa3191b49
mov dword [esp + 0x28], ebx
mov dword [esp + 0x44], 0xcb302aff
push 3
call fcn.1000dfce
mov dword [esp + 0x1c], 0x1f0d
mov dword [esp + 0x3c], 0x88d514fa
mov dword [esp + 0x154], 0xa1dd7933
mov dword [esp + 0x30], 0xfffffffa
mov dword [esp + 0x44], 0x1692
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], 0x78453370
mov dword [esp + 0x14], ebx
jmp 0x10049219
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10049207
mov dword [esp + 0x14], ebx
jmp 0x1004923b
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x118]
mov dword [eax + ecx*4], 0xc556123d
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10049225
inc dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x80]
cmp ecx, dword [eax]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
setle dl
sub ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x44]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x28]
setg cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x58]
setg dl
mov dword [esp + 0x44], edx
xor edx, edx
cmp eax, ecx
setle dl
xor eax, eax
cmp edx, dword [esp + 0x44]
setne al
xor ecx, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
setge cl
xor edx, edx
imul ecx, ecx, 0x4c46
cmp ecx, eax
setle dl
add edx, 2
sub edx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
add ecx, dword [esp + 0x2c]
sub ecx, dword [esp + 0x3c]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], ecx
xor ecx, ecx
cmp dword [esp + 0x34], eax
mov eax, dword [esp + 0x80]
setl cl
xor edx, edx
cmp dword [eax], ecx
mov eax, dword [esp + 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x80]
setg cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [esp + 0x118]
setl dl
mov dword [eax + 8], edx
mov dword [esp + 0x18], 0xffffffea
jmp 0x100493cd
mov dword [esp + 0x34], 0xdc071782
mov dword [esp + 0x34], 0xfffffff9
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], ebx
jmp 0x10049365
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x19c], 0x60b96bc9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10049352
mov dword [esp + 0x14], ebx
jmp 0x10049385
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x194], 0xeef3aa79
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10049372
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100493a8
push 0x1b59
push 0x1de7
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x19c]
mov eax, dword [esp + 0x198]
mov eax, dword [esp + 0x198]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1b
jl 0x10049338
push dword [esp + 0x118]
call fcn.100511a2
or dword [esp + 0x290], 0xffffffff
pop ecx
push dword [esp + 0x80]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
call fcn.100511a2
mov eax, dword [0x1266f400]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
pop ecx
test al, 1
jne 0x100494c6
or eax, esi
mov dword [0x1266f400], eax
push ebx
mov dword [esp + 0x290], esi
push ebx
mov dword [0x1266f3e0], ebx
mov dword [0x1266f3e4], ebx
call fcn.1000f301
mov dword [0x1266f3e0], eax
mov dword [0x1266f3e8], ebx
mov dword [0x1266f3f0], ebx
mov byte [esp + 0x28c], 3
mov ecx, 0x1266f3e8
mov dword [esp + 0x174], eax
lea eax, [esp + 0x174]
push eax
push 0x10
push ebx
lea eax, [esp + 0x158]
mov dword [0x1266f3fc], 0x3f800000
push eax
mov dword [0x1266f3ec], ebx
call fcn.1000f0a5
push 0x1006c36f
mov dword [0x1266f3f4], 7
mov dword [0x1266f3f8], 8
call fcn.10051016
or dword [esp + 0x290], 0xffffffff
pop ecx
mov dword [esp + 0x1c], 0xfffffffb
lea ecx, [esp + 0x9c]
push 3
call fcn.1000dfce
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x18], 0xfffffff9
mov dword [esp + 0x3c], 6
mov dword [esp + 0x18], ebx
jmp 0x10049510
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x9c]
mov dword [eax + ecx*4], 7
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x100494fa
mov eax, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x2c]
cmp dword [esi + 4], ebx
setne dl
sub edx, eax
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
mov eax, dword [esp + 0x9c]
setne cl
imul ecx, dword [eax]
xor eax, eax
cmp ecx, dword [esi + 4]
setg al
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], ebx
je 0x1004959a
mov dword [esp + 0x2c], 0xa8d7d2a7
xor esi, esi
dec dword [esp + 0x2c]
inc esi
mov dword [esp + 0x18], ebx
jmp 0x10049591
mov dword [esp + 0x20], esi
cmp dword [esp + 0x20], ebx
jne 0x10049608
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x10049583
jmp 0x10049608
mov dword [esp + 0x14], 0x37a3
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
inc eax
add eax, dword [esp + 0x14]
je 0x100495f0
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x2c]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [esp + 0x14]
jl 0x100495d2
cmp dword [esi + 4], ebx
je 0x100495d2
xor eax, eax
inc eax
jmp 0x100495d4
mov eax, ebx
xor edx, edx
cmp eax, 2
mov eax, dword [esp + 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [esi + 4]
jge 0x100495f0
mov eax, dword [esp + 0x3c]
xor esi, esi
inc esi
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x3c], eax
push dword [esp + 0x9c]
call fcn.100511a2
imul eax, dword [esp + 0x44], 0x2710
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
pop ecx
add eax, edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x20], 0x230e
cmp dword [esp + 0x20], 0x981
jge 0x1004969c
mov edi, 0x1264ef0c
jmp 0x1004967f
push 0x2062b0
push 0xffffffffffffffff
push 0x12448c50
call fcn.1003c587
add esp, 0xc
mov edx, esi
mov ecx, esi
push ebx
push esi
call fcn.10048f27
push edx
push eax
push 0x10008e8c
call fcn.10051040
add esp, 0x14
push edi
push 0x12188a34
push 0x122164dc
push 0x1000918c
call fcn.10050e4b
add esp, 0x10
cmp eax, 0xffffffff
jne 0x10049651
mov dword [esp + 0x18], ebx
jmp 0x100496b1
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x140], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x100496a2
mov dword [esp + 0x148], ebx
jmp 0x100496e0
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100496d9
push ebx
push ebx
push 0x1289
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
dec dword [esp + 0x148]
cmp dword [esp + 0x148], 0xfffffff9
jl 0x100496c1
lea eax, [esp + 0x74]
push eax
call fcn.1004ac9d
push 3
lea ecx, [esp + 0xec]
mov esi, dword [eax]
call fcn.1000dfce
push 3
mov dword [esp + 0x18], ebx
pop edx
jmp 0x10049720
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1f4], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1004970d
mov dword [esp + 0x14], ebx
jmp 0x10049742
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xe8]
mov dword [eax + ecx*4], 0xd1e1e87d
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1004972c
mov edx, dword [esp + 0xe8]
push 2
pop edi
mov dword [edx + 4], edi
mov eax, dword [edx + 4]
mov ecx, dword [esp + eax*4 + 0x1f4]
mov eax, dword [edx + 4]
dec dword [edx + 4]
mov dword [esp + eax*4 + 0x1f4], ecx
jns 0x10049755
push dword [esp + 0xe8]
call fcn.100511a2
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
pop ecx
test esi, esi
je 0x100497a0
mov dword [esp + 0xc0], esi
jmp 0x1004aab3
push dword [esp + 0x14c]
movdqa xmm0, xmmword [0x10009260]
lea eax, [esp + 0x214]
push eax
lea eax, [esp + 0x208]
mov dword [esp + 0x50], ebx
push eax
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], ebx
movdqu xmmword [esp + 0x210], xmm0
mov dword [esp + 0x60], ebx
call fcn.10036af3
mov dword [esp + 0x14], 0xfffffffe
mov dword [esp + 0x20], 0xe458c458
mov dword [esp + 0x14], 3
cmp dword [esp + 0x14], ebx
jl 0x100498ce
mov edx, 0xa9d69236
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x34], 0xd0a3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
cmp dword [eax + ecx*4], ebx
je 0x10049882
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1b4]
mov eax, dword [esp + 0x48]
mov dword [eax + edx*4], ecx
xor edx, edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
cmp dword [eax + ecx*4], ebx
setne dl
cmp dword [esp + 0x1b8], 0xffffffff
sbb ecx, ecx
inc ecx
lea eax, [edx - 8]
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x14]
setg dl
imul eax, edx
mov dword [esp + 0x2c], eax
jmp 0x10049898
mov dword [esp + 0x20], 0xe637c5b1
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x14], ebx
jne 0x100498c4
mov eax, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + esi*4]
setge dl
mov dword [esp + 0x20], edx
mov edx, 0xa9d69236
dec dword [esp + 0x14]
jns 0x10049805
cmp dword [esp + 0x48], 0
je 0x100498eb
push dword [esp + 0x48]
call fcn.100511a2
pop ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov eax, dword [0x1266f400]
push 4
pop ecx
test al, 2
jne 0x10049990
or eax, edi
mov dword [0x1266f400], eax
push ebx
mov dword [esp + 0x290], ecx
push ebx
mov dword [0x1266f410], ebx
mov dword [0x1266f414], ebx
call fcn.1000f301
mov dword [0x1266f410], eax
mov dword [0x1266f418], ebx
mov dword [0x1266f420], ebx
mov byte [esp + 0x28c], 6
mov ecx, 0x1266f418
mov dword [esp + 0x150], eax
lea eax, [esp + 0x150]
push eax
push 0x10
push ebx
lea eax, [esp + 0x148]
mov dword [0x1266f42c], 0x3f800000
push eax
mov dword [0x1266f41c], ebx
call fcn.1000f0a5
push 0x1006c36a
mov dword [0x1266f424], 7
mov dword [0x1266f428], 8
call fcn.10051016
or dword [esp + 0x290], 0xffffffff
pop ecx
push dword [esp + 0x13c]
movdqa xmm0, xmmword [0x10009210]
lea eax, [esp + 0x234]
push eax
lea eax, [esp + 0x228]
mov dword [esp + 0x98], ebx
push eax
push ebx
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa4], ebx
movdqu xmmword [esp + 0x230], xmm0
mov dword [esp + 0xa8], ebx
call fcn.10036af3
mov dword [esp + 0x1c], 0x29000d4e
mov dword [esp + 0x1c], ebx
jmp 0x10049a25
mov dword [esp + 0x18], 0x76d7be7e
mov dword [esp + 0x18], ebx
jmp 0x10049a1a
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049a12
push 0x236d
push ebx
push 0x1f85
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov eax, dword [esp + 0x18]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jle 0x100499f6
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x100499e8
cmp dword [esp + 0x90], 0
je 0x10049a58
push dword [esp + 0x90]
call fcn.100511a2
pop ecx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
lea eax, [esp + 0x40]
xorps xmm0, xmm0
push eax
movdqu xmmword [esp + 0x168], xmm0
call fcn.1004acff
mov edi, dword [eax]
mov al, byte [ebp + 0xc]
mov dword [esp + 0x28], edi
test al, al
jne 0x10049a83
test edi, edi
jne 0x1004a13e
mov dword [esp + 0x1c], 0x3ae35568
xor esi, esi
mov dword [esp + 0x20], 0xeb905d09
inc esi
mov dword [esp + 0x20], 0x60693009
mov dword [esp + 0x20], 0x513244d5
mov dword [esp + 0x20], 3
mov dword [esp + 0x20], 0x7563ffaf
mov dword [esp + 0x20], 9
mov dword [esp + 0x20], 0x2076acb8
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 0xe81720d7
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], 0xffffffe2
cmp dword [esp + 0x1c], 0xf
jge 0x10049c00
mov edi, 0x1738
mov dword [esp + 0x1a4], edi
lea ecx, [esp + 0xd0]
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1b0], edi
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 0xdc0e3e76
push 4
mov dword [esp + 0x24], 0xaa9dade6
pop eax
mov dword [esp + 0x20], eax
push 7
pop eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x20], 0xfffffffc
mov dword [esp + 0x20], eax
mov dword [esp + 0x20], 6
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 0xd62a04f7
push esi
call fcn.1000dfce
mov dword [esp + 0x20], 0xf529
mov dword [esp + 0x18], ebx
jmp 0x10049bb1
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xd0]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10049b9b
dec dword [esp + 0x1a8]
inc dword [esp + 0x2c]
cmp dword [esp + 0xd0], 0
je 0x10049bee
push dword [esp + 0xd0]
call fcn.100511a2
pop ecx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xf
jl 0x10049b0e
mov al, byte [ebp + 0xc]
lea ecx, [esp + 0x270]
mov dl, al
push ecx
mov ecx, dword [esp + 0x44]
call fcn.1003dd84
mov esi, eax
lea edi, [esp + 0x168]
pop ecx
push 2
lea ecx, [esp + 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push edi
call fcn.1000dfce
mov dword [esp + 0x14], 0xfffffffd
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x10049c57
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x342eb90d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x10049c44
xor esi, esi
mov dword [esp + 0x14], ebx
inc esi
cmp dword [esp + 0x14], esi
jg 0x10049e15
mov dword [esp + 0x1c], 0x182eac45
mov dword [esp + 0x20], 0x23e3
cmp dword [esp + 0x20], 0xc89
jge 0x10049d16
lea eax, [esp + 0x78]
push eax
push 0x100089d4
call fcn.10050e4b
mov eax, dword [esp + 0x80]
xorps xmm1, xmm1
mov dword [esp + 0x94], ebx
mov esi, ebx
movsd qword [esp + 0x28], xmm1
pop ecx
pop ecx
test eax, eax
jle 0x10049cf3
lea eax, [esp + 0x8c]
push eax
push 0x100089d4
call fcn.10050e4b
movd xmm0, dword [esp + 0x94]
inc esi
mov eax, dword [esp + 0x80]
cvtdq2pd xmm1, xmm0
pop ecx
pop ecx
addsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0x20], xmm1
cmp esi, eax
jl 0x10049cba
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push ecx
push ecx
divsd xmm1, xmm0
movsd qword [esp], xmm1
push 0x10009194
call fcn.10051040
xor esi, esi
add esp, 0xc
inc esi
mov dword [esp + 0x18], 0x8e99
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x1c], ebx
jl 0x10049dcf
mov edi, dword [esp + 0x68]
mov dword [esp + 0x2c], 0xc4df8e3b
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x14]
cmp dword [edi + 4], 0xfffffff8
mov eax, dword [esp + 0x18]
sete dl
xor ecx, ecx
cmp eax, edx
push 1
setg cl
xor eax, eax
cmp eax, ecx
mov eax, dword [esp + 0x20]
sbb ecx, ecx
xor edx, edx
add ecx, 0x10000
cmp ecx, eax
mov eax, dword [esp + 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x20]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x6c]
setl dl
xor ecx, ecx
cmp dword [eax + esi*4], edx
mov eax, dword [esp + 0x18]
setl cl
mov dword [esp + 0x24], ecx
xor ecx, ecx
cmp dword [esp + 0x24], eax
setle cl
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x30]
cmp eax, dword [edx + esi*4]
pop esi
setl cl
mov dword [esp + 0x20], ecx
dec dword [esp + 0x1c]
jns 0x10049d30
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049de1
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esp + 0x18], ebx
jmp 0x10049dfe
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049dfa
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x10049de7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x10049c6e
push 2
pop edi
cmp dword [esp + 0x68], 0
je 0x10049e32
push dword [esp + 0x68]
call fcn.100511a2
pop ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
cmp byte [ebp + 0xc], 0
je 0x1004a13a
cmp dword [esp + 0x16c], 0
je 0x1004a13a
mov dword [esp + 0x1c], 0xac204e2d
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x1c], 0xfffffff7
jmp 0x10049e93
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049e7c
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegConnectRegistryW]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049e8f
push ebx
push ebx
call dword [sym.imp.GDI32.dll_RectInRegion]
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffee
jg 0x10049e68
cmp dword [esp + 0x30], ebx
jne 0x10049ec4
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x170]
push 3
mov dword [esp + 0xc8], eax
call fcn.1000dfce
mov dword [esp + 0x28c], 7
lea ecx, [esp + 0xa8]
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x1d4], 0xffffffff
mov dword [esp + 0x1d8], 0xffffffff
mov dword [esp + 0x1dc], 0xffffffff
mov dword [esp + 0x1e0], 0xffffffff
mov dword [esp + 0x20], esi
push esi
call fcn.1000dfce
mov byte [esp + 0x28c], 8
mov dword [esp + 0x14], ebx
jmp 0x10049f52
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10049f43
mov dword [esp + 0x14], ebx
jmp 0x10049f75
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xa8]
mov dword [eax + ecx*4], 0xfb49a5c1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10049f5f
mov dword [esp + 0x14], ebx
jmp 0x10049f9b
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049f97
push 0x1517
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x10049f81
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], ebx
jl 0x1004a0db
mov dword [esp + 0x30], 0x9c77509c
lea ecx, [esp + 0x100]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 0x466ac3a6
mov dword [esp + 0x20], 6
mov dword [esp + 0x20], 0xdaa08bbd
mov dword [esp + 0x20], 0x5300ce3d
mov dword [esp + 0x20], 0xffffffff
push 3
call fcn.1000dfce
mov dword [esp + 0x20], 0x5e320525
mov dword [esp + 0x18], ebx
jmp 0x1004a015
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], 0xa6c2e3a4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10049fff
mov eax, dword [esp + 0x14]
xor edx, edx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x5c]
mov eax, dword [eax + ecx*4]
mov ecx, 0xfffc
mov dword [esi + edi*4], eax
mov dword [esp + 0x1d4], ecx
mov eax, dword [esp + 0x14]
cmp eax, ecx
mov eax, dword [esp + 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x30]
setge cl
xor edx, edx
cmp dword [esi + edi*4], ecx
setle dl
add eax, edx
jne 0x1004a079
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
cmp dword [eax + ecx*4], ebx
jne 0x1004a079
mov eax, ebx
jmp 0x1004a07c
xor eax, eax
inc eax
xor edx, edx
cmp eax, 0xbe856dfc
setne dl
xor ecx, ecx
sub edx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
add edx, 2
cmp edx, eax
mov eax, dword [esp + 0xa8]
setne cl
mov dword [esp + 0x20], ecx
inc dword [eax]
cmp dword [esp + 0x100], 0
je 0x1004a0d1
push dword [esp + 0x100]
call fcn.100511a2
pop ecx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
dec dword [esp + 0x14]
jns 0x10049faf
cmp dword [esp + 0xa8], 0
je 0x1004a107
push dword [esp + 0xa8]
call fcn.100511a2
pop ecx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
or dword [esp + 0x28c], 0xffffffff
cmp dword [esp + 0x5c], 0
je 0x1004a12c
push dword [esp + 0x5c]
call fcn.100511a2
pop ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x16c]
mov dword [esp + 0xc8], eax
mov edi, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x1c], 0xb74c38b6
inc esi
lea ecx, [esp + 0xdc]
mov dword [esp + 0x30], esi
push 2
call fcn.1000dfce
mov dword [esp + 0x28], 0xc9b6cd04
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
jmp 0x1004a183
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xdc]
mov dword [eax + ecx*4], 0x4cbed562
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1004a16d
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x1c]
push 4
pop ecx
cmp ecx, eax
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0xdc]
sbb edx, edx
neg edx
sub edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], edx
sub edx, eax
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
xor eax, eax
cmp ecx, 0xffffffff
setl al
imul eax, eax, 0xabe8
test eax, eax
jne 0x1004a1df
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x28], ebx
je 0x1004a247
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a1fc
push ebx
push 0x3c1
call dword [sym.imp.USER32.dll_DrawFocusRect]
xor esi, esi
inc esi
push dword [esp + 0xdc]
call fcn.100511a2
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
pop ecx
test edi, edi
jne 0x1004a4e9
cmp dword [esp + 0x164], edi
jle 0x1004a4e9
mov dword [esp + 0x1c], 0x7e2799ac
mov dword [esp + 0x18], ebx
jmp 0x1004a2c9
mov dword [esp + 0x1c], 5
mov dword [esp + 0x18], ebx
jmp 0x1004a268
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x23c], 0xeea3821c
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1004a255
mov eax, dword [esp + 0x28]
mov dword [esi + 4], eax
mov dword [esp + 0x244], eax
test eax, eax
jne 0x1004a285
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
xor esi, esi
mov eax, dword [esp + 0x30]
inc esi
mov ecx, esi
sub ecx, eax
cmp dword [esp + 0x1c], ecx
jl 0x1004a2a2
mov eax, ebx
cmp dword [esp + 0x1c], ebx
je 0x1004a2a4
mov eax, esi
imul eax, eax, 3
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x20], eax
jmp 0x1004a1ff
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x230], 0x72fd4914
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1004a2b6
mov dword [esp + 0x1c], 0xffffffe6
jmp 0x1004a36f
mov dword [esp + 0x18], ebx
jmp 0x1004a2f6
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x158], 0x7cefa9d1
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1004a2e3
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a31e
push ebx
push 0xa4
push 0x2635
push 0xcc1
call dword [sym.imp.GDI32.dll_MoveToEx]
mov dword [esp + 0x160], 2
cmp dword [esp + 0x160], ebx
jl 0x1004a36b
mov eax, dword [esp + 0x160]
cmp dword [esp + eax*4 + 0x230], ebx
jne 0x1004a36b
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a362
push 0x20ea
push 0xff
push 0x1de3
call dword [sym.imp.GDI32.dll_GetPixel]
dec dword [esp + 0x160]
jns 0x1004a332
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffff7
jg 0x1004a2dd
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a391
push ebx
push 0x1d0c
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov dword [esp + 0x28], 0xffffffff
push 4
mov dword [esp + 0x20], 2
mov dword [esp + 0x1c], ebx
pop ecx
jmp 0x1004a3bd
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x260], 6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x1004a3aa
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a3e3
push 0x7d9
push 0xd1b
push 0xd22
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x28], 0x2d8c
push 3
sub eax, dword [esp + 0x20]
cmp eax, 0xffffffff
mov eax, 0xfff7
setle cl
cmp eax, ecx
lea ecx, [esp + 0xf8]
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
call fcn.1000dfce
mov dword [esp + 0x14], ebx
jmp 0x1004a446
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xf4]
mov dword [eax + ecx*4], 0xfdf99ff6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1004a430
push 4
mov dword [esp + 0x18], ebx
pop ecx
jmp 0x1004a465
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1e4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x1004a456
mov dword [esp + 0x1f0], 2
cmp dword [esp + 0x1f0], ebx
jl 0x1004a49f
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a496
push 0x37c
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
dec dword [esp + 0x1f0]
jns 0x1004a47f
cmp dword [esp + 0xf4], 0
je 0x1004a4cb
push dword [esp + 0xf4]
call fcn.100511a2
pop ecx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x1004a4e9
call fcn.12674000
mov edi, eax
lea eax, [esp + 0x40]
push eax
call fcn.1004acff
mov dword [eax], edi
lea ecx, [esp + 0x164]
call fcn.10044d17
mov dword [esp + 0x20], 0xfffffff6
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a50e
call dword [sym.imp.USER32.dll_CreateMenu]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a529
push 0x5ed
push 0x53d
call dword [sym.imp.USER32.dll_GetDlgItem]
test edi, edi
je 0x1004a86f
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0xa519d814
mov dword [esp + 0x2c], 0xfffffffa
mov dword [esp + 0x3c], 6
push 4
mov dword [esp + 0x58], 2
mov dword [esp + 0x1c], ebx
pop ecx
jmp 0x1004a571
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x178], 0x9841
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x1004a55e
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], 3
jg 0x1004a73c
jmp 0x1004a58b
push 4
pop ecx
mov dword [esp + 0x18], 0xebb6748f
push ecx
mov dword [esp + 0x2c], 7
lea ecx, [esp + 0x134]
mov dword [esp + 0x38], 0xffffffff
call fcn.1000dfce
mov dword [esp + 0x1c], ebx
jmp 0x1004a5c5
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x254], esi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x1004a5b6
push 4
mov dword [esp + 0x20], ebx
pop edx
jmp 0x1004a5e8
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x130]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x1004a5d5
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], ebx
jl 0x1004a65e
mov dword [esp + 0x1c], 0x6b6eb6b9
mov dword [esp + 0x1c], ebx
jmp 0x1004a62a
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a626
push 0x1b59
push 0x1de7
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x1004a60a
mov dword [esp + 0x1c], ebx
jmp 0x1004a651
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a64d
push 0x1f2e
call dword [sym.imp.GDI32.dll_DeleteDC]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x1004a637
dec dword [esp + 0x18]
jns 0x1004a5fc
mov eax, dword [esp + 0x14]
mov edx, esi
mov ecx, dword [esp + eax*4 + 0x178]
mov eax, dword [esp + 0x28]
inc dword [esp + 0x28]
cmp ecx, eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmovg edx, ebx
mov eax, dword [esp + eax*4 + 0x178]
cmp dword [esp + 0x3c], ebx
jne 0x1004a6a2
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x178], ebx
jne 0x1004a6a2
mov ecx, ebx
cmp dword [esp + 0x14], ebx
je 0x1004a6a4
mov ecx, esi
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x178]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
imul eax, ecx
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x178]
mov eax, dword [esp + 0x34]
add eax, 0x7f03
imul eax, eax, 0x3cd3
test eax, eax
jne 0x1004a6e3
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x54]
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x14]
setne dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x178]
cmp edx, eax
mov eax, dword [esp + 0x130]
setge cl
push eax
mov dword [eax + 0xc], ecx
call fcn.100511a2
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
pop ecx
jle 0x1004a588
mov edx, dword [esp + 0x38]
mov ecx, edi
call fcn.10048f1d
mov esi, eax
mov dword [esp + 0x1c], 0xffffffff
push 2
lea ecx, [esp + 0xb8]
mov dword [esp + 0xc4], esi
call fcn.1000dfce
mov dword [esp + 0x18], ebx
jmp 0x1004a782
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xb4]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1004a76c
mov dword [esp + 0x1c], 0x1a
cmp dword [esp + 0x1c], 0x12
jg 0x1004a81e
mov edi, dword [esp + 0xb4]
push 4
mov dword [esp + 0x3c], 1
mov dword [esp + 0x1c], ebx
pop ecx
jmp 0x1004a7c7
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x210], 0xfa32a17d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x1004a7b4
mov dword [esp + 0x21c], 3
xor ecx, ecx
mov eax, dword [esp + 0x38]
cmp eax, 0x77a7902c
setge cl
cmp ecx, dword [esp + 0x1c]
jle 0x1004a7f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x21c]
imul ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
add ecx, 8
cmp ecx, eax
setge dl
mov dword [edi + 4], edx
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x12
jle 0x1004a7a3
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a837
push 0x256b
push 6
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
cmp dword [esp + 0xb4], 0
je 0x1004a863
push dword [esp + 0xb4]
call fcn.100511a2
pop ecx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
lea eax, [esp + 0x74]
push eax
call fcn.1004ac9d
mov dword [eax], esi
push 3
lea ecx, [esp + 0x128]
call fcn.1000dfce
mov dword [esp + 0x28c], 9
lea ecx, [esp + 0x188]
mov dword [esp + 0x14], 0xffffffff
xor esi, esi
mov dword [esp + 0x1c4], 0xffffffff
inc esi
mov dword [esp + 0x1c8], 0xffffffff
mov dword [esp + 0x1cc], 0xffffffff
mov dword [esp + 0x1d0], 0xffffffff
mov dword [esp + 0x38], esi
push esi
call fcn.1000dfce
mov byte [esp + 0x28c], 0xa
mov dword [esp + 0x1c], ebx
jmp 0x1004a8f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x1004a8de
mov dword [esp + 0x1c], ebx
jmp 0x1004a913
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x188]
mov dword [eax + ecx*4], 0xfb49a5c1
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x1004a8fd
push 2
mov dword [esp + 0x18], ebx
pop esi
jmp 0x1004a93c
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004a938
push 0x1517
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x1004a922
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], ebx
jl 0x1004aa85
mov dword [esp + 0x28], 0x9c77509c
lea ecx, [esp + 0x10c]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x38], 0x466ac3a6
mov dword [esp + 0x38], 6
mov dword [esp + 0x38], 0xdaa08bbd
mov dword [esp + 0x38], 0x5300ce3d
mov dword [esp + 0x38], 0xffffffff
push 3
call fcn.1000dfce
mov dword [esp + 0x38], 0x5e320525
mov dword [esp + 0x18], ebx
jmp 0x1004a9b6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10c]
mov dword [eax + ecx*4], 0xa6c2e3a4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1004a9a0
mov eax, dword [esp + 0x14]
xor edx, edx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x124]
mov esi, dword [esp + 0x124]
mov eax, dword [eax + ecx*4]
mov ecx, 0xfffc
mov dword [esi + edi*4], eax
mov dword [esp + 0x1c4], ecx
mov eax, dword [esp + 0x14]
cmp eax, ecx
mov eax, dword [esp + 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x28]
setge cl
xor edx, edx
cmp dword [esi + edi*4], ecx
setle dl
add eax, edx
jne 0x1004aa23
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x124]
cmp dword [eax + ecx*4], ebx
jne 0x1004aa23
mov eax, ebx
jmp 0x1004aa26
xor eax, eax
inc eax
xor edx, edx
cmp eax, 0xbe856dfc
setne dl
xor ecx, ecx
sub edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
add edx, 2
cmp edx, eax
mov eax, dword [esp + 0x188]
setne cl
mov dword [esp + 0x38], ecx
inc dword [eax]
cmp dword [esp + 0x10c], 0
je 0x1004aa7b
push dword [esp + 0x10c]
call fcn.100511a2
pop ecx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
dec dword [esp + 0x14]
jns 0x1004a950
cmp dword [esp + 0x188], 0
je 0x1004aa9c
push dword [esp + 0x188]
call fcn.100511a2
pop ecx
cmp dword [esp + 0x124], 0
je 0x1004aab3
push dword [esp + 0x124]
call fcn.100511a2
pop ecx
mov eax, dword [ebp + 8]
lea esi, [esp + 0xc0]
mov ecx, dword [esp + 0x284]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret