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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
mov ebp, dword [esp + 0x3c]
push esi
push edi
mov edi, ecx
mov ebx, 1
mov ecx, ebp
mov dword [esp + 0x14], ebx
call fcn.1014abf0
mov edx, dword [ebp]
mov esi, dword [ebp + 0x90]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x78]
push eax
mov ecx, ebp
mov dword [esp + 0x24], 0
call dword [edx + 0x18]
mov edx, dword [edi + 0x40]
sub edx, dword [edi + 0x1c]
xor ecx, ecx
add edx, 0xffffffff
cmp edx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x44], edx
jbe 0x101b00a4
lea ecx, [eax + 1]
add eax, ebx
shl eax, 0x15
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
test bl, 1
je 0x101b0080
cmp dword [esp + 0x1c], 0x40
ja 0x101afc29
mov ecx, dword [esp + 0x20]
cmp ecx, dword [edi + 0x90]
jae 0x101afc29
mov eax, dword [edi + 0x8c]
mov edx, ecx
and ecx, 0x1f
mov ebx, 1
shl ebx, cl
shr edx, 5
test dword [eax + edx*4], ebx
mov ebx, dword [esp + 0x14]
setne al
test al, al
jne 0x101b0059
mov edx, dword [esp + 0x44]
mov ecx, dword [edi + 0x44]
add ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x2c]
cmp dword [eax + ecx*4], 1
jne 0x101b004f
cmp dword [esp + 0x10], edx
jae 0x101aff22
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x3f
ja 0x101afc7b
cmp ecx, dword [edi + 0x90]
jae 0x101afc7b
mov eax, dword [edi + 0x8c]
mov edx, ecx
and ecx, 0x1f
mov ebx, 1
shl ebx, cl
shr edx, 5
test dword [eax + edx*4], ebx
setne al
test al, al
jne 0x101aff22
test byte [esp + 0x18], 1
jne 0x101aff22
mov ecx, dword [edi + 0x44]
add ecx, dword [esp + 0x10]
mov edx, dword [edi + 0x50]
lea eax, [edx + ecx*4]
mov edx, dword [eax]
mov ecx, dword [edi + 0x34]
mov ebx, dword [ecx + edx*4]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ebp]
push ecx
mov ecx, ebp
call dword [edx + 0x18]
mov edx, dword [ebp]
push ebx
mov ecx, ebp
mov dword [esp + 0x48], eax
call dword [edx + 0x18]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
jne 0x101aff22
mov eax, dword [edi + 0x44]
mov ebx, dword [esp + 0x10]
mov ecx, dword [edi + 0x50]
add eax, ebx
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x1c]
test eax, eax
jne 0x101afd05
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x50]
add eax, ebx
mov edx, dword [ecx + eax*4 + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x1c]
cmp eax, 4
je 0x101afd45
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x50]
add eax, ebx
mov edx, dword [ecx + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [edi + 0x34]
mov ebx, dword [ecx + edx*4]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ebp]
push ecx
mov ecx, ebp
call dword [edx + 0x1c]
mov edx, dword [ebp]
push ebx
mov ecx, ebp
mov dword [esp + 0x48], eax
call dword [edx + 0x1c]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
jne 0x101aff22
mov ebx, dword [esp + 0x10]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [esi + 8]
and ecx, 0xff7fff81
or ecx, 0x600001
mov dword [esi + 8], ecx
push 1
mov ecx, esi
call fcn.100fc410
mov edx, dword [esp + 0x28]
push 0
push 0
push edx
push 2
mov ecx, esi
call fcn.100f2e20
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x50]
add eax, ebx
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 0x34]
mov ebx, dword [eax + edx*4]
mov edx, dword [ebp]
push ebx
mov ecx, ebp
call dword [edx + 0x1c]
mov dword [esp + 0x44], eax
mov eax, dword [ebp]
push ebx
mov ecx, ebp
call dword [eax + 0x18]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
shr ecx, 0x15
and edx, 0xfffffc3f
and ecx, 7
or edx, 0x20
cmp ecx, 5
mov dword [esi + 0xc], edx
ja case.0x101afdbd.0
jmp dword [ecx*4 + 0x101b045c]
mov ecx, dword [esi + 0x10]
and ecx, 0xfe45ffff
or ecx, 0x450000
mov dword [esi + 0x10], ecx
jmp 0x101afe1b
mov edx, dword [esi + 0x10]
and edx, 0xfe69ffff
or edx, 0x690000
mov dword [esi + 0x10], edx
jmp 0x101afe1b
mov ecx, dword [esi + 0x10]
and ecx, 0xfe8dffff
or ecx, 0x8d0000
mov dword [esi + 0x10], ecx
jmp 0x101afe1b
mov edx, dword [esi + 0x10]
and edx, 0xfe8dffff
or edx, 0x8d0000
mov dword [esi + 0x10], edx
jmp 0x101afe1b
and dword [esi + 0x10], 0xfe00ffff
mov ecx, dword [esp + 0x44]
mov edx, dword [esi + 0x10]
mov ebx, dword [esp + 0x10]
and eax, 0xff
add ecx, ecx
shl eax, 5
add ecx, ecx
and ecx, 0x1f
or eax, ecx
and edx, 0xffff6000
or eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x50]
add eax, ebx
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x1c]
test eax, eax
jne 0x101afe96
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x50]
add eax, ebx
mov edx, dword [ecx + eax*4 + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x1c]
cmp eax, 4
jne 0x101afe96
mov eax, dword [esi + 0x10]
mov ebx, dword [esp + 0x14]
and eax, 0xfe69ffff
or eax, 0x690000
mov dword [esi + 0x10], eax
jmp 0x101afeed
mov ecx, dword [edi + 0x44]
mov edx, dword [edi + 0x50]
add ecx, ebx
lea eax, [edx + ecx*4]
mov edx, dword [eax]
mov ecx, dword [edi + 0x34]
mov ebx, dword [ecx + edx*4]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ebp]
push ecx
mov ecx, ebp
call dword [edx + 0x1c]
mov edx, dword [ebp]
push ebx
mov ecx, ebp
mov dword [esp + 0x48], eax
call dword [edx + 0x1c]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
mov ebx, dword [esp + 0x14]
jne 0x101afee3
mov eax, dword [esi + 0x10]
and eax, 0xfe09ffff
or eax, 0x90000
mov dword [esi + 0x10], eax
jmp 0x101afeed
and ebx, 0xfffffffe
or ebx, 2
mov dword [esp + 0x14], ebx
test bl, 1
je 0x101aff08
lea eax, [esi + 8]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebp
call fcn.10142640
mov ebx, dword [eax]
mov dword [esp + 0x14], ebx
mov eax, 1
add dword [esp + 0x10], eax
add dword [esp + 0x18], eax
add dword [esp + 0x20], eax
add dword [esp + 0x1c], eax
jmp 0x101b0059
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
and eax, 0xef5fff81
or eax, 0x400201
mov dword [esi + 8], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
and eax, 1
lea ebx, [esi + 8]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
and eax, 0x1f
shl eax, 0x10
and ecx, 0xffe0
or eax, ecx
and edx, 0x1fe00000
or eax, edx
or eax, 0x20000002
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x44]
add eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x50]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
mov dword [esp + 0x18], eax
call dword [edx + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0x18]
mov ecx, dword [ebx]
mov edx, dword [esi + 0xc]
shr ecx, 0x15
and edx, 0xfffffc3f
and ecx, 7
or edx, 0x20
cmp ecx, 5
mov dword [esi + 0xc], edx
ja case.0x101affbd.0
jmp dword [ecx*4 + 0x101b0474]
mov ecx, dword [esi + 0x10]
and ecx, 0xfe45ffff
or ecx, 0x450000
mov dword [esi + 0x10], ecx
jmp 0x101b001b
mov edx, dword [esi + 0x10]
and edx, 0xfe69ffff
or edx, 0x690000
mov dword [esi + 0x10], edx
jmp 0x101b001b
mov ecx, dword [esi + 0x10]
and ecx, 0xfe8dffff
or ecx, 0x8d0000
mov dword [esi + 0x10], ecx
jmp 0x101b001b
mov edx, dword [esi + 0x10]
and edx, 0xfe8dffff
or edx, 0x8d0000
mov dword [esi + 0x10], edx
jmp 0x101b001b
and dword [esi + 0x10], 0xfe00ffff
mov ecx, dword [esp + 0x44]
mov edx, dword [esi + 0x10]
add ecx, ecx
and eax, 0xff
add ecx, ecx
shl eax, 5
and ecx, 0x1f
or eax, ecx
and edx, 0xffff6000
or eax, edx
mov dword [esi + 0x10], eax
push ebx
lea eax, [esp + 0x3c]
push eax
mov ecx, ebp
call fcn.10142640
mov ebx, dword [eax]
jmp 0x101b0055
and ebx, 0xfffffffe
or ebx, 2
mov dword [esp + 0x14], ebx
mov ecx, 1
add dword [esp + 0x18], ecx
je 0x101b0076
test byte [esp + 0x18], cl
jne 0x101b0076
add dword [esp + 0x24], 0x200000
add dword [esp + 0x28], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x1c], ecx
jmp 0x101b0085
mov ecx, 1
mov edx, dword [edi + 0x40]
sub edx, dword [edi + 0x1c]
mov eax, dword [esp + 0x10]
add eax, ecx
add edx, 0xffffffff
cmp eax, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x44], edx
jb 0x101afbe2
test bl, 1
je 0x101b044a
mov ecx, dword [esp + 0x20]
cmp ecx, 0x3f
ja 0x101b00e1
cmp ecx, dword [edi + 0x90]
jae 0x101b00e1
mov eax, dword [edi + 0x8c]
mov edx, ecx
and ecx, 0x1f
mov ebx, 1
shl ebx, cl
shr edx, 5
test dword [eax + edx*4], ebx
setne al
test al, al
jne 0x101b0165
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x2c]
push 0
lea ebx, [esi + 8]
push 0
and eax, 0xef7fff81
push ecx
or eax, 0x600201
push 2
mov ecx, esi
mov dword [ebx], eax
call fcn.100f2e20
mov edx, dword [edi + 0x44]
add edx, dword [esp + 0x10]
mov eax, dword [edi + 0x50]
mov ecx, dword [eax + edx*4]
mov edx, dword [edi + 0x34]
mov eax, dword [edx + ecx*4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
mov dword [esp + 0x18], eax
call dword [edx + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0x18]
mov edx, dword [esp + 0x44]
push 0
push edx
push eax
push 1
push 0
mov ecx, esi
call fcn.100f2ee0
push ebx
lea eax, [esp + 0x48]
push eax
mov ecx, ebp
call fcn.10142640
mov ebx, dword [eax]
mov dword [esp + 0x14], ebx
jmp 0x101b0169
mov ebx, dword [esp + 0x14]
test bl, 1
je 0x101b044a
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x101b028b
mov eax, dword [edi + 0x44]
sub eax, ecx
add eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x2c]
add eax, eax
add eax, eax
cmp dword [eax + ecx], 0
je 0x101b028b
mov ecx, dword [edi + 0x5c]
mov edx, dword [edi + 0x4c]
mov edx, dword [ecx + edx*4]
mov ebx, dword [edi + 0x50]
mov ecx, dword [edi + 0x68]
mov eax, dword [eax + ebx]
mov ebx, dword [edi + 0x34]
mov ecx, dword [ecx + edx*4]
cmp ecx, dword [ebx + eax*4]
je 0x101b0287
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov eax, dword [esi + 8]
lea ebx, [esi + 8]
and al, 0x81
or al, 1
mov dword [ebx], eax
mov ecx, dword [edi + 0x44]
sub ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x2c]
add ecx, dword [edi + 0x40]
mov eax, dword [edx + ecx*4]
add eax, eax
add eax, eax
push eax
mov ecx, esi
call fcn.100ea3e0
mov ecx, dword [ebx]
and ecx, 0xefffffff
or ch, 2
mov dword [ebx], ecx
mov edx, dword [edi + 0x4c]
mov eax, dword [edi + 0x5c]
mov ecx, dword [eax + edx*4]
mov edx, dword [edi + 0x68]
mov eax, dword [edx + ecx*4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
mov dword [esp + 0x18], eax
call dword [edx + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0x18]
mov edx, dword [esp + 0x44]
push 0
push edx
push eax
push 1
mov ecx, esi
call fcn.100f2e20
mov eax, dword [edi + 0x44]
sub eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x50]
add eax, dword [edi + 0x40]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
mov dword [esp + 0x18], eax
call dword [edx + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0x18]
mov edx, dword [esp + 0x44]
push 0
push edx
push eax
push 1
push 0
mov ecx, esi
call fcn.100f2ee0
push ebx
lea eax, [esp + 0x48]
push eax
mov ecx, ebp
call fcn.10142640
mov ebx, dword [eax]
jmp 0x101b028b
mov ebx, dword [esp + 0x14]
test bl, 1
je 0x101b044a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
mov eax, dword [esi + 8]
mov edx, dword [esi]
and eax, 0xff7fffb1
or eax, 0x600031
mov dword [esi + 8], eax
mov eax, dword [esp + 0x2c]
push eax
mov ecx, esi
call dword [edx + 0xc]
mov edx, dword [esi]
push 6
mov ecx, esi
call dword [edx + 0x10]
cmp dword [edi + 0x48], 0
je 0x101b02f7
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x5c]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 0x68]
mov ebx, dword [eax + edx*4]
mov edx, dword [ebp]
push ebx
mov ecx, ebp
call dword [edx + 0x1c]
mov dword [esp + 0x44], eax
mov eax, dword [ebp]
push ebx
mov ecx, ebp
call dword [eax + 0x18]
mov ecx, dword [esp + 0x44]
push 0
push ecx
push eax
push 1
jmp 0x101b030a
push 0
push 0
push 0
push 0
call fcn.1006dd40
add esp, 8
push eax
push 0
mov ecx, esi
call fcn.100f2e20
push 0
push 0
push 0
push 0
call fcn.1006dd40
add esp, 8
push eax
push 0
push 0
mov ecx, esi
call fcn.100f2ee0
mov eax, dword [edi + 0xa8]
push 0
push eax
mov al, byte [edi + 0xa7]
mov ecx, dword [ebp + 0x84]
mov edx, dword [ecx]
push eax
mov al, byte [edi + 0xa6]
push eax
mov al, byte [edi + 0xa5]
push eax
mov al, byte [edi + 0xa4]
push eax
mov eax, dword [edi + 0xa0]
push eax
mov eax, dword [edi + 0x9c]
push eax
mov eax, dword [edi + 0x98]
shr eax, 1
add eax, 1
push eax
call dword [edx + 0x18]
mov ecx, dword [esi + 0xc]
and ch, 0x8f
or ch, 0xc
mov dword [esi + 0x14], eax
lea eax, [esi + 8]
push eax
lea edx, [esp + 0x48]
push edx
mov dword [esi + 0xc], ecx
mov ecx, ebp
call fcn.10142640
mov ebx, dword [eax]
test bl, 1
je 0x101b044a
cmp dword [edi + 0x48], 0
je 0x101b044a
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
call dword [eax + 0xc]
test byte [eax + 0x16], 4
je 0x101b044a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov eax, dword [esi + 8]
lea ebx, [esi + 8]
push 0
push 0
and eax, 0xff7fff81
or eax, 0x600001
push 0
push 0
mov dword [ebx], eax
call fcn.1006dd40
add esp, 8
push eax
push 0
mov ecx, esi
call fcn.100f2e20
mov ecx, dword [edi + 0x4c]
mov edx, dword [edi + 0x5c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [edi + 0x68]
mov edi, dword [ecx + eax*4]
mov edx, dword [ebp]
push edi
mov ecx, ebp
call dword [edx + 0x1c]
mov dword [esp + 0x44], eax
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x18]
mov ecx, dword [esp + 0x44]
push 0
push ecx
push eax
push 1
push 0
mov ecx, esi
call fcn.100f2ee0
push ebx
lea edx, [esp + 0x48]
push edx
mov ecx, ebp
call fcn.10142640
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
pop edi
pop esi
pop ebp
mov dword [ecx], eax
mov eax, ecx
pop ebx
add esp, 0x2c
ret 8
mov eax, dword [esp + 0x40]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
pop ebx
add esp, 0x2c
ret 8