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

Disassembly:
mov ecx, dword [esp + 0x1c]
sub esp, 0x50
test cl, 1
push ebx
push esi
push edi
push ebp
je 0x44a8f8
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x68]
add eax, eax
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], ecx
test edx, edx
jle 0x44aca3
mov eax, dword [esp + 0x78]
mov dword [esp + 0x40], edx
shl eax, 2
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
mov eax, dword [esi]
mov dword [esp + 0x28], 0
mov ecx, eax
shr eax, 0x10
and ecx, 0xffff
mov edx, ecx
mov ebx, eax
shl ebx, 0xf
and edx, 0x7e0
shl edx, 0xf
and ebx, 0x3f00000
and eax, 0xf81f
add dword [esp + 0x28], ebx
and ecx, 0xf81f
add dword [esp + 0x28], edx
add esi, dword [esp + 0x44]
add dword [esp + 0x28], eax
mov eax, dword [esi]
add dword [esp + 0x28], ecx
mov ecx, eax
shr eax, 0x10
and ecx, 0xffff
mov edx, ecx
mov ebx, eax
shl ebx, 0xf
and edx, 0x7e0
shl edx, 0xf
and ebx, 0x3f00000
and eax, 0xf81f
add ebx, dword [esp + 0x28]
and ecx, 0xf81f
add ebx, edx
add ebx, eax
sub esi, dword [esp + 0x44]
add ebx, ecx
shr ebx, 2
mov eax, ebx
and eax, 0xf81f
shr ebx, 0xf
and ebx, 0x7e0
add eax, ebx
mov word [edi], ax
add esi, 4
add edi, 2
dec dword [esp + 0x54]
jne 0x44a821
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
add ebp, eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
dec edx
mov dword [esp + 0x40], edx
lea ecx, [ecx + eax*2]
mov dword [esp + 0x2c], ecx
jne 0x44a805
jmp 0x44aca3
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
test cl, 2
mov eax, dword [esp + 0x70]
je 0x44ab2f
test eax, eax
jle 0x44aca3
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
shl eax, 2
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], eax
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x14], eax
test ecx, ecx
jle 0x44aafe
mov dword [esp + 0x3c], ecx
xor edi, edi
xor esi, esi
xor ecx, ecx
mov ebp, dword [esp + 0x24]
mov dx, word [ebp]
mov dword [esp + 0x18], edi
cmp word [esp + 0x80], dx
je 0x44a9a4
mov cx, dx
mov edi, 1
and cx, 0xf8ff
shr cx, 8
mov ax, dx
and ecx, 0xffff
and ax, 0x7e0
shr ax, 3
and eax, 0xffff
mov dword [esp + 0x18], eax
mov ax, dx
and eax, 0x1f
lea esi, [eax*8]
mov bx, word [esp + 0x80]
mov ebp, dword [esp + 0x24]
cmp word [ebp + 2], bx
je 0x44a9ec
mov ax, dx
mov ebx, dword [esp + 0x18]
and ax, 0xf8ff
inc edi
shr ax, 8
and eax, 0xffff
add ecx, eax
mov ax, dx
and ax, 0x7e0
shr ax, 3
and eax, 0xffff
add ebx, eax
mov ax, dx
mov dword [esp + 0x18], ebx
and eax, 0x1f
lea esi, [esi + eax*8]
mov bx, word [esp + 0x80]
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x24]
cmp word [ebp + eax*2], bx
je 0x44aa39
mov ax, dx
mov ebx, dword [esp + 0x18]
and ax, 0xf8ff
inc edi
shr ax, 8
and eax, 0xffff
add ecx, eax
mov ax, dx
and ax, 0x7e0
shr ax, 3
and eax, 0xffff
add ebx, eax
mov ax, dx
mov dword [esp + 0x18], ebx
and eax, 0x1f
lea esi, [esi + eax*8]
mov bx, word [esp + 0x80]
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x24]
cmp word [ebp + eax*2 + 2], bx
je 0x44aa83
mov ax, dx
mov ebx, dword [esp + 0x18]
and ax, 0xf8ff
inc edi
shr ax, 8
and eax, 0xffff
add ecx, eax
mov ax, dx
and edx, 0x1f
and ax, 0x7e0
lea esi, [esi + edx*8]
shr ax, 3
and eax, 0xffff
add ebx, eax
mov dword [esp + 0x18], ebx
cmp edi, 2
jl 0x44aace
lea eax, [ecx + edi*4]
cdq
idiv edi
mov ecx, eax
mov eax, dword [esp + 0x18]
and cx, 0xfff8
lea eax, [eax + edi*2]
cdq
shl cx, 8
idiv edi
mov ebx, eax
lea eax, [esi + edi*4]
cdq
shl bx, 3
idiv edi
or cx, bx
mov edx, dword [esp + 0x14]
and cx, 0xffe0
add edx, 2
sar eax, 3
mov dword [esp + 0x14], edx
or cx, ax
mov word [edx - 2], cx
jmp 0x44aae4
mov bx, word [esp + 0x80]
mov eax, dword [esp + 0x14]
mov word [eax], bx
add eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
add eax, 4
dec ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], ecx
jne 0x44a950
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x20], ecx
lea edx, [edx + eax*2]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], edx
jne 0x44a930
jmp 0x44aca3
test eax, eax
jle 0x44aca3
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
shl eax, 2
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
test edx, edx
jle 0x44ac77
mov dword [esp + 0x34], edx
mov si, word [ecx]
mov eax, dword [esp + 0x78]
mov dx, word [ecx + 2]
mov ebp, dword [esp + 0x78]
mov ax, word [ecx + eax*2]
mov bx, word [ecx + ebp*2 + 2]
mov di, bx
and di, 0xf8ff
shr di, 8
mov bp, dx
and edi, 0xffff
and bp, 0x7e0
shr bp, 3
mov word [esp + 0x12], ax
and ebp, 0xffff
mov ax, dx
and edx, 0x1f
and ax, 0xf8ff
shr ax, 8
and eax, 0xffff
add edi, eax
mov ax, word [esp + 0x12]
and ax, 0xf8ff
shr ax, 8
and eax, 0xffff
add edi, eax
mov ax, si
and ax, 0xf8ff
shr ax, 8
and eax, 0xffff
add edi, eax
mov ax, bx
add edi, 8
and ax, 0x7e0
and ebx, 0x1f
shr ax, 3
add edx, ebx
sar edi, 5
and eax, 0xffff
shl di, 0xb
add eax, ebp
mov bp, word [esp + 0x12]
and bp, 0x7e0
shr bp, 3
and ebp, 0xffff
add eax, ebp
mov bp, si
and esi, 0x1f
and bp, 0x7e0
shr bp, 3
and ebp, 0xffff
add eax, ebp
add eax, 4
sar eax, 4
shl ax, 5
or di, ax
mov ax, word [esp + 0x12]
and eax, 0x1f
add edx, eax
add edx, esi
lea edx, [edx*8 + 8]
sar edx, 5
mov eax, dword [esp + 0x14]
or di, dx
add eax, 2
mov word [eax - 2], di
add ecx, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
jne 0x44ab66
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x30]
dec ebx
mov dword [esp + 0x20], ecx
lea edx, [edx + eax*2]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], edx
jne 0x44ab4a
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x50
ret