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

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x2c]
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 0xa8]
add esi, dword [edi + 0x20]
adc ebx, dword [edi + 0x24]
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x38]
push ebx
mov dword [ebp], ecx
mov dword [esp + 0x18], ecx
mov dword [eax], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
mov ecx, edi
push esi
call fcn.00447434
cmp eax, esi
jne 0x446903
cmp edx, ebx
jne 0x446903
lea eax, [esp + 0x18]
push eax
call fcn.0044666e
cmp dword [esp + 0x18], 0x4034b50
jne 0x446903
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.004466b1
lea eax, [esp + 0x24]
mov ecx, edi
push eax
call fcn.004466b1
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.004466b1
mov eax, dword [edi + 0x64]
cmp dword [esp + 0x14], eax
jne 0x446903
test eax, eax
je 0x4467c8
cmp eax, 8
jne 0x446903
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.0044666e
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.0044666e
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
cmp eax, dword [edi + 0x6c]
je 0x4467f6
test bl, 8
je 0x446903
xorps xmm0, xmm0
lea eax, [esp + 0x28]
push eax
mov ecx, edi
movlpd qword [esp + 0x2c], xmm0
movlpd qword [esp + 0x1c], xmm0
call fcn.0044666e
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.0044666e
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.004466b1
mov esi, dword [esp + 0x34]
cmp esi, dword [edi + 0x80]
jne 0x446903
and dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [ebp], esi
call fcn.004466b1
mov eax, dword [esp + 0x38]
add esi, 0x1e
add esi, dword [edi + 0xa8]
mov ecx, dword [esp + 0x34]
add dword [ebp], ecx
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov dword [eax], esi
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
cmp edx, 0xffffffff
jne 0x44687a
test ebp, ebp
je 0x446897
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp ecx, 0xffffffff
jne 0x44696d
test eax, eax
jne 0x44696d
mov ecx, dword [esp + 0x34]
and dword [esp + 0x3c], 0
xor eax, eax
and dword [esp + 0x24], 0
add ecx, esi
mov dword [esp + 0x14], eax
jmp 0x4468ff
push eax
push esi
mov ecx, edi
call fcn.00447434
cmp eax, esi
jne 0x446903
cmp edx, dword [esp + 0x14]
jne 0x446903
lea eax, [esp + 0x24]
push eax
call fcn.004466b1
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
call fcn.004466b1
cmp dword [esp + 0x24], 1
je 0x44690f
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add eax, 4
add esi, eax
mov eax, dword [esp + 0x14]
adc eax, 0
mov ecx, dword [ecx]
add ecx, dword [esp + 0x34]
mov dword [esp + 0x14], eax
test eax, eax
jb 0x4468ab
ja 0x446903
cmp esi, ecx
jb 0x4468ab
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0xc
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
jne 0x44693d
cmp dword [esp + 0x1c], 0
jne 0x44693d
mov esi, dword [esp + 0x3c]
cmp esi, 8
jb 0x446903
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.00446615
mov ecx, dword [esp + 0x18]
sub esi, 8
jmp 0x446941
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x28], 0xffffffff
jne 0x446965
test ebp, ebp
jne 0x446965
cmp esi, 8
jb 0x446903
lea eax, [esp + 0x28]
mov ecx, edi
push eax
call fcn.00446615
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
cmp edx, dword [edi + 0x70]
jne 0x446977
cmp ebp, dword [edi + 0x74]
je 0x44697c
test bl, 8
je 0x446903
cmp ecx, dword [edi + 0x78]
jne 0x44698d
cmp eax, dword [edi + 0x7c]
jne 0x44698d
mov al, 1
jmp 0x446905
shr ebx, 3
and bl, 1
mov al, bl
jmp 0x446905