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

Disassembly:
sub esp, 0xa4
push ebx
push ebp
mov ebp, dword [esp + 0xb8]
push esi
push edi
mov edi, dword [ebp + 0x188]
test edi, edi
mov ebx, ecx
mov dword [esp + 0x14], ebx
jne 0x44a975
xor eax, eax
jmp 0x44a978
mov eax, dword [ebp + 0x78]
mov esi, dword [esp + 0xc4]
imul eax, esi
cdq
and edx, 0x3ff
add eax, edx
mov ecx, eax
sar ecx, 0xa
test edi, edi
jne 0x44a998
xor eax, eax
jmp 0x44a99b
mov eax, dword [ebp + 0x7c]
imul eax, esi
cdq
and edx, 0x3ff
add eax, edx
mov esi, eax
sar esi, 0xa
test ecx, ecx
je 0x44aaae
test esi, esi
je 0x44aac4
test edi, edi
jne 0x44a9c4
xor eax, eax
jmp 0x44a9c7
mov eax, dword [ebp + 0x78]
test edi, edi
je 0x44a9ce
mov edi, dword [ebp + 0x7c]
shl eax, 0x10
xor edx, edx
div ecx
xor edx, edx
mov dword [esp + 0x3c], eax
mov eax, edi
shl eax, 0x10
div esi
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edi
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x188]
test eax, eax
jne 0x44aa0a
xor ebx, ebx
jmp 0x44aa0d
mov ebx, dword [ebx + 0x78]
test eax, eax
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x14]
je 0x44aa1c
mov eax, dword [ebx + 0x7c]
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xac], ecx
push eax
mov ecx, ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xb4], esi
call fcn.00449330
test eax, eax
jne 0x44aa84
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0xa4
ret 0x10
mov eax, dword [esp + 0x84]
imul eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x88]
mov edi, dword [ebx + 0x30]
imul esi, dword [esp + 0x40]
test edi, edi
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x4c], eax
jne 0x44aac0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xa4
ret 0x10
test eax, eax
jne 0x44aad6
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0xa4
ret 0x10
mov ecx, ebx
call fcn.004012f0
mov ebx, eax
mov ecx, ebp
mov dword [esp + 0x54], ebx
call fcn.004012f0
mov ecx, dword [ebp + 0x6c]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x58], ecx
lea ecx, [edx + eax]
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x5c], ecx
jge 0x44ad9b
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
add ecx, edx
mov dword [esp + 0x38], ecx
mov ecx, ebx
imul ecx, eax
add ecx, edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x2c], ecx
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov eax, esi
shr eax, 0x10
imul edi, eax
add edi, ecx
mov ecx, dword [ebp + 0x60]
xor edx, edx
cmp ecx, edx
je 0x44ab5a
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x28], eax
jmp 0x44ab5e
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x60]
cmp eax, edx
je 0x44ab76
mov edx, dword [esp + 0x24]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x30], eax
jmp 0x44ab7a
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x7c]
mov ecx, esi
shr ecx, 8
mov byte [esp + 0x18], cl
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
jge 0x44ad72
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x60]
lea ecx, [edx + eax*2]
mov dword [esp + 0x34], esi
lea ebx, [eax + ecx + 2]
mov ecx, dword [esp + 0x28]
mov edx, esi
mov eax, esi
shr eax, 0x10
shr edx, 8
mov byte [esp + 0x20], dl
cmp byte [eax + ecx], 0
mov dword [esp + 0x50], eax
lea esi, [eax + eax*2]
je 0x44ad44
mov edx, dword [esp + 0x44]
lea ebp, [edi + edx]
xor eax, eax
mov al, byte [esi + ebp + 3]
push 0x493900
xor ecx, ecx
mov cl, byte [esi + ebp]
xor edx, edx
mov dl, byte [esi + edi + 3]
push eax
xor eax, eax
mov al, byte [esi + edi]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push edx
lea eax, [esp + 0x2f]
push eax
call fcn.0043c610
xor ecx, ecx
mov cl, byte [esi + ebp + 4]
push 0x493900
xor edx, edx
mov dl, byte [esi + ebp + 1]
xor eax, eax
mov al, byte [esi + edi + 4]
push ecx
xor ecx, ecx
mov cl, byte [esi + edi + 1]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
lea ecx, [esp + 0x2d]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0043c610
xor edx, edx
mov dl, byte [esi + ebp + 5]
push 0x493900
xor eax, eax
mov al, byte [esi + ebp + 2]
mov ebp, dword [esp + 0x24]
xor ecx, ecx
mov cl, byte [esi + edi + 5]
push edx
xor edx, edx
mov dl, byte [esi + edi + 2]
push eax
mov eax, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x22]
push edx
push eax
push ebp
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0043c610
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x50]
lea eax, [ecx + edx]
movzx ecx, byte [esi + ecx]
xor edx, edx
mov dl, byte [eax + esi + 1]
movzx eax, byte [eax + esi]
push 0x493900
push edx
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
push ebp
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x2c]
push edx
call fcn.0043c610
movzx eax, byte [esp + 0x10]
movzx ecx, byte [ebx - 2]
movzx edx, byte [esp + 0x13]
shl ecx, 8
mov cl, byte [ecx + eax + 0x4b3908]
shl edx, 8
add cl, byte [edx + eax + 0x4a3908]
movzx edx, byte [esp + 0x11]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x30]
mov byte [ebx - 2], cl
movzx ecx, byte [ebx - 1]
shl edx, 8
mov dl, byte [edx + eax + 0x4a3908]
shl ecx, 8
add dl, byte [ecx + eax + 0x4b3908]
movzx ecx, byte [ebx]
mov byte [ebx - 1], dl
movzx edx, byte [esp + 0x12]
shl ecx, 8
mov cl, byte [ecx + eax + 0x4b3908]
shl edx, 8
add cl, byte [edx + eax + 0x4a3908]
mov byte [ebx], cl
mov cl, byte [esi + ebp]
movzx edx, cl
add edx, eax
cmp edx, 0x100
jle 0x44ad36
mov byte [esi + ebp], 0xff
jmp 0x44ad3d
add cl, byte [esp + 0x10]
mov byte [esi + ebp], cl
mov ebp, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
inc eax
add esi, edx
add ebx, 3
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], esi
jl 0x44aba8
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
inc eax
add edi, ebx
add esi, edx
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x48], esi
jl 0x44ab36
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa4
ret 0x10