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

Disassembly:
sub esp, 0x20
push edi
mov edi, ecx
mov eax, dword [edi + 0x228]
test eax, eax
mov dword [esp + 4], edi
jne 0x448fb6
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
mov ecx, edi
call fcn.0045dd10
pop edi
add esp, 0x20
ret 0x10
mov ecx, edi
call fcn.004475d0
test eax, eax
mov dword [esp + 0xc], eax
jne 0x448fd1
mov eax, 1
pop edi
add esp, 0x20
ret 0x10
mov ecx, dword [edi + 0x228]
cmp ecx, 0x378
push ebx
push ebp
push esi
ja 0x449339
je 0x449245
sub ecx, 0x22b
je 0x449125
sub ecx, 0xa
jne 0x449462
mov ecx, edi
call fcn.004017d0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.004017b0
mov ecx, edi
mov esi, eax
call fcn.00442b40
movzx ebx, byte [esp + 0x38]
movzx ecx, byte [esp + 0x3c]
movzx ebp, byte [esp + 0x40]
cdq
sub eax, edx
and ebx, 0xfffffff8
and ecx, 0xfffffffc
shl ebx, 8
shl ecx, 3
shr ebp, 3
sar eax, 1
test esi, esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ebp
jbe 0x449462
lea edx, [eax + eax]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], esi
jmp 0x449070
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x449103
movzx eax, byte [esp + 0x34]
mov esi, eax
imul esi, ecx
mov edi, eax
mov ecx, 0x100
imul edi, ebp
sub ecx, eax
imul eax, ebx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
movzx eax, word [edx]
mov ebx, eax
mov ebp, eax
and ebx, 0x7e0
and ebp, 0x1f
imul ebx, ecx
imul ebp, ecx
and eax, 0xf800
imul eax, ecx
add ebx, esi
add ebp, edi
shr ebx, 8
shr ebp, 8
and ebx, 0x7e0
and ebp, 0x1f
or ebx, ebp
add eax, dword [esp + 0x20]
shr eax, 8
and eax, 0xf800
or ebx, eax
mov eax, dword [esp + 0x40]
mov word [edx], bx
add edx, 2
dec eax
mov dword [esp + 0x40], eax
jne 0x4490a1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
add edx, esi
dec eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
jne 0x449070
jmp 0x449462
mov ecx, edi
call fcn.004017d0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.004017b0
mov ecx, edi
mov esi, eax
call fcn.00442b40
movzx ebx, byte [esp + 0x38]
movzx ecx, byte [esp + 0x3c]
movzx ebp, byte [esp + 0x40]
cdq
sub eax, edx
and ebx, 0xfffffff8
and ecx, 0xfffffff8
shl ebx, 7
shl ecx, 2
shr ebp, 3
sar eax, 1
test esi, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebp
jbe 0x449462
lea edx, [eax + eax]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], esi
lea ebx, [ebx]
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x449223
movzx eax, byte [esp + 0x34]
mov esi, eax
imul esi, ecx
mov edi, eax
mov ecx, 0x100
imul edi, ebp
sub ecx, eax
imul eax, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
movzx eax, word [edx]
mov ebx, eax
mov ebp, eax
and ebx, 0x3e0
and ebp, 0x1f
imul ebx, ecx
imul ebp, ecx
and eax, 0x7c00
imul eax, ecx
add ebx, esi
add ebp, edi
shr ebx, 8
shr ebp, 8
and ebx, 0x3e0
and ebp, 0x1f
or ebx, ebp
add eax, dword [esp + 0x2c]
shr eax, 8
and eax, 0x7c00
or ebx, eax
mov eax, dword [esp + 0x40]
mov word [edx], bx
add edx, 2
dec eax
mov dword [esp + 0x40], eax
jne 0x4491c1
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
add edx, esi
dec eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
jne 0x449190
jmp 0x449462
test ecx, ecx
jne 0x44924e
mov esi, dword [edi + 0x78]
jmp 0x449254
mov esi, dword [edi + 0x1c0]
test ecx, ecx
mov dword [esp + 0x18], esi
jne 0x449261
mov edx, dword [edi + 0x7c]
jmp 0x449267
mov edx, dword [edi + 0x1bc]
test ecx, ecx
jne 0x449270
mov ecx, dword [edi + 0x74]
jmp 0x449276
mov ecx, dword [edi + 0x1c4]
test edx, edx
mov dword [esp + 0x14], ecx
jbe 0x449462
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
lea ebx, [ebx]
test esi, esi
jbe 0x449317
movzx ecx, byte [esp + 0x34]
movzx edx, byte [esp + 0x40]
shl edx, 8
lea edi, [edx + ecx + 0x4c4638]
movzx edx, byte [esp + 0x3c]
shl edx, 8
lea ebp, [edx + ecx + 0x4c4638]
movzx edx, byte [esp + 0x38]
shl edx, 8
lea edx, [edx + ecx + 0x4c4638]
lea ebx, [ebx]
movzx ebx, byte [eax]
shl ebx, 8
mov bl, byte [ebx + ecx + 0x4d4638]
add bl, byte [edi]
add eax, 3
mov byte [eax - 3], bl
movzx ebx, byte [eax - 2]
shl ebx, 8
mov bl, byte [ebx + ecx + 0x4d4638]
add bl, byte [ebp]
mov byte [eax - 2], bl
movzx ebx, byte [eax - 1]
shl ebx, 8
mov bl, byte [ebx + ecx + 0x4d4638]
add bl, byte [edx]
dec esi
mov byte [eax - 1], bl
jne 0x4492d0
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add eax, edx
dec ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
jne 0x449290
jmp 0x449462
cmp ecx, 0x22b8
jne 0x449462
test ecx, ecx
jne 0x44934e
mov esi, dword [edi + 0x78]
jmp 0x449354
mov esi, dword [edi + 0x1c0]
test ecx, ecx
mov dword [esp + 0x20], esi
jne 0x449361
mov edx, dword [edi + 0x7c]
jmp 0x449367
mov edx, dword [edi + 0x1bc]
test ecx, ecx
jne 0x449370
mov ecx, dword [edi + 0x74]
jmp 0x449376
mov ecx, dword [edi + 0x1c4]
test edx, edx
mov dword [esp + 0x1c], ecx
jbe 0x449462
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
lea ebx, [ebx]
test esi, esi
jbe 0x449445
movzx ecx, byte [esp + 0x34]
movzx edx, byte [esp + 0x40]
shl edx, 8
lea edi, [edx + ecx + 0x4c4638]
movzx edx, byte [esp + 0x3c]
shl edx, 8
lea ebp, [edx + ecx + 0x4c4638]
movzx edx, byte [esp + 0x38]
shl edx, 8
lea edx, [edx + ecx + 0x4c4638]
mov dword [esp + 0x2c], edx
mov edx, ecx
imul edx, edx, 0x101
lea edx, [edx + 0x4c4638]
mov dword [esp + 0x28], edx
movzx edx, byte [eax]
mov bl, byte [edi]
shl edx, 8
mov dl, byte [edx + ecx + 0x4d4638]
add dl, bl
mov byte [eax], dl
movzx edx, byte [eax + 1]
mov bl, byte [ebp]
shl edx, 8
mov dl, byte [edx + ecx + 0x4d4638]
add dl, bl
mov ebx, dword [esp + 0x2c]
mov byte [eax + 1], dl
movzx edx, byte [eax + 2]
shl edx, 8
mov dl, byte [edx + ecx + 0x4d4638]
add dl, byte [ebx]
mov ebx, dword [esp + 0x28]
mov byte [eax + 2], dl
movzx edx, byte [eax + 3]
shl edx, 8
mov dl, byte [edx + ecx + 0x4d4638]
add dl, byte [ebx]
add eax, 4
dec esi
mov byte [eax - 1], dl
jne 0x4493e0
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add eax, edx
dec ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jne 0x449390
mov eax, dword [edi + 0x228]
test eax, eax
pop esi
pop ebp
pop ebx
jne 0x44947f
mov ecx, edi
call fcn.00444d90
xor eax, eax
pop edi
add esp, 0x20
ret 0x10
cmp dword [edi + 0x1ac], 0x4000
jne 0x44949c
mov edi, dword [edi + 0x18c]
mov eax, dword [edi]
push 0
push edi
call dword [eax + 0x80]
xor eax, eax
pop edi
add esp, 0x20
ret 0x10