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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x78]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
test eax, eax
jne 0x447fb6
mov ecx, edi
call fcn.00447fe0
test eax, eax
jne 0x447fb6
xorps xmm0, xmm0
xor bl, bl
movlpd qword [esp + 0x38], xmm0
xor esi, esi
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], eax
nop dword [eax]
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x447cc2
mov eax, dword [esp + 0x44]
cmp eax, dword [edx + 4]
ja 0x447fa6
jb 0x447cc2
mov eax, dword [esp + 0x40]
cmp eax, dword [edx]
jae 0x447fa6
xor eax, eax
mov dword [esp + 0x14], eax
test bl, bl
jne 0x447d48
mov ebx, dword [edi + 0x34]
mov ecx, eax
mov edi, dword [edi + 0x38]
add ebx, esi
mov dword [esp + 0x20], ecx
sub edi, esi
je 0x447d1e
nop
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 + 0x20]
mov edx, eax
mov eax, dword [esp + 0x34]
add ecx, eax
add ebx, eax
mov dword [esp + 0x14], edx
sub edi, eax
mov dword [esp + 0x20], ecx
test edx, edx
jne 0x447d24
test eax, eax
je 0x447d1e
test edi, edi
jne 0x447ce0
xor edx, edx
mov dword [esp + 0x14], edx
mov edi, dword [ebp + 8]
add esi, ecx
mov ecx, dword [esp + 0x10]
cmp esi, dword [edi + 0x38]
setne al
test edx, edx
movzx ebx, al
mov eax, 1
cmovne ebx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
test esi, esi
je 0x447fb6
xor bl, bl
mov byte [esp + 0xf], bl
cmp esi, ecx
je 0x447dea
nop
mov edx, dword [edi + 0x78]
mov ebx, esi
mov eax, dword [edi + 0x34]
sub ebx, ecx
mov edi, dword [esp + 0x10]
add eax, edi
push ebx
mov ecx, dword [edx]
push eax
push edx
call dword [ecx + 0x10]
mov ecx, eax
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x447df8
add edi, ecx
cmp ecx, ebx
jbe 0x447dd4
cmp dword [esp + 0x14], 0
mov edx, dword [ebp + 8]
jne 0x447dfb
cmp byte [edx + 0x44], 0
je 0x447de6
mov eax, dword [edx + 0x38]
sub eax, dword [esp + 0x10]
cmp ecx, eax
ja 0x447de6
cmp byte [esp + 0x1c], 0
je 0x447de6
mov eax, dword [edx + 0x34]
nop dword [eax]
mov byte [eax + esi], 0
inc esi
cmp esi, edi
jne 0x447db0
mov ecx, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
add eax, dword [esp + 0x10]
push ebx
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x10]
cmp ebx, eax
jne 0x447fb1
mov ecx, edi
mov dword [esp + 0x10], ecx
cmp esi, edi
je 0x447def
mov edi, dword [ebp + 8]
jmp 0x447d60
mov bl, 1
jmp 0x447dff
mov edx, dword [ebp + 8]
jmp 0x447e03
mov edx, dword [ebp + 8]
mov bl, byte [esp + 0xf]
jmp 0x447e03
mov edx, dword [ebp + 8]
mov bl, byte [esp + 0xf]
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x14], 0
mov edi, ecx
jne 0x447e28
mov eax, ecx
and eax, 0xffffffc0
cmp byte [esp + 0x1c], 0
je 0x447e26
test bl, bl
jne 0x447e20
mov edi, esi
jmp 0x447e28
cmp byte [edx + 0x44], 0
je 0x447e28
mov edi, eax
cmp dword [ebp + 0x18], 0
mov eax, edi
mov dword [esp + 0x18], eax
je 0x447e64
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x20], 0
mov ebx, dword [eax]
sub ebx, dword [esp + 0x40]
mov eax, dword [eax + 4]
sbb eax, dword [esp + 0x44]
cmp dword [esp + 0x20], eax
jb 0x447e60
ja 0x447e58
cmp edi, ebx
jbe 0x447e60
mov eax, ebx
mov dword [esp + 0x18], eax
jmp 0x447e64
mov eax, dword [esp + 0x18]
mov ebx, eax
mov eax, dword [edx + 0x34]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x447ecd
mov edx, dword [esp + 0x20]
nop dword [eax]
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x38]
push eax
mov eax, SysReAllocStringLen
cmp ebx, eax
mov ecx, dword [ecx]
cmovb eax, ebx
push eax
push edx
push dword [ebp + 0x10]
call dword [ecx + 0xc]
mov edx, dword [esp + 0x20]
mov ecx, eax
mov eax, dword [esp + 0x38]
add edx, eax
sub ebx, eax
mov dword [esp + 0x20], edx
test ecx, ecx
jne 0x447f8d
test eax, eax
je 0x447f88
test ebx, ebx
jne 0x447e80
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add dword [esp + 0x40], eax
mov eax, dword [esp + 0x14]
adc dword [esp + 0x44], 0
test eax, eax
jne 0x447fb6
mov ebx, dword [esp + 0x1c]
test bl, bl
je 0x447efb
cmp esi, edi
je 0x447fa6
cmp byte [edx + 0x44], al
je 0x447f98
test edi, edi
je 0x447fb1
cmp ecx, edi
jb 0x447fb1
sub ecx, edi
mov dword [esp + 0x10], ecx
sub esi, edi
je 0x447f2a
mov ecx, dword [edx + 0x34]
push esi
lea eax, [ecx + edi]
push eax
push ecx
call fcn.0041f340
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp dword [ebp + 0x1c], 0
mov edi, dword [ebp + 8]
je 0x447ca0
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
sbb eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
jne 0x447f59
cmp edx, 0x400000
jb 0x447ca0
mov ecx, dword [ebp + 0x1c]
lea edx, [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
push edx
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0xc]
test eax, eax
jne 0x447fb6
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
jmp 0x447ca0
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