Function at 0x47145c
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
push ebx
push esi
push edi
xor esi, esi
lea eax, [ebp - 0x78]
mov dword [ebp - 0x28], esi
mov edi, ecx
push dword [ebp - 0x28]
movdqa xmm0, xmmword [0xaa6020]
lea ecx, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0x3c], esi
push eax
push esi
movdqu xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
call fcn.00437a9c
mov dword [ebp - 0x18], 0x84c506d4
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], 3
jg 0x471700
push 5
pop eax
push 4
pop ecx
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x54]
push 3
call fcn.00437959
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4714ea
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x30], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x4714dc
mov dword [ebp - 4], eax
jmp 0x471501
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x54]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x4714f5
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x10], ecx
jl 0x471529
mov dword [ebp - 0x30], 9
cmp dword [ebp - 0x10], ebx
jl 0x471521
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
mov edx, eax
inc ecx
je 0x47152b
mov edx, ebx
mov esi, dword [ebp - 0x18]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
mov ecx, dword [ebp - 0x3c]
setle bl
xor edx, edx
cmp dword [ecx + esi*4], ebx
setle dl
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4716d0
xor ebx, ebx
mov dword [ebp - 0xc], 0xffffffff
inc ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x24], eax
jne 0x47158b
mov edx, eax
cmp dword [ebp - 0xc], ebx
jle 0x47158d
mov edx, ebx
xor ecx, ecx
cmp edx, 7
sete cl
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0xc]
imul edx, dword [ecx + 0xc]
xor ecx, ecx
cmp edx, 0xffffffff
setg cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jne 0x4715bc
mov ecx, dword [ebp - 0x54]
mov esi, ebx
cmp dword [ecx + 4], eax
jne 0x4715be
mov esi, eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x3c]
push 5
sub esi, dword [ecx + 8]
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp esi, dword [ecx]
mov esi, dword [ebp - 0x2c]
setg dl
mov ecx, dword [ebp - 0x14]
sub edx, 0xfffffffc
neg edx
sbb edx, edx
inc edx
add esi, edx
pop edx
cmp edx, ecx
push 4
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, esi
pop ecx
setg dl
cmp ecx, edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
mov ecx, dword [ebp - 0xc]
setne bl
xor edx, edx
cmp ebx, ecx
setge dl
sub edx, 6
jne 0x471629
cmp dword [ebp - 0x20], eax
jne 0x471629
mov esi, eax
jmp 0x47162c
xor esi, esi
inc esi
mov edx, dword [ebp - 0x18]
xor ebx, ebx
mov ecx, dword [ebp - 0x2c]
cmp esi, ecx
mov ecx, dword [ebp - 0x3c]
setge bl
add ebx, dword [ecx + edx*4]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
cmp ebx, ecx
setle dl
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x18]
jg 0x471665
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x4716d5
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x4716d5
mov dword [ebp - 0x24], 0x1f666c83
mov dword [ebp - 4], eax
jmp 0x47167f
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x6c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x471671
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp ecx, 0x868b
mov ecx, dword [ebp - 0xc]
setne dl
xor ebx, ebx
cmp edx, 0xb334fe9d
setne bl
xor edx, edx
cmp ebx, ecx
setge dl
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], eax
jne 0x4716b6
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
jmp 0x4716d5
cmp dword [ebp - 4], eax
jne 0x4716f5
lea ecx, [ebp - 0x54]
call fcn.00437a2b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
push 1
pop ebx
push 5
pop eax
push 4
pop ecx
jle 0x4714c5
jmp 0x4716fd
lea ecx, [ebp - 0x54]
call fcn.00437a2b
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x3c]
call fcn.00437a2b
push 0x4800
push ebx
push edi
push ebx
push 0x819
push ebx
push 0x67a9
push 0x8dc
push 0x69f1
push ebx
push 0x2d70
push 0x7049
push ebx
push ebx
push 0x1fdd
push 0x7413
call fcn.004612f3
add esp, 0x40
lea ecx, [ebp - 0x48]
push 2
call fcn.00437959
mov dword [ebp - 0x10], 0xf46db505
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0xc], 0
jmp 0x47177c
push dword [ebp - 0xc]
lea ecx, [ebp - 0x48]
call fcn.00437a47
mov dword [eax], 0xd5e4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x471768
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 0
jl 0x471840
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0
jmp 0x47180f
push dword [ebp - 4]
lea ecx, [ebp - 0x48]
call fcn.00437a47
cmp dword [eax], 0
jne 0x471814
cmp dword [ebp - 4], 0
je 0x4717d3
push dword [ebp - 4]
lea ecx, [ebp - 0x48]
call fcn.00437a47
push dword [ebp - 4]
lea ecx, [ebp - 0x48]
mov esi, eax
call fcn.00437a47
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x47180c
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x4717fc
push 0
push 0
push 0x1db3
push 0
push 0x9e6
push 0
push 0x1e4a
push 0
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x47180c
call dword [sym.imp.KERNEL32.dll_GetACP]
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jle 0x47179f
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x471837
push 0x1083
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
dec dword [ebp - 0x10]
jns 0x47178f
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
call fcn.00437a2b
push edi
call fcn.004248ab
mov edi, eax
xor esi, esi
mov eax, 0xa5d6c05b
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
pop ecx
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x14], esi
push 2
call fcn.00437959
xor eax, eax
mov dword [ebp - 0x10], 0xec3203b
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
jge 0x4718a8
push dword [ebp - 0xc]
lea ecx, [ebp - 0x78]
call fcn.00437a47
mov dword [eax], 0xfffffffa
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x47188c
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop esi
jmp 0x471936
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 4], eax
jmp 0x4718d3
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x94], 0x415d7249
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x4718c2
mov dword [ebp - 4], eax
jmp 0x4718eb
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x28], 0xd49598aa
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x4718dd
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], eax
jl 0x471933
mov dword [ebp - 0x1c], 0x6e6f
mov dword [ebp - 0x1c], 0x21f90ef3
mov dword [ebp - 0x1c], 0xfffffffd
dec dword [ebp - 0x28]
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x47192e
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + ecx*4 - 0x64]
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x5c], edx
mov ecx, dword [ebp - 0x10]
dec dword [ebp - 0x10]
jns 0x471918
dec dword [ebp - 0xc]
jns 0x4718f8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x4718b3
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x471954
push 0xe5d
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [ebp - 0x78]
call fcn.00437a2b
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret