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

Disassembly:
sub esp, 0x30
push ebx
mov ebx, dword [esp + 0x38]
mov ecx, ebx
call fcn.0041ced1
test eax, eax
jne 0x41d2a7
push ebp
xorps xmm0, xmm0
mov dword [esp + 0x2c], eax
push edi
movlpd qword [esp + 0x28], xmm0
mov dl, al
mov edi, eax
movlpd qword [esp + 0x34], xmm0
mov ebp, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
push esi
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x41d0a0
mov eax, dword [esp + 0x3c]
cmp eax, dword [ecx + 4]
ja 0x41d297
jb 0x41d0a0
mov eax, dword [esp + 0x38]
cmp eax, dword [ecx]
jae 0x41d297
xor eax, eax
mov esi, eax
mov dword [esp + 0x14], esi
test dl, dl
jne 0x41d0ea
mov eax, dword [ebx + 0x38]
sub eax, edi
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [ebx + 0x34]
add eax, edi
push eax
push dword [esp + 0x50]
call fcn.0041f568
add edi, dword [esp + 0x18]
mov esi, eax
cmp edi, dword [ebx + 0x38]
push 1
setne cl
mov dword [esp + 0x18], esi
test esi, esi
movzx edx, cl
pop eax
cmovne edx, eax
xor eax, eax
mov dword [esp + 0x10], edx
test edi, edi
je 0x41d2a2
mov cl, al
mov byte [esp + 0x44], cl
cmp edi, ebp
je 0x41d17a
mov edx, dword [ebx + 0x78]
mov eax, edi
sub eax, ebp
push eax
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x34]
mov ecx, dword [edx]
add eax, ebp
push eax
push edx
call dword [ecx + 0x10]
mov ecx, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x41d176
lea edx, [ecx + ebp]
mov dword [esp + 0x2c], edx
cmp ecx, dword [esp + 0x28]
jbe 0x41d170
test esi, esi
jne 0x41d176
cmp byte [ebx + 0x44], 0
je 0x41d197
mov eax, dword [ebx + 0x38]
sub eax, ebp
cmp ecx, eax
ja 0x41d197
cmp byte [esp + 0x10], 0
je 0x41d197
mov eax, dword [ebx + 0x34]
xor ecx, ecx
mov byte [eax + edi], cl
inc edi
cmp edi, edx
jne 0x41d14a
mov ecx, dword [ebx + 0x78]
add eax, ebp
push dword [esp + 0x1c]
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
cmp dword [esp + 0x1c], eax
jne 0x41d29b
mov edx, dword [esp + 0x2c]
mov ebp, edx
cmp edi, edx
jne 0x41d0fc
mov cl, byte [esp + 0x44]
cmp dword [esp + 0x14], 0
mov esi, ebp
jne 0x41d1a6
mov eax, ebp
and eax, 0xffffffc0
cmp byte [esp + 0x10], 0
je 0x41d1a4
test cl, cl
jne 0x41d19e
mov esi, edi
jmp 0x41d1a6
xor eax, eax
lea ecx, [eax + 1]
jmp 0x41d17a
cmp byte [ebx + 0x44], 0
je 0x41d1a6
mov esi, eax
mov eax, dword [esp + 0x54]
mov ecx, esi
mov dword [esp + 0x44], ecx
test eax, eax
je 0x41d1d3
mov edx, dword [eax]
sub edx, dword [esp + 0x38]
mov eax, dword [eax + 4]
sbb eax, dword [esp + 0x3c]
cmp dword [esp + 0x34], eax
jb 0x41d1d3
ja 0x41d1cd
cmp esi, edx
jbe 0x41d1d3
mov ecx, edx
mov dword [esp + 0x44], edx
push ecx
push dword [ebx + 0x34]
push dword [esp + 0x54]
call fcn.0041f60f
test eax, eax
jne 0x41d2a4
mov eax, dword [esp + 0x44]
add dword [esp + 0x38], eax
push 0
pop eax
adc dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x41d2a4
mov edx, dword [esp + 0x10]
test dl, dl
je 0x41d218
cmp edi, esi
je 0x41d297
cmp byte [ebx + 0x44], al
je 0x41d292
test esi, esi
je 0x41d29b
cmp ebp, esi
jb 0x41d29b
sub ebp, esi
sub edi, esi
je 0x41d23b
mov ecx, dword [ebx + 0x34]
push edi
lea eax, [ecx + esi]
push eax
push ecx
call fcn.0043f570
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov esi, dword [esp + 0x58]
test esi, esi
je 0x41d07d
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
sbb eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
jne 0x41d269
cmp ecx, 0x400000
jb 0x41d07d
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
push ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0xc]
test eax, eax
jne 0x41d2a4
mov edx, dword [esp + 0x10]
jmp 0x41d07d
xor eax, eax
inc eax
jmp 0x41d2a4
xor eax, eax
jmp 0x41d2a4
mov eax, 0x80004005
jmp 0x41d2a4
mov eax, esi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x30
ret 0x18