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

Disassembly:
sub esp, 0x9c
mov eax, dword [0x6009e4]
xor eax, esp
mov dword [esp + 0x94], eax
push ebx
mov eax, edx
mov dword [esp + 0x18], ecx
push ebp
xor ebx, ebx
xorps xmm0, xmm0
push esi
mov cl, byte [eax]
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x58], ebx
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], 1
push edi
movups xmmword [esp + 0x4c], xmm0
cmp cl, 0x2b
je 0x41c881
cmp cl, 0x2d
jne 0x41c882
mov dword [esp + 0x20], 1
inc eax
mov edi, 1
mov dl, byte [eax]
inc eax
mov dword [esp + 0x18], eax
mov byte [esp + 0x17], dl
lea eax, [edx - 0x30]
cmp al, 9
ja 0x41c8c3
cmp ebx, 9
jae 0x41ca9f
cmp ebp, 6
jne 0x41c8b0
mov eax, dword [esp + 0x18]
cmp ebx, 3
jae 0x41c887
movzx eax, dl
lea esi, [esi + esi*4]
lea esi, [esi - 0x18]
inc ebx
lea esi, [eax + esi*2]
mov eax, dword [esp + 0x18]
jmp 0x41c887
test ebx, ebx
je 0x41ca9f
cmp ebp, 6
jne 0x41c8ea
cmp ebx, 3
jae 0x41c8ea
mov eax, 3
sub eax, ebx
nop dword [eax]
lea esi, [esi + esi*4]
add esi, esi
sub eax, 1
jne 0x41c8e0
mov dword [esp + ebp*4 + 0x3c], esi
xor ebx, ebx
xor esi, esi
xor ecx, ecx
cmp byte [ecx + str._T_:.Z], dl
je 0x41c902
inc ecx
cmp ecx, 8
jb 0x41c8f4
cmp ecx, 8
je 0x41ca9f
add ecx, 9
mov eax, 1
shl edi, cl
mov ecx, ebp
shl eax, cl
add edi, eax
xor ecx, ecx
nop dword [eax]
mov edx, dword [ecx*4 + 0x5ef374]
mov eax, edx
and eax, edi
cmp eax, edi
je 0x41c93c
inc ecx
cmp ecx, 0xb
jb 0x41c920
mov edi, 1
jmp 0x41c964
mov eax, dword [esp + 0x1c]
mov ebp, edx
shr ebp, 0x11
mov edi, 1
shr edx, 0x15
and ebp, 0xf
test dl, 1
cmovne eax, edi
mov dword [esp + 0x1c], eax
test dl, 2
jne 0x41c990
test dl, 4
jne 0x41c980
cmp ecx, 0xb
je 0x41ca9f
cmp byte [esp + 0x17], bl
je 0x41ca9f
mov eax, dword [esp + 0x18]
jmp 0x41c887
mov eax, dword [esp + 0x18]
cmp byte [eax], bl
jne 0x41ca9f
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
cmp dword [esp + 0x20], ebx
je 0x41c99c
neg edi
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
test eax, eax
je 0x41c9b4
add edx, ebx
add esi, dword [esp + 0x5c]
jmp 0x41c9ba
sub edx, ebx
sub esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
dec eax
movd xmm0, edi
dec ecx
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x60], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x68], xmm0
movd xmm0, ecx
lea ecx, [esp + 0x60]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x70], xmm0
movd xmm0, edx
xor edx, edx
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x78], xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x80], xmm0
movd xmm0, dword [esp + 0x50]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x88], xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x90], xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x98], xmm0
call fcn.0041d140
mov ebx, dword [esp + 0x24]
mov edx, dword [ebx + 0x44]
cmp edx, dword [ebx + 0x38]
jae 0x41caba
movsd qword [esp + 0x28], xmm0
test byte [esp + 0x2e], 0xf
mov eax, dword [esp + 0x2e]
setne cl
and eax, 0x7ff0
cmp eax, 0x7ff0
sete al
test al, cl
je 0x41ca8e
mov ecx, 0x7ff8
mov word [esp + 0x2e], cx
movsd xmm0, qword [esp + 0x28]
lea ecx, [edx + 8]
mov eax, 1
mov dword [ebx + 0x44], ecx
movsd qword [edx], xmm0
jmp 0x41caa1
xor eax, eax
mov ecx, dword [esp + 0xa4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00584a28
add esp, 0x9c
ret
push str.cannot_push_beyond_allocated_stack
push 0x3001077
mov edx, 0x6043d8
mov ecx, ebx
call fcn.0040d110
int3