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

Disassembly:
sub esp, 0xa4
push ebx
mov ebx, dword [esp + 0xb4]
push ebp
push esi
mov esi, dword [esp + 0xc0]
push edi
mov edi, dword [ebx + 0x78]
mov ebx, dword [ebx + 0x7c]
mov eax, edi
imul eax, esi
cdq
and edx, 0x3ff
add eax, edx
mov ebp, ecx
mov ecx, eax
mov eax, ebx
imul eax, esi
cdq
and edx, 0x3ff
add eax, edx
mov esi, eax
sar ecx, 0xa
sar esi, 0xa
test ecx, ecx
mov dword [esp + 0x14], ebp
je 0x45b0fd
test esi, esi
je 0x45b113
xor edx, edx
mov eax, edi
shl eax, 0x10
div ecx
xor edx, edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xac], ecx
mov ecx, ebp
mov dword [esp + 0x78], esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xb0], esi
mov edi, eax
mov eax, ebx
shl eax, 0x10
div esi
mov ebx, dword [ebp + 0x78]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x6c], ebx
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x70], ebx
xor ebx, ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x68], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x64], eax
mov dword [esp + 0x94], eax
lea eax, [esp + 0x64]
push eax
call fcn.004469b0
test eax, eax
jne 0x45b0ce
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0xa4
ret 0x10
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
imul eax, edi
mov edx, dword [ebp + 0x30]
imul ecx, dword [esp + 0x3c]
cmp edx, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc0]
mov esi, dword [eax + 0x30]
mov dword [esp + 0x48], esi
jne 0x45b10f
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xa4
ret 0x10
cmp esi, ebx
jne 0x45b125
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0xa4
ret 0x10
mov esi, dword [eax + 0x74]
mov eax, dword [eax + 0x6c]
mov ebx, dword [ebp + 0x74]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x80]
add esi, eax
cmp eax, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], esi
jge 0x45b3e0
mov esi, dword [esp + 0x8c]
imul ebx, eax
mov edi, dword [esp + 0x7c]
add esi, edi
mov dword [esp + 0x30], esi
mov esi, ecx
add ebx, edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x34], ebx
lea ebx, [ebx]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov eax, esi
shr eax, 0x10
imul edi, eax
add edi, ecx
mov ecx, dword [esp + 0xc0]
mov ecx, dword [ecx + 0x60]
xor edx, edx
cmp ecx, edx
je 0x45b1ab
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x1c], eax
jmp 0x45b1af
mov dword [esp + 0x1c], edx
mov eax, dword [ebp + 0x60]
cmp eax, edx
je 0x45b1bd
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x30]
mov eax, esi
shr eax, 8
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x7c]
cmp eax, ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], eax
jge 0x45b3b7
mov esi, dword [esp + 0x50]
lea ecx, [ebx + eax*2]
mov dword [esp + 0x2c], esi
lea ebx, [eax + ecx + 2]
lea ecx, [ecx]
mov ecx, dword [esp + 0x1c]
mov edx, esi
mov eax, esi
shr eax, 0x10
shr edx, 8
mov byte [esp + 0x24], dl
cmp byte [eax + ecx], 0
mov dword [esp + 0x58], eax
lea esi, [eax + eax*2]
je 0x45b385
mov edx, dword [esp + 0x38]
lea ebp, [edi + edx]
xor eax, eax
mov al, byte [esi + ebp + 3]
push 0x49d610
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 + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push edx
lea eax, [esp + 0x2d]
push eax
call fcn.004466d0
xor ecx, ecx
mov cl, byte [esi + ebp + 4]
push 0x49d610
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 + 0x34]
push ecx
push edx
push eax
lea ecx, [esp + 0x2e]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.004466d0
xor edx, edx
mov dl, byte [esi + ebp + 5]
push 0x49d610
xor eax, eax
mov al, byte [esi + ebp + 2]
mov ebp, dword [esp + 0x28]
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 + 0x23]
push edx
push eax
push ebp
push ecx
mov ecx, dword [esp + 0x34]
call fcn.004466d0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
lea eax, [ecx + edx]
movzx ecx, byte [esi + ecx]
xor edx, edx
mov dl, byte [eax + esi + 1]
movzx eax, byte [eax + esi]
push 0x49d610
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.004466d0
movzx eax, byte [esp + 0x10]
movzx ecx, byte [ebx - 2]
movzx edx, byte [esp + 0x11]
shl ecx, 8
mov cl, byte [ecx + eax + 0x4bd618]
shl edx, 8
add cl, byte [edx + eax + 0x4ad618]
movzx edx, byte [esp + 0x12]
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
mov byte [ebx - 2], cl
movzx ecx, byte [ebx - 1]
shl edx, 8
mov dl, byte [edx + eax + 0x4ad618]
shl ecx, 8
add dl, byte [ecx + eax + 0x4bd618]
movzx ecx, byte [ebx]
mov byte [ebx - 1], dl
movzx edx, byte [esp + 0x13]
shl ecx, 8
mov cl, byte [ecx + eax + 0x4bd618]
shl edx, 8
add cl, byte [edx + eax + 0x4ad618]
mov byte [ebx], cl
mov cl, byte [esi + ebp]
movzx edx, cl
add edx, eax
cmp edx, 0x100
jle 0x45b37e
mov byte [esi + ebp], 0xff
jmp 0x45b385
add cl, byte [esp + 0x10]
mov byte [esi + ebp], cl
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
inc eax
add esi, edx
add ebx, 3
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], esi
jl 0x45b1f0
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x5c]
inc eax
add ebx, edi
add esi, edx
cmp eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], esi
jl 0x45b180
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa4
ret 0x10