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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x38
mov eax, 1
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x50]
shlx edi, eax, ebx
cmp ebx, 0x13
jl 0x101ffcae
cmp esi, dword [esp + 0x54]
je 0x10200088
cmp ebx, 0x17
jl 0x101ffc0f
test edi, edi
jle 0x101ff93f
mov ebx, dword [esp + 0x54]
xor ebp, ebp
push 0x4000000
lea eax, [ebx + ebp*8]
push eax
lea edx, [esi + ebp*8]
push edx
call fcn.10205220
add ebp, 0x800000
cmp ebp, edi
jl 0x101ff91f
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
mov ebp, edi
sar ebp, 0xc
mov eax, dword [eax + 0x28]
test ebp, ebp
jle 0x101ffccd
mov edx, ebp
shr edx, 0x1f
add edx, ebp
sar edx, 1
test edx, edx
jbe 0x1020007e
mov ecx, edi
xor esi, esi
sar ecx, 6
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x34], edi
lea ecx, [ecx + 0x8000]
mov dword [esp + 0x28], ecx
lea ecx, [eax + ebp*4]
mov dword [esp + 0x24], ecx
mov ebp, eax
mov ebx, esi
shl ebx, 7
mov edi, dword [ebp + esi*8]
cmp edi, ebx
jg 0x101ff9aa
je 0x101fff6c
jmp 0x101ffa4c
mov ecx, esi
mov edx, 0x40
shl ecx, 0xa
add ecx, dword [esp + 0x54]
mov dword [esp + 0x1c], ecx
push edx
push edx
push dword [esp + 0x34]
push dword [esp + 0x68]
push ecx
call fcn.10233170
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
mov ecx, 0x40
mov edx, dword [esp + 0x74]
push ecx
push ecx
push dword [esp + 0x54]
push dword [esp + 0x54]
lea edi, [edx + edi*8]
push edi
call fcn.10233170
push dword [esp + 0x58]
push 0x1000
push dword [esp + 0x64]
call fcn.10338720
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x78]
push dword [esp + 0xac]
push edi
call fcn.10233230
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x88]
call fcn.10233230
add esp, 0x70
add ebx, 0x40
mov edi, dword [ebp + esi*8 + 4]
cmp edi, ebx
jg 0x101ffa62
je 0x101fffbe
jmp 0x101ffb0b
mov ecx, esi
mov ebx, 0x40
shl ecx, 0xa
mov edx, dword [esp + 0x54]
lea edx, [edx + ecx + 0x200]
mov dword [esp + 0x18], edx
push ebx
push ebx
push dword [esp + 0x34]
push dword [esp + 0x68]
push edx
call fcn.10233170
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
mov edx, 0x40
mov ebx, dword [esp + 0x74]
push edx
push edx
push dword [esp + 0x54]
push dword [esp + 0x54]
lea ebx, [ebx + edi*8]
push ebx
call fcn.10233170
push dword [esp + 0x58]
push 0x1000
push dword [esp + 0x64]
call fcn.10338720
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x78]
push dword [esp + 0xac]
push ebx
call fcn.10233230
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x84]
call fcn.10233230
add esp, 0x70
inc esi
cmp esi, dword [esp + 0x30]
jb 0x101ff992
mov edi, dword [esp + 0x34]
mov eax, ebp
mov ebp, dword [esp + 0x20]
lea edx, [esi + esi + 1]
mov ebx, dword [esp + 0x58]
cmp edx, ebp
ja 0x101ffccd
mov ecx, edx
shl ecx, 6
add ecx, 0xffffffc0
mov esi, dword [eax + edx*4 - 4]
cmp esi, ecx
jg 0x101ffb4b
je 0x10200012
jmp 0x101ffccd
shl edx, 9
mov ecx, edi
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x54]
sar ecx, 6
mov dword [esp + 0x1c], ecx
lea esi, [esi + edx - 0x200]
mov edx, 0x40
mov dword [esp + 0x18], esi
push edx
push edx
push ecx
push dword [esp + 0x68]
push esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x34], eax
call fcn.10233170
mov eax, dword [esp + 0x34]
lea eax, [eax + ebp*4]
mov dword [esp + 0x38], eax
push eax
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
mov edx, 0x40
mov ebp, dword [esp + 0x7c]
mov eax, dword [esp + 0x74]
push edx
push edx
push dword [esp + 0x44]
lea ebp, [ebp + 0x8000]
push ebp
lea esi, [eax + esi*8]
push esi
call fcn.10233170
push dword [esp + 0x58]
push 0x1000
push ebp
call fcn.10338720
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x68]
push dword [esp + 0xac]
push esi
call fcn.10233230
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x80]
push ebp
push dword [esp + 0x84]
call fcn.10233230
add esp, 0x70
jmp 0x101ffccd
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x28]
mov eax, edi
sar eax, 0xc
lea ecx, [edx + eax*4]
test eax, eax
jle 0x101ffccd
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebp
mov ebp, edi
sar ebp, 6
mov dword [esp + 0x34], edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov esi, ebp
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
mov ecx, dword [eax + ebx*4]
mov eax, 0x40
push eax
push eax
push esi
push edi
lea edx, [edx + ecx*8]
push edx
call fcn.10233170
push dword [esp + 0x3c]
push 0x1000
push edi
call fcn.10338720
mov eax, dword [esp + 0x74]
mov edx, 0x40
push 0
push edx
push edx
push esi
push edi
lea ecx, [eax + ebp*8]
push ecx
call fcn.10233230
add esp, 0x38
inc ebx
add ebp, 0x40
cmp ebx, dword [esp + 0x20]
jl 0x101ffc53
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x58]
jmp 0x101ffccd
cmp esi, dword [esp + 0x54]
je 0x1020043b
mov eax, dword [esp + 0x4c]
push dword [eax + 0x28]
push edi
push dword [esp + 0x5c]
push esi
call fcn.10336b20
add esp, 0x10
mov eax, dword [ebx*4 + 0x103e51dc]
test eax, eax
jne 0x101ffdd9
mov ebp, 0x4000
cmp edi, 0x4000
cmovle ebp, edi
test edi, edi
jle 0x101ffda1
mov dword [esp + 0x34], edi
xor esi, esi
mov edi, dword [esp + 0x4c]
lea ebx, [ebp - 0x40000]
mov eax, dword [esp + 0x54]
lea ecx, [eax + esi*8]
mov eax, ebx
test ebx, ebx
js 0x101ffd6c
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
mov ebx, eax
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
push 1
push ebp
push dword [edi + 0x2c]
push 0x40000
lea esi, [edx + ebx*8]
push esi
call fcn.10237340
add esp, 0x14
cmp dword [edi + 8], 0
je 0x101ffd54
push 0x80000
push esi
push dword [edi + 0x10]
call fcn.1008acf0
add ebx, 0xfffc0000
jns 0x101ffd25
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov edx, dword [edi + 0x30]
mov eax, ecx
mov dword [esp + 0xc], edx
mov edx, ebp
mov ecx, 0x40000
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0x400
call fcn.101ff5a0
add esi, ebp
cmp esi, dword [esp + 0x34]
jl 0x101ffd02
mov edi, dword [esp + 0x34]
cmp edi, ebp
jle 0x101fff64
mov ebx, dword [esp + 0x4c]
mov edx, edi
mov ecx, ebp
mov eax, dword [esp + 0x54]
mov esi, dword [ebx + 0x34]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0x100
call fcn.101ff5a0
add esp, 0x38
pop ebp
pop ebx
pop edi
pop esi
ret
mov ecx, ebx
mov edx, 1
sub ecx, eax
shlx ebp, edx, ecx
shlx edx, edx, eax
mov edi, dword [esp + 0x54]
cmp ecx, 0x12
jg 0x101ffe45
test edx, edx
jle 0x101ffe8c
mov dword [esp + 0x2c], edx
lea ecx, [ebp + ebp]
mov dword [esp + 0x18], ecx
xor esi, esi
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x4c]
push 0
push dword [esp + 0x60]
push dword [ebx + 0x2c]
push ebp
push edi
call fcn.10237340
add esp, 0x14
cmp dword [ebx + 8], 0
je 0x101ffe39
push dword [esp + 0x18]
push edi
push dword [ebx + 0x10]
call fcn.1008acf0
inc esi
lea edi, [edi + ebp*8]
cmp esi, dword [esp + 0x2c]
jl 0x101ffe13
jmp 0x101ffe80
test edx, edx
jle 0x101ffe8c
mov dword [esp + 0x2c], edx
xor esi, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], 1
mov edx, edi
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
call fcn.10200460
inc esi
lea edi, [edi + ebp*8]
cmp esi, dword [esp + 0x2c]
jl 0x101ffe5b
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
mov esi, 1
mov ebx, dword [ebx*4 + 0x103e523c]
sub ebx, eax
mov ecx, dword [ecx + 0x4c]
shlx esi, esi, ebx
test ebp, ebp
jle 0x101fff64
mov dword [esp + 0x2c], edx
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x54]
push esi
push dword [esp + 0x30]
push ebp
push dword [esp + 0x68]
lea edi, [eax + ebx*8]
push edi
call fcn.10233170
add esp, 0x14
mov edx, dword [esp + 0x2c]
mov ecx, esi
cmp dword [esp + 0x30], 2
jl 0x101fff45
mov eax, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], edi
mov edi, eax
mov dword [esp + 0x20], esi
mov esi, ecx
mov dword [esp + 0x18], ebp
mov ebp, edx
mov ebx, dword [esp + 0x28]
sar ebp, 2
push ebx
push ebp
push esi
mov eax, dword [esp + 0x68]
push eax
push eax
call fcn.10238530
add esp, 0x14
cmp ebp, 1
lea eax, [esi + esi*2]
lea edx, [ebx + esi*8]
lea ebx, [ebx + eax*8]
cmove ebx, edx
add edi, 2
shl esi, 2
cmp edi, dword [esp + 0x30]
jle 0x101fff02
mov dword [esp + 0x28], ebx
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
push 1
push esi
push dword [esp + 0x34]
push ebp
push dword [esp + 0x6c]
push edi
call fcn.10233230
add esp, 0x18
add ebx, esi
cmp ebx, ebp
jl 0x101ffebc
add esp, 0x38
pop ebp
pop ebx
pop edi
pop esi
ret
mov edi, esi
mov edx, 0x40
shl edi, 0xa
add edi, dword [esp + 0x54]
push edx
push edx
push dword [esp + 0x34]
push dword [esp + 0x68]
push edi
call fcn.10233170
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x58]
push dword [esp + 0x8c]
push edi
call fcn.10233230
add esp, 0x38
jmp 0x101ffa4c
mov ecx, esi
mov ebx, 0x40
shl ecx, 0xa
mov edx, dword [esp + 0x54]
push ebx
push ebx
push dword [esp + 0x34]
push dword [esp + 0x68]
lea edi, [edx + ecx + 0x200]
push edi
call fcn.10233170
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
push 0
push ebx
push ebx
push dword [esp + 0x58]
push dword [esp + 0x8c]
push edi
call fcn.10233230
add esp, 0x38
jmp 0x101ffb0b
shl edx, 9
mov ecx, edi
mov esi, dword [esp + 0x54]
sar ecx, 6
mov dword [esp + 0x1c], ecx
lea esi, [esi + edx - 0x200]
mov edx, 0x40
mov dword [esp + 0x18], esi
push edx
push edx
push ecx
push dword [esp + 0x68]
push esi
mov dword [esp + 0x34], eax
call fcn.10233170
mov eax, dword [esp + 0x34]
lea eax, [eax + ebp*4]
push eax
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x48]
push dword [esp + 0x8c]
push dword [esp + 0x4c]
call fcn.10233230
add esp, 0x38
jmp 0x101ffccd
mov edx, 1
jmp 0x101ffb28
mov eax, dword [esp + 0x4c]
mov ecx, edi
sar ecx, 0xc
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x28]
mov dword [esp + 0x2c], edx
test ecx, ecx
jle 0x101ffccd
mov eax, ecx
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
test edx, edx
jbe 0x10200431
mov eax, dword [esp + 0x2c]
mov ebp, edi
xor esi, esi
sar ebp, 6
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], edi
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
lea ecx, [ecx + 0x8000]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
mov edi, esi
shl edi, 7
mov ebx, dword [eax + esi*8]
cmp ebx, edi
jg 0x102000fa
je 0x10200332
jmp 0x1020018d
mov edx, esi
mov eax, 0x40
shl edx, 0xa
add edx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
push eax
push eax
push ebp
push dword [esp + 0x68]
push edx
call fcn.10233170
push dword [esp + 0x30]
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
mov edx, 0x40
mov eax, dword [esp + 0x74]
push edx
push edx
push ebp
push dword [esp + 0x4c]
lea ebx, [eax + ebx*8]
push ebx
call fcn.10233170
push dword [esp + 0x50]
push 0x1000
push dword [esp + 0x5c]
call fcn.10338720
push 0
mov eax, 0x40
push eax
push eax
push ebp
push dword [esp + 0xac]
push ebx
call fcn.10233230
push 0
mov eax, 0x40
push eax
push eax
push ebp
push dword [esp + 0x88]
push dword [esp + 0x84]
call fcn.10233230
add esp, 0x70
mov eax, dword [esp + 0x2c]
add edi, 0x40
mov ebx, dword [eax + esi*8 + 4]
cmp ebx, edi
jg 0x102001a7
je 0x1020037e
jmp 0x10200237
mov eax, esi
mov edx, 0x40
shl eax, 0xa
mov edi, dword [esp + 0x54]
push edx
push edx
push ebp
push dword [esp + 0x68]
lea edi, [edi + eax + 0x200]
push edi
call fcn.10233170
push dword [esp + 0x30]
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
mov edx, 0x40
mov eax, dword [esp + 0x74]
push edx
push edx
push ebp
push dword [esp + 0x4c]
lea ebx, [eax + ebx*8]
push ebx
call fcn.10233170
push dword [esp + 0x50]
push 0x1000
push dword [esp + 0x5c]
call fcn.10338720
push 0
mov eax, 0x40
push eax
push eax
push ebp
push dword [esp + 0xac]
push ebx
call fcn.10233230
push 0
mov eax, 0x40
push eax
push eax
push ebp
push dword [esp + 0x88]
push edi
call fcn.10233230
add esp, 0x70
inc esi
cmp esi, dword [esp + 0x24]
jb 0x102000df
mov edi, dword [esp + 0x34]
lea eax, [esi + esi + 1]
mov ebx, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
ja 0x101ffccd
mov edx, dword [esp + 0x2c]
mov ebp, eax
shl ebp, 6
add ebp, 0xffffffc0
mov ecx, dword [edx + eax*4 - 4]
mov dword [esp + 0x24], ecx
cmp ecx, ebp
jg 0x1020027b
je 0x102003cc
jmp 0x101ffccd
shl eax, 9
mov ebp, edi
mov edx, dword [esp + 0x54]
sar ebp, 6
lea ecx, [edx + eax - 0x200]
mov eax, 0x40
mov dword [esp + 0x1c], ecx
push eax
push eax
push ebp
push dword [esp + 0x68]
push ecx
call fcn.10233170
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea ecx, [eax + edx*4]
mov dword [esp + 0x2c], ecx
push ecx
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
mov eax, dword [esp + 0x44]
mov ecx, 0x40
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
lea eax, [esi + eax*8]
mov dword [esp + 0x40], eax
lea esi, [edx + 0x8000]
push ecx
push ecx
push ebp
push esi
push eax
call fcn.10233170
push dword [esp + 0x4c]
push 0x1000
push esi
call fcn.10338720
push 0
mov eax, 0x40
push eax
push eax
push ebp
push dword [esp + 0xac]
push dword [esp + 0x74]
call fcn.10233230
push 0
mov eax, 0x40
push eax
push eax
push ebp
push esi
push dword [esp + 0x88]
call fcn.10233230
add esp, 0x70
jmp 0x101ffccd
mov ebx, esi
mov eax, 0x40
shl ebx, 0xa
add ebx, dword [esp + 0x54]
push eax
push eax
push ebp
push dword [esp + 0x68]
push ebx
call fcn.10233170
push dword [esp + 0x30]
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
push 0
mov eax, 0x40
push eax
push eax
push ebp
push dword [esp + 0x8c]
push ebx
call fcn.10233230
add esp, 0x38
jmp 0x1020018d
mov edx, esi
mov ebx, 0x40
shl edx, 0xa
mov eax, dword [esp + 0x54]
push ebx
push ebx
push ebp
push dword [esp + 0x68]
lea edi, [eax + edx + 0x200]
push edi
call fcn.10233170
push dword [esp + 0x30]
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
push 0
push ebx
push ebx
push ebp
push dword [esp + 0x8c]
push edi
call fcn.10233230
add esp, 0x38
jmp 0x10200237
shl eax, 9
mov ebp, edi
mov edx, dword [esp + 0x54]
sar ebp, 6
lea ecx, [edx + eax - 0x200]
mov eax, 0x40
mov dword [esp + 0x18], ecx
push eax
push eax
push ebp
push dword [esp + 0x68]
push ecx
call fcn.10233170
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea ecx, [eax + edx*4]
push ecx
push 0x1000
push dword [esp + 0x78]
call fcn.10338720
push 0
mov eax, 0x40
push eax
push eax
push ebp
push dword [esp + 0x8c]
push dword [esp + 0x4c]
call fcn.10233230
add esp, 0x38
jmp 0x101ffccd
mov eax, 1
jmp 0x1020024e
mov eax, dword [esp + 0x4c]
push dword [eax + 0x28]
push edi
push dword [esp + 0x5c]
call fcn.10336640
add esp, 0xc
jmp 0x101ffccd