Function at 0x44c750
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 0x44c791
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.00461170
pop ebx
add esp, 0x54
ret 0x1c
push ebp
push esi
push edi
mov ecx, ebx
call fcn.0044a870
mov ebp, dword [esp + 0x78]
mov ecx, ebp
mov esi, eax
call fcn.0044a870
test esi, esi
mov edi, eax
jne 0x44c7bd
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x54
ret 0x1c
test edi, edi
jne 0x44c7d0
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 0x44c7ef
mov eax, dword [ebx + 0x78]
jmp 0x44c7f5
mov eax, dword [ebx + 0x1c0]
test ecx, ecx
mov dword [esp + 0x1c], eax
jne 0x44c802
mov eax, dword [ebx + 0x7c]
jmp 0x44c808
mov eax, dword [ebx + 0x1bc]
mov ecx, dword [ebp + 0x228]
test ecx, ecx
mov dword [esp + 0x20], eax
jne 0x44c81b
mov eax, dword [ebp + 0x78]
jmp 0x44c821
mov eax, dword [ebp + 0x1c0]
test ecx, ecx
mov dword [esp + 0x24], eax
jne 0x44c82e
mov eax, dword [ebp + 0x7c]
jmp 0x44c834
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.0044a370
test eax, eax
jne 0x44c88e
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 0x44c8a1
mov edx, dword [ebx + 0x74]
mov dword [esp + 0x74], edx
jmp 0x44c8ad
mov ecx, dword [ebx + 0x1c4]
mov dword [esp + 0x74], ecx
mov edx, ecx
mov ecx, dword [ebp + 0x228]
test ecx, ecx
jne 0x44c8c0
mov ebx, dword [ebp + 0x74]
mov dword [esp + 0x68], ebx
jmp 0x44c8cc
mov ecx, dword [ebp + 0x1c4]
mov dword [esp + 0x68], ecx
mov ebx, ecx
cmp eax, 0x378
ja 0x44cc9c
je 0x44cb76
sub eax, 0x22b
je 0x44ca37
sub eax, 0xa
jne 0x44cdf5
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 0x44cdf5
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 0x44ca01
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 0x44c9e7
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 0x44c966
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 0x44c950
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 0x44cdf5
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 0x44cb40
mov ebx, edi
sub ebx, esi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x6c], eax
cmp word [ebx + esi], 0x3e0
je 0x44cb26
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 0x44caa6
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 0x44ca92
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 0x44cdf5
mov dword [esp + 0x6c], ecx
xor ecx, ecx
test eax, eax
jle 0x44cc7d
mov edx, ebp
sub edx, esi
mov dword [esp + 0x78], edx
jmp 0x44cbd0
lea edi, [ecx + esi]
cmp byte [edi + edx], 0
jne 0x44cbeb
cmp byte [ecx + ebp + 1], 0xff
jne 0x44cbeb
cmp byte [ecx + ebp + 2], 0
je 0x44cc6e
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 0x44cbd0
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
add esi, edx
add ebp, ebx
dec ecx
mov dword [esp + 0x6c], ecx
jne 0x44cbb6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret 0x1c
cmp eax, 0x22b8
jne 0x44cdf5
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 0x44cdf5
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x70]
xor ecx, ecx
test eax, eax
jle 0x44cde2
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 0x44cd29
mov dl, byte [edi + ecx + 1]
test dl, dl
jne 0x44cd29
cmp byte [edi + ecx + 2], 0xff
jne 0x44cd29
mov dl, byte [edi + ecx + 3]
test dl, dl
je 0x44cdcf
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 0x44cd00
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
add esi, edx
add edi, ebx
dec eax
mov dword [esp + 0x7c], eax
jne 0x44cce6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret 0x1c