Function at 0x1000427c
Capabilities:
Accept command line arguments

Disassembly:
mov ecx, dword [ebp - 4]
lea edi, [ebp - 0x534]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
shr eax, 1
rep movsb byte es:[edi], byte [esi]
and word [ebp + eax*2 - 0x534], 0
cmp dword [ebp - 0xc], 0
jle 0x100042f5
push dword [ebp - 0xc]
lea eax, [ebp - 0x534]
push dword [ebp - 0xc]
push edx
push eax
call fcn.10011478
cmp eax, 0xffffffff
je 0x100042f5
mov ecx, eax
mov edx, dword [ebp + 8]
imul ecx, ecx, 0x328
lea esi, [ecx + edx]
mov cx, word [ecx + edx + 4]
cmp cx, 0x41
jb 0x100042df
cmp cx, 0x5a
jbe 0x10004469
mov ecx, dword [ebp - 0xc]
push dword [esi + 0x1c]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [esi + 0x1c], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
imul eax, eax, 0x328
lea esi, [ebp - 0x534]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 4]
lea ecx, [eax + 1]
lea edi, [ebx + 0x20]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
cmp eax, 0x6c0046
jne 0x10004336
cmp ecx, 0x70006f
je 0x10004345
cmp eax, 0x640043
jne 0x10004349
cmp ecx, 0x6f0052
jne 0x10004349
and dword [ebp - 0x18], 0
mov dword [ebp - 4], 1
xor esi, esi
mov edi, dword [ebp - 0x1c]
mov ax, word [edi - 0x10]
cmp ax, si
je 0x1000444f
mov ecx, dword [edi - 0x14]
mov edx, dword [ebp - 8]
add edi, 0xffffffec
add edx, ecx
mov dword [ebp - 0x2c], edi
cmp dword [edx], 0x44005c
jne 0x100043db
cmp dword [edx + 4], 0x73006f
jne 0x100043db
add edx, 0x18
mov dx, word [edx]
cmp dx, 0x41
jb 0x10004393
cmp dx, 0x5a
jbe 0x100043a7
cmp dx, 0x61
jb 0x1000444f
cmp dx, 0x7a
ja 0x1000444f
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [ebp - 0x18], esi
pop ecx
mov word [ebx + 4], ax
je 0x100043d6
add ebx, 0x300
push ebx
push edi
push dword [ebp - 8]
call fcn.10007294
cmp eax, esi
jge 0x100043d6
push eax
call dword [fcn.10013be7]
mov dword [ebp - 0x10], eax
dec dword [ebp - 4]
jmp 0x1000444f
cmp dword [ebp - 0x18], esi
je 0x1000444f
movzx eax, ax
mov ecx, eax
mov esi, edx
mov edx, ecx
lea edi, [ebp - 0x254]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
shr eax, 1
mov ecx, edx
push fcn.10007d64
and ecx, 3
lea eax, [ebp + eax*2 - 0x254]
rep movsb byte es:[edi], byte [esi]
mov word [eax], 0x5c
and word [eax + 2], 0
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
pop ecx
test eax, eax
pop ecx
jne 0x1000444d
and word [ebx + 4], ax
add ebx, 0x300
push ebx
push dword [ebp - 0x2c]
push dword [ebp - 8]
call fcn.10007294
test eax, eax
jge 0x1000444a
push eax
call dword [fcn.10013be7]
mov dword [ebp - 0x10], eax
dec dword [ebp - 4]
xor esi, esi
mov eax, dword [ebp - 0x20]
cmp eax, 0xffffffff
je 0x1000445a
mov dword [ebp - 0xc], eax
cmp dword [ebp - 4], esi
jne 0x1000446b
cmp eax, 0xffffffff
jne 0x1000446b
inc dword [ebp - 0xc]
jmp 0x1000446b
xor esi, esi
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
add ecx, 0x18
cmp edx, dword [eax + 4]
mov dword [ebp - 0x1c], ecx
jb fcn.10004200
mov edi, dword [ebp + 0xc]
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, dword [ebp - 0xc]
mov dword [edi], eax
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 8], esi
je 0x100044b5
push dword [ebp - 8]
push esi
push dword [0x10032058]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
leave
ret 8