Function at 0x407a30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
movdqu xmm0, xmmword [edx]
push esi
mov esi, ecx
movdqu xmmword [esp + 0x1c], xmm0
push edi
movdqu xmm0, xmmword [edx + 0x10]
mov dword [esp + 0x1c], esi
mov word [esp + 0x20], 0x203
movdqu xmmword [esp + 0x30], xmm0
mov byte [esp + 0x22], 1
movdqu xmm0, xmmword [edx + 0x20]
movdqu xmmword [esp + 0x40], xmm0
movdqu xmm0, xmmword [edx + 0x30]
movdqa xmmword [esp + 0x50], xmm0
psrldq xmm0, 8
movd eax, xmm0
cmp eax, 0x3f
jle 0x407a90
mov dword [esp + 0x58], 0x3f
jmp 0x407a9e
test eax, eax
mov ecx, 0x20
cmovs eax, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x20]
xor ecx, ecx
test eax, eax
push 4
cmovs eax, ecx
mov ecx, esi
mov dword [esp + 0x58], eax
call fcn.0040b050
add esp, 4
test eax, eax
js 0x407dea
mov eax, dword [esi + 0xf8]
mov edi, dword [sym.imp.MSVCR120.dll_calloc]
push 0x60
push eax
call edi
push 2
push dword [esi + 0xd8]
mov dword [esi + 0xc974], eax
call edi
mov dword [esi + 0xc978], eax
mov eax, dword [esi + 0xf8]
shl eax, 2
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
mov edi, dword [esi + 0x30]
add esp, 0x14
mov dword [esi + 0xc97c], eax
mov ecx, edi
shr ecx, 1
mov eax, 1
not ecx
not edi
and ecx, 1
and edi, 1
shl eax, cl
add ecx, edi
mov dword [esi + 0xca28], eax
mov edx, dword [esi + 0x7c]
imul edx, eax
shl edx, 2
lea eax, [edx*8]
shr eax, cl
lea eax, [eax + edx*4]
shl eax, 2
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
mov dword [esi + 0xca2c], eax
add esp, 4
lea eax, [esi + 0xca3c]
mov dword [esp + 0x14], 3
mov dword [esp + 0x18], eax
lea eax, [esi + 0x78]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
lea ebx, [ebx]
mov edi, dword [eax]
shl edi, 2
lea eax, [edi + 4]
shl eax, 6
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x407bae
mov eax, ecx
mov edx, 0x40
add ecx, 0x100
lea esp, [esp]
mov dword [eax], ecx
lea eax, [eax + 4]
add ecx, edi
dec edx
jne 0x407ba0
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [esi - 0xc], eax
mov edi, dword [edi]
shl edi, 2
lea eax, [edi + 4]
shl eax, 6
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x407bef
mov eax, ecx
mov edx, 0x40
add ecx, 0x100
mov dword [eax], ecx
lea eax, [eax + 4]
add ecx, edi
dec edx
jne 0x407be1
mov eax, dword [esp + 0x18]
mov dword [esi], eax
add esi, 4
mov eax, dword [esp + 0x10]
add eax, 0x20
dec dword [esp + 0x14]
mov dword [esp + 0x10], eax
jne 0x407b70
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.00413ac0
mov ecx, dword [esi + 0x3c]
mov eax, 1
shl eax, cl
mov dword [esi + 0xc988], eax
mov al, byte [esi + 0x38]
mov byte [esi + 0x31b], al
mov byte [esi + 0x31a], 1
mov dword [esi + 0x2ac08], 0
mov dword [esi + 0x2ac3c], 0
mov byte [esi + 0x2ac44], 0
mov dword [esi + 0x2ac58], 0
mov dword [esi + 0x2aca8], 0
mov dword [esi + 0x2acac], 0
cmp dword [esi + 0x34], 0
jle 0x407ca0
mov eax, dword [esi + 0xc988]
mov ecx, pe_nt_image_headers32
cmp eax, ecx
mov word [esi + 0x2ab90], 0x101
mov byte [esi + 0x2ab92], 0
cmova eax, ecx
mov ecx, esi
mov dword [esi + 0x2ab68], eax
call fcn.0040e470
xorps xmm0, xmm0
movdqu xmmword [esi + 0xc960], xmm0
push pe_nt_image_headers32
mov dword [esi + 0xc970], 0
call dword [sym.imp.MSVCR120.dll_malloc]
mov dword [esi + 0xc968], eax
add esp, 4
mov dword [esi + 0xc96c], eax
mov byte [eax], 0
mov dword [esi + 0xc970], 0x100
cmp dword [esi + 0xc974], 0
je 0x407de0
cmp dword [esi + 0xc978], 0
je 0x407de0
cmp dword [esi + 0xc97c], 0
je 0x407de0
cmp dword [esi + 0xca2c], 0
je 0x407de0
cmp dword [esi + 0xca30], 0
je 0x407de0
cmp dword [esi + 0xca34], 0
je 0x407de0
cmp dword [esi + 0xca38], 0
je 0x407de0
cmp dword [esi + 0xca3c], 0
je 0x407de0
cmp dword [esi + 0xca40], 0
je 0x407de0
cmp dword [esi + 0xca44], 0
je 0x407de0
lea ecx, [esi + 0xc9b0]
call fcn.00414770
mov ecx, esi
call fcn.00407510
push 0x5000
xorps xmm0, xmm0
lea eax, [esi + 0xcfb0]
movq qword [esi + 0xc99f], xmm0
push 0x4a7870
push eax
mov dword [esi + 0xc984], 0xfffffffd
mov dword [esi + 0xc98c], 0
mov dword [esi + 0xc990], 0
mov dword [esi + 0xc994], 0
mov dword [esi + 0xc998], 1
mov word [esi + 0xc99c], 0
call sub.MSVCR120.dll_memcpy
add esp, 0xc
xor edx, edx
mov ecx, esi
call fcn.004078d0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00407df0
or eax, 0xffffffff
pop edi
pop esi
mov esp, ebp
pop ebp
ret