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

Disassembly:
sub esp, 0x54
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x228]
test eax, eax
jne 0x448de1
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x6c]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0045ad20
pop ebx
add esp, 0x54
ret 0x1c
push ebp
push esi
push edi
mov ecx, ebx
call fcn.00446eb0
mov ebp, dword [esp + 0x78]
mov ecx, ebp
mov esi, eax
call fcn.00446eb0
test esi, esi
mov edi, eax
jne 0x448e0d
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x54
ret 0x1c
test edi, edi
jne 0x448e20
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x54
ret 0x1c
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebx + 0x228]
test ecx, ecx
mov dword [esp + 0x14], edx
jne 0x448e3f
mov eax, dword [ebx + 0x78]
jmp 0x448e45
mov eax, dword [ebx + 0x1c0]
test ecx, ecx
mov dword [esp + 0x1c], eax
jne 0x448e52
mov eax, dword [ebx + 0x7c]
jmp 0x448e58
mov eax, dword [ebx + 0x1bc]
mov ecx, dword [ebp + 0x228]
test ecx, ecx
mov dword [esp + 0x20], eax
jne 0x448e6b
mov eax, dword [ebp + 0x78]
jmp 0x448e71
mov eax, dword [ebp + 0x1c0]
test ecx, ecx
mov dword [esp + 0x24], eax
jne 0x448e7e
mov eax, dword [ebp + 0x7c]
jmp 0x448e84
mov eax, dword [ebp + 0x1bc]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x14]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], ecx
push eax
mov ecx, ebx
mov dword [esp + 0x5c], edx
call fcn.004469b0
test eax, eax
jne 0x448ede
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x54
ret 0x1c
mov eax, dword [ebx + 0x228]
test eax, eax
jne 0x448ef1
mov edx, dword [ebx + 0x74]
mov dword [esp + 0x74], edx
jmp 0x448efd
mov ecx, dword [ebx + 0x1c4]
mov dword [esp + 0x74], ecx
mov edx, ecx
mov ecx, dword [ebp + 0x228]
test ecx, ecx
jne 0x448f10
mov ebx, dword [ebp + 0x74]
mov dword [esp + 0x68], ebx
jmp 0x448f1c
mov ecx, dword [ebp + 0x1c4]
mov dword [esp + 0x68], ecx
mov ebx, ecx
cmp eax, 0x378
ja 0x4492ec
je 0x4491c6
sub eax, 0x22b
je 0x449087
sub eax, 0xa
jne 0x449445
mov ecx, dword [esp + 0x2c]
mov eax, edx
imul eax, dword [esp + 0x30]
add eax, esi
lea esi, [eax + ecx*2]
mov ecx, dword [esp + 0x34]
mov eax, ebx
imul eax, dword [esp + 0x38]
add eax, edi
lea ebp, [eax + ecx*2]
mov eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
sar ecx, 1
sar eax, 1
test edx, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x68], ebp
jle 0x449445
add ecx, ecx
add eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x70], edx
lea esp, [esp]
test eax, eax
jle 0x449051
mov ecx, ebp
sub ecx, esi
mov edi, esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], eax
cmp word [ecx + edi], 0x7e0
je 0x449037
movzx eax, word [edi]
mov esi, eax
mov edx, eax
and eax, 0x1f
mov dword [esp + 0x74], eax
mov ax, word [ecx + edi]
movzx ecx, ax
shr edx, 5
mov ebx, ecx
and edx, 0x3f
shr ebx, 5
and ebx, 0x3f
mov ebp, 0x3f
sub ebp, edx
imul ebx, ebp
shr ax, 0xb
shr ebx, 1
shl edx, 5
and ebx, 0xffe0
add ebx, edx
shr esi, 0xb
mov edx, 0x1f
sub edx, esi
imul eax, edx
and eax, 0xffe0
shl esi, 5
add eax, esi
shl eax, 6
or ebx, eax
mov eax, dword [esp + 0x74]
and ecx, 0x1f
mov edx, 0x1f
sub edx, eax
imul ecx, edx
shr ecx, 5
add ecx, eax
or ebx, ecx
mov ecx, dword [esp + 0x7c]
mov word [edi], bx
mov eax, dword [esp + 0x6c]
add edi, 2
dec eax
mov dword [esp + 0x6c], eax
jne 0x448fb6
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x68]
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
add esi, edi
add ebp, edx
dec ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x70], ecx
jne 0x448fa0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret 0x1c
mov ecx, dword [esp + 0x2c]
mov eax, edx
imul eax, dword [esp + 0x30]
add eax, esi
lea esi, [eax + ecx*2]
mov ecx, dword [esp + 0x34]
mov eax, ebx
imul eax, dword [esp + 0x38]
add eax, edi
lea edi, [eax + ecx*2]
mov eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
sar ecx, 1
sar eax, 1
test edx, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x68], edi
jle 0x449445
add ecx, ecx
add eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], edx
test eax, eax
jle 0x449190
mov ebx, edi
sub ebx, esi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x6c], eax
cmp word [ebx + esi], 0x3e0
je 0x449176
movzx eax, word [esi]
mov ecx, eax
mov edx, eax
and eax, 0x1f
mov edi, eax
xor eax, eax
mov ax, word [ebx + esi]
shr ecx, 0xa
and ecx, 0x1f
mov ebp, 0x1f
sub ebp, ecx
shl ecx, 5
shr edx, 5
mov ebx, eax
shr ebx, 0xa
and ebx, 0x1f
imul ebx, ebp
and ebx, 0xffe0
add ebx, ecx
mov ecx, eax
and edx, 0x1f
shr ecx, 5
and ecx, 0x1f
mov ebp, 0x1f
sub ebp, edx
imul ecx, ebp
shl edx, 5
and ecx, 0xffe0
add ecx, edx
and eax, 0x1f
mov edx, 0x1f
sub edx, edi
imul eax, edx
shl ebx, 5
shr eax, 5
or ebx, ecx
add eax, edi
or ebx, eax
mov word [esi], bx
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x6c]
add esi, 2
dec eax
mov dword [esp + 0x6c], eax
jne 0x4490f6
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x70]
add esi, edi
mov edi, dword [esp + 0x68]
add edi, edx
dec ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], ecx
jne 0x4490e2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret 0x1c
mov ecx, dword [esp + 0x2c]
mov eax, edx
imul eax, dword [esp + 0x30]
lea esi, [esi + ecx*2]
add esi, ecx
mov ecx, dword [esp + 0x34]
add esi, eax
mov eax, ebx
imul eax, dword [esp + 0x38]
lea edi, [edi + ecx*2]
add edi, ecx
mov ecx, dword [esp + 0x3c]
lea ebp, [edi + eax]
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x40]
test ecx, ecx
mov dword [esp + 0x70], eax
jle 0x449445
mov dword [esp + 0x6c], ecx
xor ecx, ecx
test eax, eax
jle 0x4492cd
mov edx, ebp
sub edx, esi
mov dword [esp + 0x78], edx
jmp 0x449220
lea edi, [ecx + esi]
cmp byte [edi + edx], 0
jne 0x44923b
cmp byte [ecx + ebp + 1], 0xff
jne 0x44923b
cmp byte [ecx + ebp + 2], 0
je 0x4492be
mov bl, byte [edi]
movzx edx, bl
mov eax, 0xff
sub eax, edx
mov edx, dword [esp + 0x78]
movzx edx, byte [edi + edx]
imul eax, edx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
add al, bl
mov bl, byte [ecx + esi + 1]
mov byte [edi], al
movzx eax, byte [ecx + ebp + 1]
movzx edx, bl
mov edi, 0xff
sub edi, edx
imul eax, edi
cdq
and edx, 0xff
add eax, edx
sar eax, 8
add al, bl
mov bl, byte [ecx + esi + 2]
mov byte [ecx + esi + 1], al
movzx eax, byte [ecx + ebp + 2]
movzx edx, bl
mov edi, 0xff
sub edi, edx
imul eax, edi
cdq
and edx, 0xff
add eax, edx
mov edx, dword [esp + 0x78]
sar eax, 8
add al, bl
mov ebx, dword [esp + 0x68]
mov byte [ecx + esi + 2], al
mov eax, dword [esp + 0x70]
add ecx, 3
cmp ecx, eax
jl 0x449220
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
add esi, edx
add ebp, ebx
dec ecx
mov dword [esp + 0x6c], ecx
jne 0x449206
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret 0x1c
cmp eax, 0x22b8
jne 0x449445
mov ecx, dword [esp + 0x2c]
mov eax, edx
imul eax, dword [esp + 0x30]
add eax, esi
lea esi, [eax + ecx*4]
mov ecx, dword [esp + 0x34]
mov eax, ebx
imul eax, dword [esp + 0x38]
add eax, edi
lea edi, [eax + ecx*4]
mov eax, dword [esp + 0x3c]
lea ecx, [eax*4]
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x70], ecx
jle 0x449445
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x70]
xor ecx, ecx
test eax, eax
jle 0x449432
mov eax, edi
sub eax, esi
mov dword [esp + 0x78], eax
lea esp, [esp]
lea ebp, [ecx + esi]
mov dl, byte [eax + ebp]
test dl, dl
mov byte [esp + 0x6c], dl
jne 0x449379
mov dl, byte [edi + ecx + 1]
test dl, dl
jne 0x449379
cmp byte [edi + ecx + 2], 0xff
jne 0x449379
mov dl, byte [edi + ecx + 3]
test dl, dl
je 0x44941f
mov bl, byte [ebp]
movzx edx, bl
mov eax, 0xff
sub eax, edx
movzx edx, byte [esp + 0x6c]
imul eax, edx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
add al, bl
mov bl, byte [ecx + esi + 1]
mov byte [ebp], al
movzx eax, byte [edi + ecx + 1]
movzx edx, bl
mov ebp, 0xff
sub ebp, edx
imul eax, ebp
cdq
and edx, 0xff
add eax, edx
sar eax, 8
add al, bl
mov bl, byte [ecx + esi + 2]
mov byte [ecx + esi + 1], al
movzx eax, byte [edi + ecx + 2]
movzx edx, bl
mov ebp, 0xff
sub ebp, edx
imul eax, ebp
cdq
and edx, 0xff
add eax, edx
sar eax, 8
add al, bl
mov bl, byte [ecx + esi + 3]
mov byte [ecx + esi + 2], al
movzx eax, byte [edi + ecx + 3]
movzx edx, bl
mov ebp, 0xff
sub ebp, edx
imul eax, ebp
cdq
and edx, 0xff
add eax, edx
sar eax, 8
add al, bl
mov ebx, dword [esp + 0x68]
mov byte [ecx + esi + 3], al
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
add ecx, 4
cmp ecx, edx
jl 0x449350
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
add esi, edx
add edi, ebx
dec eax
mov dword [esp + 0x7c], eax
jne 0x449336
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret 0x1c