Function at 0x44a2d0
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 0x44a408
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 0x44a7ad
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, 0x3e0
shl edx, 0xf
and ebx, 0x1f00000
and eax, 0x7c1f
add dword [esp + 0x28], ebx
and ecx, 0x7c1f
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, 0x3e0
shl edx, 0xf
and ebx, 0x1f00000
and eax, 0x7c1f
add ebx, dword [esp + 0x28]
and ecx, 0x7c1f
add ebx, edx
add ebx, eax
sub esi, dword [esp + 0x44]
add ebx, ecx
shr ebx, 2
mov eax, ebx
and eax, 0x7c1f
shr ebx, 0xf
and ebx, 0x3e0
add eax, ebx
mov word [edi], ax
add esi, 4
add edi, 2
dec dword [esp + 0x54]
jne 0x44a331
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 0x44a315
jmp 0x44a7ad
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 0x44a63f
test eax, eax
jle 0x44a7ad
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 0x44a60e
mov dword [esp + 0x3c], ecx
xor esi, esi
xor edi, edi
xor ecx, ecx
mov ebp, dword [esp + 0x24]
mov dx, word [ebp]
mov dword [esp + 0x18], esi
cmp word [esp + 0x80], dx
je 0x44a4b4
mov cx, dx
mov esi, 1
and cx, 0x7c00
shr cx, 7
mov ax, dx
and ecx, 0xffff
and ax, 0x3e0
shr ax, 2
and eax, 0xffff
mov dword [esp + 0x18], eax
mov ax, dx
and eax, 0x1f
lea edi, [eax*8]
mov bx, word [esp + 0x80]
mov ebp, dword [esp + 0x24]
cmp word [ebp + 2], bx
je 0x44a4fc
mov ax, dx
mov ebx, dword [esp + 0x18]
and ax, 0x7c00
inc esi
shr ax, 7
and eax, 0xffff
add ecx, eax
mov ax, dx
and ax, 0x3e0
shr ax, 2
and eax, 0xffff
add ebx, eax
mov ax, dx
mov dword [esp + 0x18], ebx
and eax, 0x1f
lea edi, [edi + eax*8]
mov bx, word [esp + 0x80]
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x24]
cmp word [ebp + eax*2], bx
je 0x44a549
mov ax, dx
mov ebx, dword [esp + 0x18]
and ax, 0x7c00
inc esi
shr ax, 7
and eax, 0xffff
add ecx, eax
mov ax, dx
and ax, 0x3e0
shr ax, 2
and eax, 0xffff
add ebx, eax
mov ax, dx
mov dword [esp + 0x18], ebx
and eax, 0x1f
lea edi, [edi + 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 0x44a593
mov ax, dx
mov ebx, dword [esp + 0x18]
and ax, 0x7c00
inc esi
shr ax, 7
and eax, 0xffff
add ecx, eax
mov ax, dx
and edx, 0x1f
and ax, 0x3e0
lea edi, [edi + edx*8]
shr ax, 2
and eax, 0xffff
add ebx, eax
mov dword [esp + 0x18], ebx
cmp esi, 2
jl 0x44a5de
lea eax, [ecx + esi*4]
cdq
idiv esi
mov ecx, eax
mov eax, dword [esp + 0x18]
and cx, 0xfff8
lea eax, [eax + esi*4]
cdq
shl cx, 5
idiv esi
or cx, ax
mov ebx, eax
and cx, 0xfff8
lea eax, [edi + esi*4]
cdq
shl cx, 2
idiv esi
sar eax, 3
mov edx, dword [esp + 0x14]
or cx, ax
add edx, 2
mov word [edx - 2], cx
mov dword [esp + 0x14], edx
jmp 0x44a5f4
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 0x44a460
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 0x44a440
jmp 0x44a7ad
test eax, eax
jle 0x44a7ad
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 0x44a781
mov dword [esp + 0x34], edx
mov dx, word [ecx]
mov eax, dword [esp + 0x78]
mov di, word [ecx + 2]
mov ebp, dword [esp + 0x78]
mov ax, word [ecx + eax*2]
mov bx, word [ecx + ebp*2 + 2]
mov si, di
and si, 0x3e0
shr si, 2
mov bp, dx
and esi, 0xffff
and bp, 0x7c00
shr bp, 7
mov word [esp + 0x12], ax
and ebp, 0xffff
mov ax, bx
and ax, 0x3e0
shr ax, 2
and eax, 0xffff
add esi, eax
mov ax, word [esp + 0x12]
and ax, 0x3e0
shr ax, 2
and eax, 0xffff
add esi, eax
mov ax, dx
and edx, 0x1f
and ax, 0x3e0
shr ax, 2
and eax, 0xffff
add esi, eax
mov ax, di
add esi, 2
and ax, 0x7c00
and edi, 0x1f
shr ax, 7
add edx, edi
sar esi, 5
and eax, 0xffff
shl si, 5
add eax, ebp
mov bp, bx
and ebx, 0x1f
and bp, 0x7c00
add edx, ebx
shr bp, 7
and ebp, 0xffff
add eax, ebp
mov bp, word [esp + 0x12]
and bp, 0x7c00
shr bp, 7
and ebp, 0xffff
add eax, ebp
add eax, 2
sar eax, 5
shl ax, 0xa
or si, ax
mov ax, word [esp + 0x12]
and eax, 0x1f
add edx, eax
shl edx, 3
add edx, 2
mov eax, dword [esp + 0x14]
sar edx, 5
add eax, 2
or si, dx
add ecx, 4
mov word [eax - 2], si
mov dword [esp + 0x14], eax
dec dword [esp + 0x34]
jne 0x44a676
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 0x44a65a
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x50
ret