Function at 0x446602
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.00447315
cmp eax, esi
jne 0x4467e4
cmp edx, ebx
jne 0x4467e4
lea eax, [esp + 0x18]
push eax
call fcn.0044654f
cmp dword [esp + 0x18], 0x4034b50
jne 0x4467e4
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.00446592
lea eax, [esp + 0x24]
mov ecx, edi
push eax
call fcn.00446592
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.00446592
mov eax, dword [edi + 0x64]
cmp dword [esp + 0x14], eax
jne 0x4467e4
test eax, eax
je 0x4466a9
cmp eax, 8
jne 0x4467e4
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.0044654f
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.0044654f
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
cmp eax, dword [edi + 0x6c]
je 0x4466d7
test bl, 8
je 0x4467e4
xorps xmm0, xmm0
lea eax, [esp + 0x28]
push eax
mov ecx, edi
movlpd qword [esp + 0x2c], xmm0
movlpd qword [esp + 0x1c], xmm0
call fcn.0044654f
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.0044654f
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.00446592
mov esi, dword [esp + 0x34]
cmp esi, dword [edi + 0x80]
jne 0x4467e4
and dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [ebp], esi
call fcn.00446592
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 0x44675b
test ebp, ebp
je 0x446778
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp ecx, 0xffffffff
jne 0x44684e
test eax, eax
jne 0x44684e
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 0x4467e0
push eax
push esi
mov ecx, edi
call fcn.00447315
cmp eax, esi
jne 0x4467e4
cmp edx, dword [esp + 0x14]
jne 0x4467e4
lea eax, [esp + 0x24]
push eax
call fcn.00446592
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
call fcn.00446592
cmp dword [esp + 0x24], 1
je 0x4467f0
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 0x44678c
ja 0x4467e4
cmp esi, ecx
jb 0x44678c
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 0x44681e
cmp dword [esp + 0x1c], 0
jne 0x44681e
mov esi, dword [esp + 0x3c]
cmp esi, 8
jb 0x4467e4
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.004464f6
mov ecx, dword [esp + 0x18]
sub esi, 8
jmp 0x446822
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x28], 0xffffffff
jne 0x446846
test ebp, ebp
jne 0x446846
cmp esi, 8
jb 0x4467e4
lea eax, [esp + 0x28]
mov ecx, edi
push eax
call fcn.004464f6
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 0x446858
cmp ebp, dword [edi + 0x74]
je 0x44685d
test bl, 8
je 0x4467e4
cmp ecx, dword [edi + 0x78]
jne 0x44686e
cmp eax, dword [edi + 0x7c]
jne 0x44686e
mov al, 1
jmp 0x4467e6
shr ebx, 3
and bl, 1
mov al, bl
jmp 0x4467e6