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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x38
mov esi, 1
mov ebx, dword [esp + 0x58]
mov ecx, ebx
shl esi, cl
mov edi, dword [esp + 0x50]
cmp ebx, 0x13
jl 0x101a5371
cmp edi, dword [esp + 0x54]
je 0x101a574f
cmp ebx, 0x17
jl 0x101a52d2
test esi, esi
jle 0x101a4ffe
mov ebx, dword [esp + 0x54]
xor ebp, ebp
push 0x4000000
lea eax, [ebx + ebp*8]
push eax
lea edx, [edi + ebp*8]
push edx
call fcn.102309e0
add ebp, 0x800000
cmp ebp, esi
jl 0x101a4fde
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
mov ebp, esi
sar ebp, 0xc
mov eax, dword [eax + 0x28]
test ebp, ebp
jle 0x101a5390
mov edx, ebp
shr edx, 0x1f
add edx, ebp
sar edx, 1
test edx, edx
jbe 0x101a5745
mov ecx, esi
xor edi, edi
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], esi
lea ecx, [ecx + 0x8000]
mov dword [esp + 0x28], ecx
lea ecx, [eax + ebp*4]
mov dword [esp + 0x24], ecx
mov ebp, eax
mov esi, edi
mov ebx, esi
shl ebx, 7
mov edi, dword [ebp + esi*8]
cmp edi, ebx
jg 0x101a506b
je 0x101a5633
jmp 0x101a510d
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.1032b850
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
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.1032b850
push dword [esp + 0x58]
push 0x1000
push dword [esp + 0x64]
call fcn.1032e5b0
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x78]
push dword [esp + 0xac]
push edi
call fcn.1032b8f0
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x88]
call fcn.1032b8f0
add esp, 0x70
add ebx, 0x40
mov edi, dword [ebp + esi*8 + 4]
cmp edi, ebx
jg 0x101a5123
je 0x101a5685
jmp 0x101a51cc
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.1032b850
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
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.1032b850
push dword [esp + 0x58]
push 0x1000
push dword [esp + 0x64]
call fcn.1032e5b0
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x78]
push dword [esp + 0xac]
push ebx
call fcn.1032b8f0
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x84]
call fcn.1032b8f0
add esp, 0x70
inc esi
cmp esi, dword [esp + 0x30]
jb 0x101a5053
mov edi, esi
mov eax, ebp
mov ebp, dword [esp + 0x20]
lea edx, [edi + edi + 1]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x58]
cmp edx, ebp
ja 0x101a5390
mov ecx, edx
shl ecx, 6
add ecx, 0xffffffc0
mov edi, dword [eax + edx*4 - 4]
cmp edi, ecx
jg 0x101a520e
je 0x101a56d9
jmp 0x101a5390
shl edx, 9
mov ecx, esi
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x54]
sar ecx, 6
mov dword [esp + 0x1c], ecx
lea edi, [edi + edx - 0x200]
mov edx, 0x40
mov dword [esp + 0x18], edi
push edx
push edx
push ecx
push dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x34], eax
call fcn.1032b850
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.1032e5b0
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 edi, [eax + edi*8]
push edi
call fcn.1032b850
push dword [esp + 0x58]
push 0x1000
push ebp
call fcn.1032e5b0
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x68]
push dword [esp + 0xac]
push edi
call fcn.1032b8f0
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x80]
push ebp
push dword [esp + 0x84]
call fcn.1032b8f0
add esp, 0x70
jmp 0x101a5390
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x28]
mov eax, esi
sar eax, 0xc
lea ecx, [edx + eax*4]
test eax, eax
jle 0x101a5390
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebp
mov ebp, esi
sar ebp, 6
mov dword [esp + 0x34], esi
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.1032b850
push dword [esp + 0x3c]
push 0x1000
push edi
call fcn.1032e5b0
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.1032b8f0
add esp, 0x38
inc ebx
add ebp, 0x40
cmp ebx, dword [esp + 0x20]
jl 0x101a5316
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x58]
jmp 0x101a5390
cmp edi, dword [esp + 0x54]
je 0x101a5b05
mov eax, dword [esp + 0x4c]
push dword [eax + 0x28]
push esi
push dword [esp + 0x5c]
push edi
call fcn.1032c9d0
add esp, 0x10
mov edx, dword [ebx*4 + 0x103e4edc]
test edx, edx
jne 0x101a549c
mov ebp, 0x4000
cmp esi, 0x4000
cmovle ebp, esi
test esi, esi
jle 0x101a5464
mov dword [esp + 0x34], esi
xor edi, edi
mov esi, dword [esp + 0x4c]
lea ebx, [ebp - 0x20000]
mov eax, dword [esp + 0x54]
lea ecx, [eax + edi*8]
mov eax, ebx
test ebx, ebx
js 0x101a542f
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
mov ebx, eax
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
push 1
push ebp
push dword [esi + 0x2c]
push 0x20000
lea edi, [edx + ebx*8]
push edi
call fcn.102ec660
add esp, 0x14
cmp dword [esi + 8], 0
je 0x101a5417
push 0x40000
push edi
push dword [esi + 0x10]
call fcn.100774d0
add ebx, 0xfffe0000
jns 0x101a53e8
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov edx, dword [esi + 0x30]
mov eax, ecx
mov dword [esp + 0xc], edx
mov edx, ebp
mov ecx, 0x20000
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0x400
call fcn.101a4c20
add edi, ebp
cmp edi, dword [esp + 0x34]
jl 0x101a53c5
mov esi, dword [esp + 0x34]
cmp esi, ebp
jle 0x101a562b
mov ebx, dword [esp + 0x4c]
mov edx, esi
mov ecx, ebp
mov eax, dword [esp + 0x54]
mov edi, dword [ebx + 0x34]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0x100
call fcn.101a4c20
add esp, 0x38
pop ebp
pop ebx
pop edi
pop esi
ret
mov edi, ebx
mov ebp, 1
sub edi, edx
mov eax, 1
mov ecx, edi
shl ebp, cl
mov ecx, edx
shl eax, cl
mov ecx, dword [esp + 0x54]
cmp edi, 0x11
jg 0x101a550d
test eax, eax
jle 0x101a5556
mov dword [esp + 0x2c], eax
lea edi, [ebp + ebp]
mov dword [esp + 0x18], edi
xor esi, esi
mov dword [esp + 0x30], edx
mov ebx, ecx
mov edi, dword [esp + 0x4c]
push 0
push dword [esp + 0x60]
push dword [edi + 0x2c]
push ebp
push ebx
call fcn.102ec660
add esp, 0x14
cmp dword [edi + 8], 0
je 0x101a5501
push dword [esp + 0x18]
push ebx
push dword [edi + 0x10]
call fcn.100774d0
inc esi
lea ebx, [ebx + ebp*8]
cmp esi, dword [esp + 0x2c]
jl 0x101a54db
jmp 0x101a554a
test eax, eax
jle 0x101a5556
mov dword [esp + 0x18], edi
xor esi, esi
mov dword [esp + 0x2c], eax
mov ebx, ecx
mov dword [esp + 0x30], edx
mov edi, dword [esp + 0x5c]
mov dword [esp + 0xc], 1
mov edx, ebx
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
call fcn.101a5b20
inc esi
lea ebx, [ebx + ebp*8]
cmp esi, dword [esp + 0x2c]
jl 0x101a5525
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x4c]
mov ecx, dword [ebx*4 + 0x103e4f3c]
mov ebx, 1
sub ecx, edx
shl ebx, cl
mov edi, dword [edi + 0x4c]
test ebp, ebp
jle 0x101a562b
mov dword [esp + 0x2c], eax
xor esi, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x54]
push ebx
push dword [esp + 0x30]
push ebp
push dword [esp + 0x68]
lea edi, [eax + esi*8]
push edi
call fcn.1032b850
add esp, 0x14
mov edx, dword [esp + 0x2c]
mov ecx, ebx
cmp dword [esp + 0x30], 2
jl 0x101a560c
mov eax, 2
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
mov edi, ecx
mov dword [esp + 0x1c], esi
mov esi, eax
mov dword [esp + 0x18], ebp
mov ebp, edx
mov ebx, dword [esp + 0x28]
sar ebp, 2
push ebx
push ebp
push edi
mov eax, dword [esp + 0x68]
push eax
push eax
call fcn.10234e40
add esp, 0x14
cmp ebp, 1
lea eax, [edi + edi*2]
lea edx, [ebx + edi*8]
lea ebx, [ebx + eax*8]
cmove ebx, edx
add esi, 2
shl edi, 2
cmp esi, dword [esp + 0x30]
jle 0x101a55c9
mov dword [esp + 0x28], ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
push 1
push ebx
push dword [esp + 0x34]
push ebp
push dword [esp + 0x6c]
push edi
call fcn.1032b8f0
add esp, 0x18
add esi, ebx
cmp esi, ebp
jl 0x101a5583
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.1032b850
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
push 0
mov edx, 0x40
push edx
push edx
push dword [esp + 0x58]
push dword [esp + 0x8c]
push edi
call fcn.1032b8f0
add esp, 0x38
jmp 0x101a510d
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.1032b850
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
push 0
push ebx
push ebx
push dword [esp + 0x58]
push dword [esp + 0x8c]
push edi
call fcn.1032b8f0
add esp, 0x38
jmp 0x101a51cc
shl edx, 9
mov ecx, esi
mov edi, dword [esp + 0x54]
sar ecx, 6
mov dword [esp + 0x1c], ecx
lea edi, [edi + edx - 0x200]
mov edx, 0x40
mov dword [esp + 0x18], edi
push edx
push edx
push ecx
push dword [esp + 0x68]
push edi
mov dword [esp + 0x34], eax
call fcn.1032b850
mov eax, dword [esp + 0x34]
lea eax, [eax + ebp*4]
push eax
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x48]
push dword [esp + 0x8c]
push dword [esp + 0x4c]
call fcn.1032b8f0
add esp, 0x38
jmp 0x101a5390
mov edx, 1
jmp 0x101a51eb
mov eax, dword [esp + 0x4c]
mov edi, esi
sar edi, 0xc
mov edx, dword [eax + 0x28]
mov dword [esp + 0x28], edx
test edi, edi
jle 0x101a5390
mov edx, edi
shr edx, 0x1f
add edx, edi
sar edx, 1
test edx, edx
jbe 0x101a5afb
mov ecx, dword [esp + 0x28]
mov eax, esi
sar eax, 6
xor ebp, ebp
mov dword [esp + 0x2c], edx
mov ebx, eax
mov dword [esp + 0x1c], edi
lea ecx, [ecx + edi*4]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x34], esi
lea ecx, [ecx + 0x8000]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x28]
mov edi, ebp
shl edi, 7
mov esi, dword [edx + ebp*8]
cmp esi, edi
jg 0x101a57c1
je 0x101a5a00
jmp 0x101a5854
mov ecx, ebp
mov edx, 0x40
shl ecx, 0xa
add ecx, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
push edx
push edx
push ebx
push dword [esp + 0x68]
push ecx
call fcn.1032b850
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
mov ecx, 0x40
mov edx, dword [esp + 0x74]
push ecx
push ecx
push ebx
push dword [esp + 0x4c]
lea esi, [edx + esi*8]
push esi
call fcn.1032b850
push dword [esp + 0x58]
push 0x1000
push dword [esp + 0x5c]
call fcn.1032e5b0
push 0
mov edx, 0x40
push edx
push edx
push ebx
push dword [esp + 0xac]
push esi
call fcn.1032b8f0
push 0
mov edx, 0x40
push edx
push edx
push ebx
push dword [esp + 0x88]
push dword [esp + 0x84]
call fcn.1032b8f0
add esp, 0x70
mov edx, dword [esp + 0x28]
add edi, 0x40
mov esi, dword [edx + ebp*8 + 4]
cmp esi, edi
jg 0x101a586e
je 0x101a5a4c
jmp 0x101a58fe
mov edx, ebp
mov ecx, 0x40
shl edx, 0xa
mov edi, dword [esp + 0x54]
push ecx
push ecx
push ebx
push dword [esp + 0x68]
lea edi, [edi + edx + 0x200]
push edi
call fcn.1032b850
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
mov ecx, 0x40
mov edx, dword [esp + 0x74]
push ecx
push ecx
push ebx
push dword [esp + 0x4c]
lea esi, [edx + esi*8]
push esi
call fcn.1032b850
push dword [esp + 0x58]
push 0x1000
push dword [esp + 0x5c]
call fcn.1032e5b0
push 0
mov edx, 0x40
push edx
push edx
push ebx
push dword [esp + 0xac]
push esi
call fcn.1032b8f0
push 0
mov edx, 0x40
push edx
push edx
push ebx
push dword [esp + 0x88]
push edi
call fcn.1032b8f0
add esp, 0x70
inc ebp
cmp ebp, dword [esp + 0x2c]
jb 0x101a57a6
mov edi, dword [esp + 0x1c]
lea edx, [ebp + ebp + 1]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x58]
cmp edx, edi
ja 0x101a5390
mov eax, dword [esp + 0x28]
mov ebp, edx
shl ebp, 6
add ebp, 0xffffffc0
mov ecx, dword [eax + edx*4 - 4]
cmp ecx, ebp
mov dword [esp + 0x24], ecx
jg 0x101a5944
je 0x101a5a9a
jmp 0x101a5390
shl edx, 9
mov eax, esi
mov ecx, dword [esp + 0x54]
sar eax, 6
mov dword [esp + 0x20], eax
lea ebp, [ecx + edx - 0x200]
mov edx, 0x40
mov dword [esp + 0x1c], ebp
push edx
push edx
push eax
push dword [esp + 0x68]
push ebp
call fcn.1032b850
mov eax, dword [esp + 0x3c]
lea edx, [eax + edi*4]
mov dword [esp + 0x2c], edx
push edx
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
mov edx, 0x40
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
push edx
push edx
push dword [esp + 0x48]
lea edi, [edi + ebp*8]
lea ebp, [eax + 0x8000]
push ebp
push edi
call fcn.1032b850
push dword [esp + 0x4c]
push 0x1000
push ebp
call fcn.1032e5b0
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x6c]
push dword [esp + 0xac]
push edi
call fcn.1032b8f0
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x84]
push ebp
push dword [esp + 0x88]
call fcn.1032b8f0
add esp, 0x70
jmp 0x101a5390
mov esi, ebp
mov edx, 0x40
shl esi, 0xa
add esi, dword [esp + 0x54]
push edx
push edx
push ebx
push dword [esp + 0x68]
push esi
call fcn.1032b850
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
push 0
mov edx, 0x40
push edx
push edx
push ebx
push dword [esp + 0x8c]
push esi
call fcn.1032b8f0
add esp, 0x38
jmp 0x101a5854
mov ecx, ebp
mov esi, 0x40
shl ecx, 0xa
mov edx, dword [esp + 0x54]
push esi
push esi
push ebx
push dword [esp + 0x68]
lea edi, [edx + ecx + 0x200]
push edi
call fcn.1032b850
push dword [esp + 0x38]
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
push 0
push esi
push esi
push ebx
push dword [esp + 0x8c]
push edi
call fcn.1032b8f0
add esp, 0x38
jmp 0x101a58fe
shl edx, 9
mov eax, esi
mov ebp, dword [esp + 0x54]
sar eax, 6
mov dword [esp + 0x18], eax
lea ebp, [ebp + edx - 0x200]
mov edx, 0x40
push edx
push edx
push eax
push dword [esp + 0x68]
push ebp
call fcn.1032b850
mov eax, dword [esp + 0x3c]
lea edx, [eax + edi*4]
push edx
push 0x1000
push dword [esp + 0x78]
call fcn.1032e5b0
push 0
mov eax, 0x40
push eax
push eax
push dword [esp + 0x44]
push dword [esp + 0x8c]
push ebp
call fcn.1032b8f0
add esp, 0x38
jmp 0x101a5390
mov edx, 1
jmp 0x101a5919
mov eax, dword [esp + 0x4c]
push dword [eax + 0x28]
push esi
push dword [esp + 0x5c]
call fcn.1032c4f0
add esp, 0xc
jmp 0x101a5390