Function at 0x10175450
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 0x1017581e
cmp esi, dword [esp + 0x54]
je 0x10175bf8
cmp ebx, 0x17
jl 0x1017577f
test edi, edi
jle 0x101754af
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 0x1017548f
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 0x1017583d
mov edx, ebp
shr edx, 0x1f
add edx, ebp
sar edx, 1
test edx, edx
jbe 0x10175bee
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 0x1017551a
je 0x10175adc
jmp 0x101755bc
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 0x101755d2
je 0x10175b2e
jmp 0x1017567b
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 0x10175502
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 0x1017583d
mov ecx, edx
shl ecx, 6
add ecx, 0xffffffc0
mov esi, dword [eax + edx*4 - 4]
cmp esi, ecx
jg 0x101756bb
je 0x10175b82
jmp 0x1017583d
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 0x1017583d
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 0x1017583d
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 0x101757c3
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x58]
jmp 0x1017583d
cmp esi, dword [esp + 0x54]
je 0x10175fab
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 + 0x103e4cfc]
test eax, eax
jne 0x10175949
mov ebp, 0x4000
cmp edi, 0x4000
cmovle ebp, edi
test edi, edi
jle 0x10175911
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 0x101758dc
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.10233340
add esp, 0x14
cmp dword [edi + 0xc], 0
je 0x101758c4
push 0x80000
push esi
push dword [edi + 0x10]
call fcn.1008acf0
add ebx, 0xfffc0000
jns 0x10175895
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], 0
mov dword [esp + 0x14], 0x400
call fcn.10175110
add esi, ebp
cmp esi, dword [esp + 0x34]
jl 0x10175872
mov edi, dword [esp + 0x34]
cmp edi, ebp
jle 0x10175ad4
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], 0
mov dword [esp + 0x14], 0x100
call fcn.10175110
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 0x101759b5
test edx, edx
jle 0x101759fc
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.10233340
add esp, 0x14
cmp dword [ebx + 0xc], 0
je 0x101759a9
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 0x10175983
jmp 0x101759f0
test edx, edx
jle 0x101759fc
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.10175fd0
inc esi
lea edi, [edi + ebp*8]
cmp esi, dword [esp + 0x2c]
jl 0x101759cb
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 + 0x103e4d5c]
sub ebx, eax
mov ecx, dword [ecx + 0x4c]
shlx esi, esi, ebx
test ebp, ebp
jle 0x10175ad4
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 0x10175ab5
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.10234530
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 0x10175a72
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 0x10175a2c
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 0x101755bc
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 0x1017567b
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 0x1017583d
mov edx, 1
jmp 0x10175698
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 0x1017583d
mov eax, ecx
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
test edx, edx
jbe 0x10175fa1
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 0x10175c6a
je 0x10175ea2
jmp 0x10175cfd
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 0x10175d17
je 0x10175eee
jmp 0x10175da7
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 0x10175c4f
mov edi, dword [esp + 0x34]
lea eax, [esi + esi + 1]
mov ebx, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
ja 0x1017583d
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 0x10175deb
je 0x10175f3c
jmp 0x1017583d
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 0x1017583d
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 0x10175cfd
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 0x10175da7
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 0x1017583d
mov eax, 1
jmp 0x10175dbe
mov eax, dword [esp + 0x4c]
push dword [eax + 0x28]
push edi
push dword [esp + 0x5c]
call fcn.10336640
add esp, 0xc
jmp 0x1017583d