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

Disassembly:
jmp 0x10085940
sub esp, 0xb4
mov eax, dword [0x1029e0c0]
xor eax, esp
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0xc4]
push ebx
mov ebx, dword [esp + 0xbc]
push ebp
push esi
push edi
cmp dword [ebx + 0x75fc], 0
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edi
jne 0x10085989
mov eax, dword [esp + 0xd0]
add eax, edi
jmp 0x1008598f
mov eax, dword [ebx + 0x75f4]
mov edx, dword [ebx + 0x7578]
mov ebp, edi
mov esi, dword [ebx + 0x7588]
mov dword [esp + 0x38], eax
add esi, edx
cmp dword [esp + 0xdc], 0
mov eax, dword [ebx + 0x74b0]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x74b4]
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x74b8]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], eax
je 0x1008637d
push dword [esp + 0xd8]
mov dword [ebx + 0x750c], 1
mov eax, dword [ebx + 0x682c]
mov dword [esp + 0xb8], eax
mov eax, dword [ebx + 0x6830]
mov dword [esp + 0xbc], eax
mov eax, dword [ebx + 0x6834]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x8c]
push ecx
push eax
call fcn.1007f940
add esp, 0xc
cmp eax, 0xffffff88
jbe 0x10085a37
mov eax, 0xffffffec
jmp 0x100863a5
push dword [ebx]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.100869d0
push dword [ebx + 8]
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.100869d0
push dword [ebx + 4]
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.100869d0
mov eax, dword [esp + 0xc8]
add esp, 0x24
mov ebx, dword [esp + 0xac]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x3c]
mov eax, dword [eax + edx*8 + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [ecx + eax*8 + 4]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xa8]
mov esi, dword [ecx + ebp*8 + 4]
mov ecx, dword [esp + 0xa0]
mov al, byte [ecx + eax*8 + 2]
mov ecx, dword [esp + 0xa8]
mov byte [esp + 0x27], al
mov eax, dword [esp + 0xb0]
mov al, byte [eax + edx*8 + 2]
mov edx, dword [esp + 0x40]
mov byte [esp + 0x13], al
mov al, byte [ecx + ebp*8 + 2]
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x44]
movzx edx, word [ecx + edx*8]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + ebp*8]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x34], edx
movzx edx, word [ecx + ebp*8]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x40]
movzx edx, byte [ecx + edx*8 + 3]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x44]
movzx edx, byte [ecx + edx*8 + 3]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x3c], edx
movzx edx, byte [ecx + ebp*8 + 3]
mov ebp, dword [esp + 0x88]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], edx
cmp al, 1
jbe 0x10085d4b
cmp dword [esp + 0xe0], 0
je 0x10085c37
cmp al, 0x19
jb 0x10085c37
mov ecx, ebx
movzx eax, al
and ecx, 0x1f
sub eax, 5
mov edx, ebp
add ebx, eax
shl edx, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr edx, cl
shl edx, 5
add edx, esi
cmp ebx, 0x20
ja 0x10085c20
cmp edi, dword [esp + 0x98]
jb 0x10085be9
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x10085c10
mov esi, dword [esp + 0x94]
cmp edi, esi
je 0x10085c20
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, esi
jae 0x10085c05
mov ecx, edi
sub ecx, esi
lea eax, [ecx*8]
sub edi, ecx
sub ebx, eax
mov ebp, dword [edi]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x90], edi
mov ecx, ebx
mov eax, ebp
and ecx, 0x1f
add ebx, 5
shl eax, cl
shr eax, 0x1b
add edx, eax
mov dword [esp + 0x1c], edx
jmp 0x10085ca6
movzx edx, al
mov ecx, ebx
and ecx, 0x1f
mov eax, ebp
shl eax, cl
add ebx, edx
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
lea edx, [eax + esi]
mov dword [esp + 0x1c], edx
cmp ebx, 0x20
ja 0x10085ca6
cmp edi, dword [esp + 0x98]
jb 0x10085c6f
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x10085c96
mov esi, dword [esp + 0x94]
cmp edi, esi
je 0x10085ca6
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, esi
jae 0x10085c8b
mov ecx, edi
sub ecx, esi
lea eax, [ecx*8]
sub edi, ecx
sub ebx, eax
mov ebp, dword [edi]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x90], edi
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ecx
mov al, byte [esp + 0x13]
test al, al
je 0x10085cfa
movzx edx, al
mov ecx, ebx
and ecx, 0x1f
mov eax, ebp
shl eax, cl
add ebx, edx
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x14]
add ecx, eax
mov al, byte [esp + 0x13]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x74], ecx
mov dl, byte [esp + 0x27]
movzx ecx, al
movzx eax, dl
add ecx, eax
cmp ecx, 0x14
jb 0x10085e31
cmp ebx, 0x20
ja 0x10085e31
mov ebp, dword [esp + 0x94]
cmp edi, dword [esp + 0x98]
jb 0x10085e03
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov dword [esp + 0x90], edi
mov esi, dword [edi]
mov dword [esp + 0x88], esi
jmp 0x10085e3f
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x10085d86
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + edx*4 + 0xb4]
neg eax
mov dword [esp + 0x1c], ecx
sbb eax, eax
and eax, 4
mov esi, dword [esp + eax + 0xb4]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], ecx
jmp 0x10085cc9
mov ecx, ebx
mov eax, ebp
and ecx, 0x1f
inc ebx
shl eax, cl
shr eax, 0x1f
mov dword [esp + 0x8c], ebx
lea ecx, [eax + edx]
xor edx, edx
add ecx, esi
cmp ecx, 3
jne 0x10085dce
mov ecx, dword [esp + 0xb4]
lea eax, [ecx - 1]
test eax, eax
sete dl
add edx, eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xbc], eax
jmp 0x10085cbb
mov eax, dword [esp + ecx*4 + 0xb4]
test eax, eax
sete dl
add edx, eax
mov dword [esp + 0x1c], edx
cmp ecx, 1
je 0x10085cb4
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x10085cbb
cmp edi, ebp
je 0x10085e38
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x10085e18
mov ecx, edi
sub ecx, ebp
sub edi, ecx
imul eax, ecx, 0xfffffff8
mov dword [esp + 0x90], edi
mov esi, dword [edi]
add ebx, eax
mov dword [esp + 0x88], esi
jmp 0x10085e3f
mov ebp, dword [esp + 0x94]
mov esi, dword [esp + 0x88]
test dl, dl
je 0x10085e68
mov ecx, ebx
movzx edx, dl
and ecx, 0x1f
mov eax, esi
shl eax, cl
add ebx, edx
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x30]
add ecx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x70], ecx
cmp ebx, 0x20
ja 0x10085eae
cmp edi, dword [esp + 0x98]
jb 0x10085e82
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x10085e9e
cmp edi, ebp
je 0x10085eae
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x10085e97
mov ecx, edi
sub ecx, ebp
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebx, eax
mov esi, dword [edi]
mov dword [esp + 0x88], esi
mov dword [esp + 0x90], edi
mov eax, dword [esp + 0x48]
lea edx, [ebx + eax]
mov ebx, esi
mov ecx, edx
mov dword [esp + 0x8c], edx
neg ecx
and ecx, 0x1f
shr ebx, cl
and ebx, dword [eax*4 + 0x10288e28]
mov eax, dword [esp + 0x2c]
movzx eax, ax
add ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x9c], ebx
lea ecx, [edx + eax]
lea ebx, [eax + edx]
neg ecx
and ecx, 0x1f
mov edx, esi
shr edx, cl
and edx, dword [eax*4 + 0x10288e28]
mov eax, dword [esp + 0x34]
movzx eax, ax
add edx, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0xac], edx
cmp ebx, 0x20
ja 0x10085f5a
cmp edi, dword [esp + 0x98]
jb 0x10085f2a
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x10085f4a
cmp edi, ebp
je 0x10085f5a
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x10085f3f
mov ecx, edi
sub ecx, ebp
lea eax, [ecx*8]
sub edi, ecx
sub ebx, eax
mov esi, dword [edi]
mov dword [esp + 0x88], esi
mov dword [esp + 0x90], edi
mov edx, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esp + 0x30]
add ebx, edx
movq xmm0, qword [esp + 0x70]
mov ecx, ebx
neg ecx
mov dword [esp + 0x48], ebx
and ecx, 0x1f
mov dword [esp + 0x8c], ebx
shr eax, cl
and eax, dword [edx*4 + 0x10288e28]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x18]
movzx ecx, cx
add edx, esi
add ecx, eax
movq qword [esp + 0x7c], xmm0
mov eax, dword [esp + 0x14]
mov ebp, edx
mov dword [esp + 0x3c], ecx
add eax, esi
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x20]
add ecx, esi
mov dword [esp + 0x28], edx
mov esi, dword [esp + 0x1c]
sub ebp, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x2c], ebp
cmp ecx, dword [esp + 0x54]
ja 0x10086254
mov ecx, dword [esp + 0x18]
add ecx, eax
mov eax, dword [esp + 0x38]
add eax, 0xffffffe0
cmp ecx, eax
ja 0x10086254
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
sub ecx, dword [esp + 0x18]
add eax, 0x20
cmp ecx, eax
jb 0x10086254
push dword [esp + 0x20]
push dword [esp + 0x1c]
call fcn.10080150
mov eax, dword [esp + 0x38]
add esp, 8
cmp eax, 0x10
jbe 0x1008607d
mov esi, dword [esp + 0x18]
lea edx, [eax - 0x10]
mov ebp, dword [esp + 0x20]
add esi, 0x10
add ebp, 0x10
push ebp
push esi
lea eax, [esi + edx]
mov dword [esp + 0x60], eax
call fcn.10080150
add esp, 8
cmp edx, 0x10
jle 0x10086071
mov edx, dword [esp + 0x58]
add esi, 0x10
add ebp, 0x10
nop dword [eax + eax]
push ebp
push esi
call fcn.10080150
add ebp, 0x10
add esi, 0x10
push ebp
push esi
call fcn.10080150
add esi, 0x10
add esp, 0x10
add ebp, 0x10
cmp esi, edx
jb 0x10086050
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], eax
mov eax, edx
sub eax, ecx
cmp esi, eax
jbe 0x100860fb
mov eax, edx
sub eax, dword [esp + 0x64]
cmp esi, eax
ja 0x10085a2d
mov esi, dword [esp + 0x60]
mov eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x14]
add ebp, eax
lea eax, [ecx + ebp]
cmp eax, esi
ja 0x100860d4
push ecx
push ebp
push edx
call fcn.10005029
mov eax, dword [esp + 0x40]
add esp, 0xc
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
jmp 0x1008628e
sub esi, ebp
push esi
push ebp
push edx
call fcn.10005029
mov edx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x14]
add edx, esi
mov ebp, dword [esp + 0x4c]
sub eax, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
jmp 0x10086102
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
cmp esi, 0x10
jb 0x10086162
add eax, edx
push ebp
push edx
mov dword [esp + 0x64], eax
call fcn.10080150
add esp, 8
cmp dword [esp + 0x14], 0x10
jle 0x10086151
lea esi, [ebp + 0x10]
add edx, 0x10
mov ebp, dword [esp + 0x5c]
nop dword [eax]
push esi
push edx
call fcn.10080150
add esi, 0x10
add edx, 0x10
push esi
push edx
call fcn.10080150
add edx, 0x10
add esp, 0x10
add esi, 0x10
cmp edx, ebp
jb 0x10086130
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
jmp 0x1008628e
cmp esi, 8
jae 0x1008619f
movzx eax, byte [ebp]
mov byte [edx], al
movzx eax, byte [ebp + 1]
mov byte [edx + 1], al
movzx eax, byte [ebp + 2]
mov byte [edx + 2], al
movzx eax, byte [ebp + 3]
add ebp, dword [esi*4 + 0x10288ea8]
mov byte [edx + 3], al
lea eax, [edx + 4]
push ebp
push eax
call fcn.10080170
add esp, 8
sub ebp, dword [esi*4 + str._b_b_b_a_b_t_n_v]
jmp 0x100861ad
push ebp
push edx
call fcn.10080180
mov edx, dword [esp + 0x30]
add esp, 8
mov eax, dword [esp + 0x14]
cmp eax, 8
jbe 0x10086246
add eax, 0xfffffff8
lea esi, [edx + 8]
add eax, esi
add ebp, 8
mov dword [esp + 0x2c], eax
mov eax, esi
sub eax, ebp
cmp eax, 0x10
jge 0x10086201
mov ebx, dword [esp + 0x2c]
sub ebp, esi
lea eax, [esi + ebp]
push eax
push esi
call fcn.10080180
add esi, 8
add esp, 8
cmp esi, ebx
jb 0x100861d8
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
jmp 0x1008628e
push ebp
push esi
call fcn.10080150
mov eax, dword [esp + 0x1c]
add esp, 8
add eax, 0xfffffff8
cmp eax, 0x10
jle 0x10086246
mov ebx, dword [esp + 0x2c]
lea edx, [esi + 0x10]
lea esi, [ebp + 0x10]
push esi
push edx
call fcn.10080150
add esi, 0x10
add edx, 0x10
push esi
push edx
call fcn.10080150
add edx, 0x10
add esp, 0x10
add esi, 0x10
cmp edx, ebx
jb 0x10086221
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
jmp 0x1008628e
push dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
lea eax, [esp + 0x54]
push dword [esp + 0x68]
push dword [esp + 0x54]
push dword [esp + 0x60]
push eax
sub esp, 0xc
mov eax, esp
push dword [esp + 0x58]
movq qword [eax], xmm0
push ebp
mov dword [eax + 8], esi
call fcn.10086660
mov edx, dword [esp + 0x78]
add esp, 0x28
mov dword [esp + 0x20], edx
cmp eax, 0xffffff88
ja 0x100863a5
add ebp, eax
sub dword [esp + 0xdc], 1
mov dword [esp + 0x18], ebp
je 0x10086322
cmp ebx, 0x20
ja 0x10085ab0
cmp edi, dword [esp + 0x98]
jb 0x100862df
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov ebp, dword [edi]
mov dword [esp + 0x88], ebp
jmp 0x10085ab0
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x10085ab0
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x100862ff
mov ecx, edi
sub ecx, edx
sub edi, ecx
imul eax, ecx, 0xfffffff8
mov dword [esp + 0x90], edi
mov ebp, dword [edi]
add ebx, eax
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebx
jmp 0x10085ab0
cmp ebx, 0x20
ja 0x1008634a
cmp edi, dword [esp + 0x98]
jae 0x10085a2d
cmp edi, dword [esp + 0x94]
jne 0x10085a2d
cmp ebx, 0x20
jb 0x10085a2d
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
mov edi, dword [esp + 0x6c]
mov dword [esi + 0x6830], eax
mov eax, dword [esp + 0xbc]
mov dword [esi + 0x682c], ecx
mov dword [esi + 0x6834], eax
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
sub esi, edx
sub eax, ebp
cmp esi, eax
jbe 0x10086390
mov eax, 0xffffffba
jmp 0x100863a5
test ebp, ebp
je 0x100863a1
push esi
push edx
push ebp
call fcn.10004eda
add esp, 0xc
add ebp, esi
sub ebp, edi
mov eax, ebp
mov ecx, dword [esp + 0xc0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10002c9d
add esp, 0xb4
ret