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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 0x78]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
test eax, eax
jne 0x41c9c3
mov ecx, esi
call fcn.0041c510
test eax, eax
jne 0x41c9c3
xorps xmm0, xmm0
xor bl, bl
movlpd qword [esp + 0x38], xmm0
xor esi, esi
mov eax, dword [esp + 0x3c]
xor edi, edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
movlpd qword [esp + 0x40], xmm0
mov byte [esp + 0x13], bl
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], eax
nop dword [eax]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x41c6e2
mov eax, dword [esp + 0x44]
cmp eax, dword [ecx + 4]
ja 0x41c9a8
jb 0x41c6e2
mov eax, dword [esp + 0x40]
cmp eax, dword [ecx]
jae 0x41c9a8
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [esp + 0x18], edx
test bl, bl
jne 0x41c75a
mov ebx, dword [eax + 0x34]
mov ecx, edx
mov edi, dword [eax + 0x38]
add ebx, esi
mov dword [esp + 0x1c], ecx
sub edi, esi
je 0x41c746
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x34]
push eax
mov eax, SysReAllocStringLen
cmp edi, eax
mov ecx, dword [edx]
cmovb eax, edi
push eax
push ebx
push edx
call dword [ecx + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x34]
add ecx, eax
add ebx, eax
mov dword [esp + 0x18], edx
sub edi, eax
mov dword [esp + 0x1c], ecx
test edx, edx
jne 0x41c7f4
test eax, eax
je 0x41c743
test edi, edi
jne 0x41c701
mov eax, dword [ebp + 8]
xor edx, edx
add esi, ecx
cmp esi, dword [eax + 0x38]
mov dword [esp + 0x18], edx
setne byte [esp + 0x13]
mov edi, dword [esp + 0x14]
test esi, esi
je 0x41c9c1
cmp esi, edi
je 0x41c80d
nop word [eax + eax]
mov edx, dword [eax + 0x78]
mov ebx, esi
mov eax, dword [eax + 0x34]
sub ebx, edi
push ebx
add eax, edi
mov ecx, dword [edx]
push eax
push edx
call dword [ecx + 0x10]
mov ecx, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x41c80d
add edi, ecx
cmp ecx, ebx
jbe 0x41c7e4
cmp dword [esp + 0x18], 0
mov ebx, dword [esp + 0x14]
jne 0x41c809
mov edx, dword [ebp + 8]
cmp byte [edx + 0x44], 0
je 0x41c803
mov eax, dword [edx + 0x38]
sub eax, ebx
cmp ecx, eax
ja 0x41c803
cmp byte [esp + 0x13], 0
je 0x41c803
mov eax, dword [edx + 0x34]
nop dword [eax + eax]
mov byte [eax + esi], 0
inc esi
cmp esi, edi
jne 0x41c7c0
mov ecx, dword [edx + 0x78]
mov ebx, dword [esp + 0x1c]
add eax, dword [esp + 0x14]
push ebx
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x10]
cmp ebx, eax
jne 0x41c9b3
mov dword [esp + 0x14], edi
cmp esi, edi
je 0x41c80d
mov eax, dword [ebp + 8]
jmp 0x41c770
mov eax, dword [ebp + 8]
add esi, ecx
mov byte [esp + 0x13], 1
jmp 0x41c756
mov cl, 1
mov edi, ebx
jmp 0x41c81d
mov edi, ebx
jmp 0x41c839
mov ebx, dword [esp + 0x14]
xor cl, cl
cmp dword [esp + 0x18], 0
jne 0x41c839
mov edx, dword [ebp + 8]
mov eax, ebx
and eax, 0xffffffc0
cmp byte [esp + 0x13], 0
je 0x41c837
test cl, cl
jne 0x41c831
mov edi, esi
jmp 0x41c839
cmp byte [edx + 0x44], 0
je 0x41c839
mov edi, eax
mov eax, dword [ebp + 0x18]
mov edx, edi
mov dword [esp + 0x1c], edx
test eax, eax
je 0x41c86d
mov ecx, dword [eax]
sub ecx, dword [esp + 0x40]
mov eax, dword [eax + 4]
sbb eax, dword [esp + 0x44]
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], eax
jb 0x41c86d
ja 0x41c867
cmp edi, ecx
jbe 0x41c86d
mov edx, ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x41c8d1
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x38]
push eax
mov eax, SysReAllocStringLen
cmp edx, eax
mov ecx, dword [ecx]
cmovb eax, edx
push eax
push dword [esp + 0x1c]
push dword [ebp + 0x10]
call dword [ecx + 0xc]
mov edx, dword [esp + 0x20]
mov ecx, eax
mov eax, dword [esp + 0x38]
sub edx, eax
add dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
test ecx, ecx
jne 0x41c98f
test eax, eax
je 0x41c98a
test edx, edx
jne 0x41c883
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x40], ecx
mov edx, dword [esp + 0x18]
adc dword [esp + 0x44], 0
test edx, edx
jne 0x41c9c1
cmp byte [esp + 0x13], dl
je 0x41c8fd
cmp esi, edi
je 0x41c9a8
cmp byte [eax + 0x44], dl
je 0x41c99a
test edi, edi
je 0x41c9b3
cmp ebx, edi
jb 0x41c9b3
sub ebx, edi
mov dword [esp + 0x14], ebx
sub esi, edi
je 0x41c928
mov ecx, dword [eax + 0x34]
push esi
lea eax, [ecx + edi]
push eax
push ecx
call fcn.00449190
add esp, 0xc
mov edx, dword [ebp + 0x1c]
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x13]
test edx, edx
je 0x41c6c0
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
sbb eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
jne 0x41c95d
cmp ecx, 0x400000
jb 0x41c6c0
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
push ecx
mov dword [esp + 0x34], eax
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0xc]
test eax, eax
jne 0x41c9c3
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x13]
jmp 0x41c6c0
mov ecx, 0x80004005
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, 0x80004005
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18