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

Disassembly:
sub esp, 0x98
push ebx
push ebp
mov ebx, ecx
push esi
push edi
mov ecx, 0x81a800
mov dword [esp + 0x24], ebx
call fcn.005571f0
mov ebp, 0x2710
xor esi, esi
mov ecx, 0x81a800
mov dword [esp + 0x34], ebp
mov dword [esp + 0x20], ebp
xor edi, edi
mov dword [esp + 0x14], esi
call fcn.00557130
test eax, eax
je 0x61520e
lea esi, [eax + 0x24]
mov ecx, 0x81a800
push esi
call fcn.00547df0
test al, al
je 0x6151f8
mov eax, dword [esi]
push 0
mov dword [esp + 0x40], eax
movsx ecx, word [esp + 0x42]
movsx edx, ax
shl ecx, 8
shl edx, 8
add ecx, 0x80
add edx, 0x80
push ecx
push edx
lea ecx, [esp + 0x4c]
call fcn.0041b630
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x28]
push eax
push ecx
push edx
lea eax, [esp + 0x48]
push 0
push eax
lea ecx, [esp + 0x80]
call fcn.00616510
mov ecx, dword [eax]
push ecx
mov ecx, dword [0x821c8c]
call fcn.0069be10
mov ecx, dword [esp + 0x28]
mov eax, 0x88888889
imul ecx
add edx, ecx
mov ecx, dword [esp + 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
mov esi, edx
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp esi, ebp
jge 0x6151de
mov dword [esp + 0x34], esi
mov ebp, esi
cmp esi, edi
jle 0x6151e4
mov edi, esi
cmp edx, dword [esp + 0x20]
jge 0x6151ee
mov dword [esp + 0x20], edx
cmp edx, dword [esp + 0x14]
jle 0x6151f8
mov dword [esp + 0x14], edx
mov ecx, 0x81a800
call fcn.00557130
test eax, eax
jne 0x615131
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
sub edi, ebp
sub esi, ecx
mov ecx, dword [ebx]
shl edi, 1
test ecx, ecx
je 0x615224
mov edx, dword [ecx]
push 1
call dword [edx]
push 0x24
call fcn.0076d5a7
add esp, 4
test eax, eax
je 0x61523f
push 1
push esi
push edi
mov ecx, eax
call fcn.004aa060
jmp 0x615241
xor eax, eax
mov dword [ebx], eax
mov edx, dword [eax]
push 0
mov ecx, eax
call dword [edx + 0x18]
mov ecx, 0x81a800
call fcn.005571f0
mov ecx, 0x81a800
call fcn.00557130
mov ecx, dword [ebx]
mov edi, eax
xor edx, edx
xor eax, eax
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0x5c]
test edi, edi
je 0x6155d0
mov eax, dword [edi + 0x24]
mov ecx, 0x81a800
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
call fcn.00547df0
test al, al
je 0x6155bc
lea ecx, [esp + 0x1f]
push 0
lea edx, [esp + 0x18]
push ecx
push edx
mov ecx, 0x81a800
mov byte [esp + 0x2b], 0
call fcn.005453b0
mov ecx, eax
call fcn.00470cd0
movsx ecx, word [esp + 0x16]
mov ebx, eax
mov eax, dword [esp + 0x14]
movsx edx, ax
shl ecx, 8
shl edx, 8
add ecx, 0x80
push 0
add edx, 0x80
push ecx
push edx
lea ecx, [esp + 0x78]
mov dword [esp + 0x24], eax
call fcn.0041b630
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x38]
lea ecx, [esp + 0x28]
push eax
push ecx
push edx
lea eax, [esp + 0x24]
push 0
push eax
lea ecx, [esp + 0x70]
call fcn.00616510
mov ecx, dword [eax]
push ecx
mov ecx, dword [0x821c8c]
call fcn.0069be10
mov ecx, dword [esp + 0x28]
mov eax, 0x88888889
imul ecx
add edx, ecx
mov esi, dword [esp + 0x38]
sar edx, 5
mov eax, edx
mov byte [esp + 0x13], 0
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
mov ecx, edx
imul esi
add edx, esi
mov esi, dword [esp + 0x20]
sar edx, 4
mov eax, edx
sub ecx, ebp
shr eax, 0x1f
add edx, eax
mov eax, dword [edi + 0x44]
sub edx, esi
add ecx, ecx
xor esi, esi
cmp eax, 0xffffffff
mov dword [esp + 0x50], edx
mov dword [esp + 0x78], ecx
mov ebp, 0x64
je 0x61549a
mov edx, dword [0xa1e0fc]
xor ecx, ecx
mov cl, byte [edi + 0x11e]
mov eax, dword [edx + eax*4]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, eax
mov dword [esp + 0x20], eax
call fcn.005d5530
mov cx, word [eax]
mov word [esp + 0x2c], cx
mov dl, byte [eax + 2]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x2e], dl
mov cl, byte [eax + 0x279]
test cl, cl
je 0x61543d
mov esi, dword [esp + 0x2e]
mov cl, byte [0x83b2d4]
mov edx, dword [esp + 0x2d]
and esi, 0xff
shr esi, cl
mov ecx, dword [0x83b2d0]
mov eax, dword [esp + 0x2c]
and edx, 0xff
and eax, 0xff
mov ebp, 0x4b
mov byte [esp + 0x13], 1
shl esi, cl
mov cl, byte [0x83b2dc]
shr edx, cl
mov ecx, dword [0x83b2d8]
shl edx, cl
mov cl, byte [0x83b2cc]
shr eax, cl
mov ecx, dword [0x83b2c8]
or esi, edx
shl eax, cl
or esi, eax
mov al, byte [edi + 0x11e]
cmp al, 2
jae 0x61541e
mov ebp, 0x19
jmp 0x615427
cmp al, 5
jae 0x615427
mov ebp, 0x32
push ebp
mov edx, ebx
mov ecx, esi
call fcn.004af110
and eax, 0xffff
mov ebx, eax
jmp 0x615515
mov edx, dword [esp + 0x2e]
mov cl, byte [0x83b2d4]
mov eax, dword [esp + 0x2d]
and edx, 0xff
shr edx, cl
mov ecx, dword [0x83b2d0]
and eax, 0xff
shl edx, cl
mov cl, byte [0x83b2dc]
shr eax, cl
mov ecx, dword [0x83b2d8]
shl eax, cl
mov cl, byte [0x83b2cc]
or edx, eax
mov eax, dword [esp + 0x2c]
and eax, 0xff
shr eax, cl
mov ecx, dword [0x83b2c8]
shl eax, cl
or edx, eax
je 0x615515
mov byte [esp + 0x13], 1
jmp 0x615515
mov edi, dword [edi + 0xe4]
test edi, edi
je 0x615515
mov ecx, dword [edi + 4]
lea eax, [edi + 4]
push eax
call dword [ecx + 0xc]
cmp eax, 0x24
jne 0x615515
mov eax, dword [edi + 0xb0]
mov cl, byte [0x83b2d4]
xor edx, edx
mov byte [esp + 0x13], 1
mov dl, byte [eax + 0x26e]
mov ebp, 0x4b
mov esi, edx
shr esi, cl
mov ecx, dword [0x83b2d0]
shl esi, cl
xor ecx, ecx
mov cl, byte [eax + 0x26d]
mov edx, ecx
mov cl, byte [0x83b2dc]
shr edx, cl
mov ecx, dword [0x83b2d8]
shl edx, cl
xor ecx, ecx
mov cl, byte [eax + 0x26c]
or esi, edx
mov edx, ecx
mov cl, byte [0x83b2cc]
shr edx, cl
mov ecx, dword [0x83b2c8]
shl edx, cl
or esi, edx
mov al, byte [esp + 0x13]
mov edi, ebx
and edi, 0xffff
shr ebx, 0x10
test al, al
je 0x615555
cmp ebp, 0x64
jne 0x615533
mov edi, esi
mov ebx, esi
jmp 0x615555
push ebp
mov edx, edi
mov ecx, esi
call fcn.004af110
and eax, 0xffff
push ebp
mov edx, ebx
mov ecx, esi
mov edi, eax
call fcn.004af110
and eax, 0xffff
mov ebx, eax
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x58], ecx
mov ecx, dword [esi]
mov dword [esp + 0x54], eax
lea edx, [esp + 0x98]
mov ebp, dword [ecx]
push edx
call dword [ebp + 0x78]
mov ecx, dword [esi]
push eax
lea eax, [esp + 0x58]
push ebx
push eax
call dword [ebp + 0x88]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x50]
inc ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esi]
lea eax, [esp + 0x88]
mov ebx, dword [ecx]
push eax
call dword [ebx + 0x78]
push eax
lea ecx, [esp + 0x44]
push edi
push ecx
mov ecx, dword [esi]
call dword [ebx + 0x88]
mov ebp, dword [esp + 0x34]
mov ebx, esi
mov ecx, 0x81a800
call fcn.00557130
mov edi, eax
test edi, edi
jne 0x615277
xor esi, esi
mov edi, 4
mov dword [esp + 0x24], esi
mov ecx, dword [0xa255a0]
push esi
call fcn.0065a0a0
test al, al
je 0x6156e6
mov ecx, dword [0xa255a0]
lea edx, [esp + 0x34]
push esi
push edx
call fcn.00659fe0
mov eax, dword [eax]
lea edx, [esp + 0x28]
mov dword [esp + 0x38], eax
push edx
movsx ecx, word [esp + 0x3e]
movsx eax, ax
shl ecx, 8
shl eax, 8
lea edx, [esp + 0x1c]
add ecx, 0x80
add eax, 0x80
push edx
push ecx
mov ecx, dword [0x821c8c]
push eax
call fcn.0069be10
mov ecx, dword [esp + 0x18]
mov eax, 0x88888889
imul ecx
add edx, ecx
mov esi, dword [esp + 0x28]
sar edx, 5
mov eax, edx
mov dword [esp + 0x64], edi
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
mov ecx, edx
imul esi
add edx, esi
sub ecx, ebp
sar edx, 4
mov eax, edx
lea ecx, [ecx + ecx - 1]
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x20]
sub edx, eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x83b2d4]
dec edx
mov dword [esp + 0x60], edx
xor edx, edx
sar edx, cl
mov ecx, dword [0x83b2d0]
mov dword [esp + 0x68], edi
xor edi, edi
mov eax, dword [ebx]
shl edx, cl
mov ecx, dword [0x83b2dc]
mov esi, dword [eax]
sar edi, cl
mov ecx, dword [0x83b2d8]
shl edi, cl
mov ecx, dword [0x83b2cc]
or edx, edi
mov edi, 0xf0
sar edi, cl
mov ecx, dword [0x83b2c8]
shl edi, cl
lea ecx, [esp + 0x5c]
or edx, edi
push edx
lea edx, [esp + 0x8c]
push ecx
push edx
mov ecx, eax
call dword [esi + 0x78]
mov ecx, dword [ebx]
push eax
call dword [esi + 0x10]
mov esi, dword [esp + 0x24]
mov edi, 4
inc esi
cmp esi, 8
mov dword [esp + 0x24], esi
jl 0x6155db
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x60]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret