Function at 0x1004c4de
Capabilities:
Accept command line arguments
Enumerate gui resources

Disassembly:
mov eax, 0x1008cb67
call fcn.1008b0b0
sub esp, 0x104
mov dword [ebp - 0x18], edx
push ebx
push esi
push edi
push 3
pop esi
test cl, cl
je 0x1004cd11
push esi
lea ecx, [ebp - 0x70]
call fcn.10015795
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x1c], 0x509e13c9
mov dword [ebp - 0x10], ebx
jmp 0x1004c533
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], 0xae9714a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1004c523
mov dword [ebp - 0x18], 2
push 1
pop edi
cmp dword [ebp - 0x18], ebx
jl 0x1004c662
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], edi
lea ecx, [ebp - 0xb0]
push esi
call fcn.10015795
mov dword [ebp - 0x10], ebx
jmp 0x1004c576
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa4], 0x702e6337
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1004c565
mov dword [ebp - 0x10], ebx
jmp 0x1004c594
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1004c581
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1004c5c2
push 0xf98
push ebx
push ebx
push 0x1719
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov eax, dword [ebp - 0x20]
mov ecx, edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0xa0], ecx
jne 0x1004c5ea
mov ecx, ebx
cmp dword [ebp - 0xa4], ebx
je 0x1004c5ec
mov ecx, edi
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, ecx
xor ecx, ecx
cmp eax, dword [edx + 8]
setge cl
cmp ecx, dword [ebp - 0x24]
jle 0x1004c60a
mov eax, dword [ebp - 0x70]
cmp dword [eax], ebx
mov eax, ebx
jne 0x1004c60c
mov eax, edi
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ecx + 4]
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xffffffff
setne al
imul ecx, eax, 0xe12f
mov eax, dword [ebp - 0xb0]
mov dword [eax], ecx
lea ecx, [ebp - 0xb0]
call fcn.10015a17
dec dword [ebp - 0x18]
jns 0x1004c551
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x70]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
or dword [ebp - 4], 0xffffffff
call fcn.10015a17
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0x10], 0xf94964a5
mov dword [ebp - 0x10], ebx
jmp 0x1004c6c2
cmp byte [ebp - 0x11], bl
je 0x1004c6bf
push ebx
push 0x105
push 0x7d3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
mov byte [ebp - 0x11], bl
jle 0x1004c69b
cmp byte [ebp - 0x11], bl
je 0x1004c6d6
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
push dword [ebp - 0x1c]
movdqa xmm0, xmmword [0x100098e0]
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x94], ebx
push eax
push ebx
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x90], ebx
movdqu xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0x8c], ebx
call fcn.10015dab
mov dword [ebp - 4], edi
mov dword [ebp - 0x24], 0x683648bd
mov dword [ebp - 0x10], ebx
jmp 0x1004c732
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x30], 0x5c8094a1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1004c724
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], ebx
jl 0x1004c7d2
push esi
lea ecx, [ebp - 0x88]
call fcn.10015795
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x20], 0xe28de637
mov dword [ebp - 0x20], 0xd8c53784
mov dword [ebp - 0x10], ebx
jmp 0x1004c77c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0x34d0069
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1004c769
mov eax, dword [ebp - 0x88]
xor edx, edx
imul ecx, dword [eax], 0x6f58
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x20], edx
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x88]
mov ecx, edi
setle dl
sub ecx, dword [eax]
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x88]
call fcn.10015a17
dec dword [ebp - 0x30]
jns 0x1004c743
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.10015a17
mov dword [ebp - 0x1c], 0xb4e1a362
lea ecx, [ebp - 0x100]
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], 0xb4ebb0cb
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0xa149cec7
mov dword [ebp - 0x1c], 0x3c0bf90a
mov dword [ebp - 0x1c], 0x47adf1ad
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x1c], 0x12d2c87
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0xf13e13a6
push edi
call fcn.10015795
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0x488a9733
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], ebx
jmp 0x1004c86e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0xfbce008f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1004c85b
dec dword [ebp - 0x20]
lea ecx, [ebp - 0x100]
call fcn.10015a17
mov dword [ebp - 0x10], ebx
jmp 0x1004c894
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34], 0x5b9b55bb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1004c886
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], 0xffffffeb
jmp 0x1004c8da
mov dword [ebp - 0x10], ebx
jmp 0x1004c8b4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1004c8aa
mov dword [ebp - 0x48], ebx
jmp 0x1004c8d1
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004c8ce
call dword [sym.imp.USER32.dll_GetCapture]
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0x1a
jg 0x1004c8bf
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jge 0x1004c8a5
mov dword [ebp - 0x34], ebx
jmp 0x1004cd03
push 2
lea ecx, [ebp - 0x7c]
call fcn.10015795
push 9
pop edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], 0xfb656d4c
mov dword [ebp - 0x10], ebx
jmp 0x1004c90f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1004c903
mov dword [ebp - 0x10], ebx
jmp 0x1004c928
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x40], 0xf1febaee
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1004c91a
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], edi
jg 0x1004ca19
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], 0x5b689063
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004c953
push ebx
call dword [sym.imp.GDI32.dll_CreatePalette]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x24], 0xfffffff6
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
sub edx, eax
mov eax, dword [ebp - 0x38]
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setle dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x7c]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
imul ecx, dword [eax]
mov eax, dword [ebp - 0x10]
sub ecx, 0x640f4466
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x10]
sub edx, 0x1404
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x7c]
setle cl
xor edx, edx
cmp dword [eax + esi*4], ecx
setl dl
xor eax, eax
cmp edx, 0xd55be984
setne al
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004ca0a
push ebx
push ebx
call dword [sym.imp.USER32.dll_EnumWindows]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jle 0x1004c939
push 3
pop esi
lea ecx, [ebp - 0x7c]
call fcn.10015a17
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0x85b5f732
mov dword [ebp - 0x10], ebx
jmp 0x1004ca45
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x58], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1004ca37
mov dword [ebp - 0x18], 0x12
jmp 0x1004cb1f
mov dword [ebp - 0x10], 0x5ba7723
lea ecx, [ebp - 0xbc]
push esi
call fcn.10015795
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], ebx
jmp 0x1004ca85
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0xf2e07230
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x1004ca72
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
sub eax, 0x58d8a66b
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], ebx
jmp 0x1004cb0c
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x58]
sub eax, 5
cmp eax, 5
jbe 0x1004cacf
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0xbc]
mov dword [eax], edi
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x58], edi
jge 0x1004cae3
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x58]
test eax, eax
mov eax, dword [ebp - 0x4c]
setne cl
sub ecx, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x58]
add eax, ecx
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1004cab9
lea ecx, [ebp - 0xbc]
call fcn.10015a17
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe7
jle 0x1004ca57
mov dword [ebp - 0x18], 0xffffffe6
jmp 0x1004cbc2
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x28], 0xbe30
cmp dword [ebp - 0x10], ebx
jne 0x1004cb95
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
sub edx, 0x564f
cmp edx, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x54], eax
setle cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, edi
cmp dword [ebp - 0x24], ebx
jne 0x1004cbbc
mov eax, ebx
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe9
jge 0x1004cb35
cmp byte [ebp - 0x11], 0
je 0x1004cd00
mov dword [ebp - 0x10], 0xd313dd33
mov dword [ebp - 0x24], 0x76d6092f
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x10], 0x16
jmp 0x1004ccdd
mov dword [ebp - 0x20], 0x9eeda585
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x1c], 0xb807220
mov dword [ebp - 0x2c], ebx
jmp 0x1004cc22
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x9c], 0x8f28
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x1004cc11
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0xda73
setne cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov ecx, dword [ebp - 0x24]
setle dl
xor eax, eax
cmp edx, 0x39032f82
setge al
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
je 0x1004cc81
mov edx, edi
cmp dword [ebp - 0x24], ebx
jne 0x1004cc83
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setle cl
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x98]
jl 0x1004cca9
mov ecx, ebx
cmp dword [ebp - 0x20], ebx
je 0x1004ccab
mov ecx, edi
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x98]
setle cl
xor edx, edx
cmp ecx, 0xe06d
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 8
jge 0x1004cbf7
push 0x173a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jge 0x1004c8e7
jmp 0x1004cff9
mov dword [ebp - 0x10], 0xfffffffc
mov eax, 0x8d72a67f
mov dword [ebp - 0xe4], eax
xor ebx, ebx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x1c], 0x2e4ed383
push 2
mov dword [ebp - 0x1c], 0x8f1edd1e
mov dword [ebp - 0x24], ebx
pop edi
jmp 0x1004cd57
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x64], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1004cd4d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1004cd6a
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], edi
push 1
pop edi
jg 0x1004ce33
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0xffffffff
setge al
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1c], eax
setg cl
imul ecx, ecx, 0xa8e5
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebp + eax*4 - 0x64]
jge 0x1004cdc4
mov eax, dword [ebp - 0x10]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0x64], ebx
je 0x1004cdc6
mov ecx, edi
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x64]
imul eax, ecx
xor ecx, ecx
imul eax, eax, 0x2e58
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x64]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x64]
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x5c]
cmp ecx, edi
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1004ce26
push ebx
push 0xb24
push 0x1803
push 0x1062
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x1004cd79
mov dword [ebp - 0x10], 0x7dfa
lea ecx, [ebp - 0xc8]
push edi
call fcn.10015795
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], ebx
jmp 0x1004ce61
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 0xfb871c7b
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1004ce4e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc8]
mov dword [eax], ecx
mov dword [ebp - 0x10], ebx
jmp 0x1004cf16
mov dword [ebp - 0x20], 0x50e6da50
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1004cecd
push 0x1823
push 0x23c0
push 0x1685
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x191
push 0x3ef
push 0x1bba
push 0x1ae8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1004cf13
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1004cf0e
push 0x1c3c
push 0x1753
push 0x261e
push 0x220d
push 0x10ec
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawStateW]
dec dword [ebp - 0x20]
jns 0x1004ced5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1004ce79
lea ecx, [ebp - 0xc8]
call fcn.10015a17
mov dword [ebp - 0x28], 0x1bf506e6
lea ecx, [ebp - 0xd4]
push esi
call fcn.10015795
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x2c], 0x2a42bbd4
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0xe458c458
mov dword [ebp - 0x24], ebx
jmp 0x1004cf6d
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1004cf5e
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, edi
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0xd4]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp dword [esi], ecx
jl 0x1004cfb0
mov eax, ebx
cmp dword [esi + 4], ebx
je 0x1004cfb2
mov eax, edi
mov esi, dword [esi]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
lea ecx, [ebp - 0xd4]
setl dl
xor eax, eax
imul edx, esi
cmp edx, esi
setg al
mov dword [ebp - 0x1c], eax
call fcn.10015a17
mov edx, dword [ebp - 0x18]
mov dword [edx], ebx
cmp dword [edx], edi
jge 0x1004cff9
mov esi, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [edx]
cmp dword [edx], edi
jl 0x1004cfe8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret