Function at 0x446174
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.00446e87
cmp eax, esi
jne 0x446356
cmp edx, ebx
jne 0x446356
lea eax, [esp + 0x18]
push eax
call fcn.004460c1
cmp dword [esp + 0x18], 0x4034b50
jne 0x446356
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.00446104
lea eax, [esp + 0x24]
mov ecx, edi
push eax
call fcn.00446104
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.00446104
mov eax, dword [edi + 0x64]
cmp dword [esp + 0x14], eax
jne 0x446356
test eax, eax
je 0x44621b
cmp eax, 8
jne 0x446356
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.004460c1
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.004460c1
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
cmp eax, dword [edi + 0x6c]
je 0x446249
test bl, 8
je 0x446356
xorps xmm0, xmm0
lea eax, [esp + 0x28]
push eax
mov ecx, edi
movlpd qword [esp + 0x2c], xmm0
movlpd qword [esp + 0x1c], xmm0
call fcn.004460c1
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.004460c1
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.00446104
mov esi, dword [esp + 0x34]
cmp esi, dword [edi + 0x80]
jne 0x446356
and dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [ebp], esi
call fcn.00446104
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 0x4462cd
test ebp, ebp
je 0x4462ea
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp ecx, 0xffffffff
jne 0x4463c0
test eax, eax
jne 0x4463c0
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 0x446352
push eax
push esi
mov ecx, edi
call fcn.00446e87
cmp eax, esi
jne 0x446356
cmp edx, dword [esp + 0x14]
jne 0x446356
lea eax, [esp + 0x24]
push eax
call fcn.00446104
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
call fcn.00446104
cmp dword [esp + 0x24], 1
je 0x446362
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 0x4462fe
ja 0x446356
cmp esi, ecx
jb 0x4462fe
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 0x446390
cmp dword [esp + 0x1c], 0
jne 0x446390
mov esi, dword [esp + 0x3c]
cmp esi, 8
jb 0x446356
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.00446068
mov ecx, dword [esp + 0x18]
sub esi, 8
jmp 0x446394
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x28], 0xffffffff
jne 0x4463b8
test ebp, ebp
jne 0x4463b8
cmp esi, 8
jb 0x446356
lea eax, [esp + 0x28]
mov ecx, edi
push eax
call fcn.00446068
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 0x4463ca
cmp ebp, dword [edi + 0x74]
je 0x4463cf
test bl, 8
je 0x446356
cmp ecx, dword [edi + 0x78]
jne 0x4463e0
cmp eax, dword [edi + 0x7c]
jne 0x4463e0
mov al, 1
jmp 0x446358
shr ebx, 3
and bl, 1
mov al, bl
jmp 0x446358