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

Disassembly:
sub esp, 0x80
mov eax, dword [0x10081240]
xor eax, esp
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x38]
push ebx
mov ebx, dword [esp + 0x90]
push edi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x98]
push ecx
push eax
mov dword [esp + 0x70], edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x58], 1
mov dword [esp + 0x5c], 1
call fcn.10178994
add esp, 8
test eax, eax
jne 0x10178bee
pop edi
mov eax, 0xfffffff4
pop ebx
mov ecx, dword [esp + 0x7c]
xor ecx, esp
call fcn.101927e4
add esp, 0x80
ret
push ebp
push esi
push dword [esp + 0x64]
xor eax, eax
mov dword [esp + 0x34], 1
xor esi, esi
mov dword [esp + 0x38], 0
xor ebp, ebp
mov dword [esp + 0x3c], 0
push ebx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x54], 1
mov dword [esp + 0x58], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
call fcn.101788c4
add esp, 8
test eax, eax
jns 0x10178c9e
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x10178c7f
push ebp
push eax
call fcn.1017b774
mov esi, eax
add esp, 8
test esi, esi
jne 0x101797e2
test edi, edi
je 0x10178c97
push ebx
push edi
call fcn.10178a64
mov esi, eax
add esp, 8
test esi, esi
jne 0x101797e2
xor eax, eax
jmp 0x1017987a
lea eax, [esp + 0x30]
push ebx
push eax
call fcn.10178a64
mov esi, eax
add esp, 8
test esi, esi
jne 0x101797e2
push dword [esp + 0x64]
lea eax, [esp + 0x28]
push eax
call fcn.10178a64
mov esi, eax
add esp, 8
test esi, esi
jne 0x101797e2
mov eax, dword [ebx + 4]
mov ebp, 1
add eax, 2
mov dword [esp + 0x24], 1
push eax
lea eax, [esp + 0x50]
mov dword [esp + 0x34], ebp
push eax
call fcn.1017a9e4
mov esi, eax
add esp, 8
test esi, esi
jne 0x10178d1d
mov esi, dword [esp + 0x50]
mov ebx, dword [0x100721d8]
cmp esi, ebp
jae 0x10178d5e
push 4
push ebp
call ebx
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x10178d2a
lea esi, [ebp - 0x11]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20], eax
jmp 0x101797de
mov edi, dword [esp + 0x54]
test edi, edi
je 0x10178d4e
shl esi, 2
push esi
push edi
push eax
call fcn.101937fc
push esi
push edi
call fcn.1016eb14
push edi
call dword [0x100721e0]
add esp, 0x18
mov edi, dword [esp + 0x20]
mov esi, ebp
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
jmp 0x10178d66
mov edi, dword [esp + 0x54]
mov dword [esp + 0x20], edi
lea eax, [esi*4]
push eax
push 0
push edi
call fcn.101937f6
mov esi, dword [esp + 0x74]
add esp, 0xc
mov dword [edi], 0
mov dword [esp + 0x4c], ebp
mov esi, dword [esi + 4]
add esi, 2
cmp esi, 0x2710
ja 0x101797d9
test esi, esi
je 0x10178db9
push 4
push esi
call ebx
add esp, 8
test eax, eax
je 0x101797d9
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10178dfd
mov esi, dword [esp + 0x2c]
add eax, 0xffffffff
je 0x10178dd5
cmp dword [esi + eax*4], 0
jne 0x10178dd5
sub eax, 1
jne 0x10178dca
mov esi, dword [esi + eax*4]
mov edx, 0x80000000
xor ecx, ecx
nop dword [eax + eax]
test edx, esi
jne 0x10178df0
inc ecx
shr edx, 1
cmp ecx, 0x20
jb 0x10178de4
shl eax, 5
sub eax, ecx
and eax, 0x1f
cmp eax, 0x1f
jae 0x10178e43
mov ebx, 0x1f
sub ebx, eax
lea eax, [esp + 0x30]
push ebx
push eax
mov dword [esp + 0x50], ebx
call fcn.1017c404
mov esi, eax
add esp, 8
test esi, esi
jne 0x10178e36
lea eax, [esp + 0x24]
push ebx
push eax
call fcn.1017c404
mov esi, eax
add esp, 8
test esi, esi
jne 0x10178e36
mov ebp, dword [esp + 0x30]
jmp 0x10178e4b
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x101797e4
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
dec eax
mov ebx, eax
mov dword [esp + 0x40], eax
dec edx
sub ebx, edx
mov dword [esp + 0x3c], edx
mov eax, ebx
mov dword [esp + 0x44], ebx
shl eax, 5
push eax
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x28]
push eax
call fcn.1017c404
mov esi, eax
add esp, 8
test esi, esi
jne 0x10178e36
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
test ecx, ecx
je 0x10178ea5
mov eax, dword [esp + 0x38]
lea eax, [eax + ecx*4]
add eax, 0xfffffffc
cmp dword [eax], 0
jne 0x10178ea5
sub eax, 4
sub ecx, 1
jne 0x10178e98
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
test eax, eax
je 0x10178ec8
lea edx, [eax - 1]
lea edx, [esi + edx*4]
cmp dword [edx], 0
jne 0x10178ec4
sub edx, 4
sub eax, 1
jne 0x10178eb7
mov edx, dword [esp + 0x24]
test ecx, ecx
jne 0x10178ed2
test eax, eax
jne 0x10178ed6
jmp 0x10178f2d
cmp ecx, eax
ja 0x10178f29
cmp eax, ecx
jbe 0x10178ee0
mov ebp, edx
neg ebp
jmp 0x10178f29
test ebp, ebp
jle 0x10178ee8
test edx, edx
js 0x10178f2d
test edx, edx
jle 0x10178ef0
test ebp, ebp
js 0x10178f56
test ecx, ecx
je 0x10178f2d
mov edi, dword [esp + 0x38]
mov ebx, esi
sub ebx, edi
lea eax, [edi - 4]
lea eax, [eax + ecx*4]
nop
mov edx, dword [ebx + eax]
cmp dword [eax], edx
ja 0x10178f21
jb 0x10178f1f
sub eax, 4
sub ecx, 1
jne 0x10178f04
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x20]
jmp 0x10178f2d
neg ebp
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x44]
test ebp, ebp
js 0x10178f56
inc dword [edi + ebx*4]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x34]
push eax
push eax
call fcn.1017c964
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10178e36
mov ebp, dword [esp + 0x30]
jmp 0x10178e82
push dword [esp + 0x58]
lea eax, [esp + 0x28]
push eax
call fcn.1017c594
mov esi, eax
add esp, 8
test esi, esi
jne 0x10178e36
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
cmp ebx, edi
jbe 0x1017965e
nop dword [eax]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
mov edx, dword [eax + ebx*4]
mov ecx, dword [ebp + edi*4]
lea edi, [eax + ebx*4]
cmp edx, ecx
jb 0x10178fb1
mov edx, dword [esp + 0x20]
mov ecx, ebx
sub ecx, dword [esp + 0x3c]
shl ecx, 2
mov dword [ecx + edx - 4], 0xffffffff
jmp 0x10178fe9
test ecx, ecx
je 0x10178fd5
push 0
push ecx
xor eax, eax
or eax, dword [edi - 4]
push edx
push eax
call fcn.10193214
test edx, edx
jne 0x10178fcd
cmp eax, 0xffffffff
jbe 0x10178fd8
mov dword [esp + 0x5c], 0
or eax, 0xffffffff
mov edx, dword [esp + 0x20]
mov ecx, ebx
sub ecx, dword [esp + 0x3c]
shl ecx, 2
mov dword [ecx + edx - 4], eax
cmp ebx, 2
jae 0x10179002
mov dword [esp + 0x80], 0
cmp ebx, 1
jae 0x10179011
xor eax, eax
jmp 0x10179014
mov eax, dword [esp + 0x38]
mov eax, dword [eax + ebx*4 - 8]
mov dword [esp + 0x80], eax
mov eax, dword [edi - 4]
mov dword [esp + 0x84], eax
mov eax, dword [edi]
lea edi, [edx - 4]
add edi, ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x44], edi
inc dword [edi]
jmp 0x10179038
mov ebp, dword [esp + 0x2c]
dec dword [edi]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.1017b774
mov esi, eax
add esp, 8
test esi, esi
jne 0x10179651
mov ecx, dword [esp + 0x3c]
cmp ecx, 1
jb 0x10179060
mov eax, dword [ebp + ecx*4 - 4]
mov ebx, dword [esp + 0x1c]
mov dword [ebx], eax
mov eax, dword [ebp + ecx*4]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 4], eax
mov ebp, dword [edi]
mov edi, ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x10], ecx
test edi, edi
je 0x10179094
lea eax, [ebx - 4]
lea eax, [eax + edi*4]
cmp dword [eax], 0
jne 0x10179094
sub eax, 4
sub edi, 1
jne 0x10179087
test ebp, ebp
je 0x10179148
test edi, edi
je 0x10179148
lea ebx, [edi + 1]
cmp ebx, 0x2710
jbe 0x101790bd
mov ebx, dword [esp + 0x14]
mov esi, 0xfffffff0
jmp 0x101791bb
cmp ecx, ebx
jae 0x10179113
push 4
push ebx
call dword [0x100721d8]
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x101790df
mov ebx, dword [esp + 0x14]
lea esi, [eax - 0x10]
jmp 0x101791bb
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
shl esi, 2
push esi
push eax
push ebp
call fcn.101937fc
push esi
mov esi, dword [esp + 0x2c]
push esi
call fcn.1016eb14
push esi
call dword [0x100721e0]
mov dword [esp + 0x34], ebp
add esp, 0x18
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x18], ebx
lea eax, [esp + 0x14]
push eax
push eax
call fcn.10178a64
mov esi, eax
add esp, 8
test esi, esi
jne 0x1017913a
lea eax, [ebp - 1]
push eax
mov eax, dword [esp + 0x20]
push eax
push eax
push edi
call fcn.1017d5b4
add esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x14]
jmp 0x101791bb
cmp ecx, 1
jae 0x1017919c
push 4
push 1
call dword [0x100721d8]
mov edi, eax
add esp, 8
test edi, edi
jne 0x10179169
mov ebx, dword [esp + 0x14]
lea esi, [eax - 0x10]
jmp 0x101791bb
mov esi, dword [esp + 0x10]
shl esi, 2
push esi
push ebx
push edi
call fcn.101937fc
push esi
push ebx
call fcn.1016eb14
push ebx
call dword [0x100721e0]
mov ecx, 1
mov ebx, edi
add esp, 0x18
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
lea eax, [ecx*4]
xor esi, esi
push eax
push esi
push ebx
call fcn.101937f6
mov dword [ebx], esi
add esp, 0xc
mov ebx, 1
mov dword [esp + 0x14], ebx
test esi, esi
jne 0x10178e36
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
test eax, eax
je 0x101791e2
lea ecx, [ebp - 4]
lea ecx, [ecx + eax*4]
cmp dword [ecx], 0
jne 0x101791e2
sub ecx, 4
sub eax, 1
jne 0x101791d5
mov ecx, 3
lea edx, [esp + 0x88]
nop word [eax + eax]
cmp dword [edx], 0
jne 0x10179201
sub edx, 4
sub ecx, 1
jne 0x101791f4
test eax, eax
jne 0x1017920b
test ecx, ecx
je 0x1017924b
jmp 0x1017920f
cmp eax, ecx
ja 0x1017923f
cmp ecx, eax
ja 0x1017924b
test ebx, ebx
js 0x1017924b
test eax, eax
je 0x1017924b
mov edi, ebp
lea edx, [esp + 0x80]
lea ecx, [esp + eax*4 + 0x7c]
sub edi, edx
mov edx, dword [edi + ecx]
cmp edx, dword [ecx]
ja 0x1017923f
jb 0x1017923d
sub ecx, 4
sub eax, 1
jne 0x1017922a
jmp 0x1017924b
neg ebx
mov edi, dword [esp + 0x44]
test ebx, ebx
jg 0x10179034
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov ecx, dword [ecx + eax*4 - 4]
mov dword [esp + 0x58], ecx
test ebx, ebx
je 0x10179281
mov esi, dword [esp + 0x2c]
lea eax, [ebx - 1]
lea eax, [esi + eax*4]
nop dword [eax]
cmp dword [eax], 0
jne 0x10179281
sub eax, 4
sub ebx, 1
jne 0x10179274
test ecx, ecx
je 0x101793fe
test ebx, ebx
je 0x101793fe
lea edi, [ebx + 1]
cmp edi, 0x2710
jbe 0x101792a6
mov esi, 0xfffffff0
jmp 0x10179475
mov esi, dword [esp + 0x10]
cmp esi, edi
jae 0x101792fe
push 4
push edi
call dword [0x100721d8]
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x101792c8
lea esi, [eax - 0x10]
jmp 0x10179475
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x101792f0
shl esi, 2
push esi
push eax
push ebp
call fcn.101937fc
push esi
mov esi, dword [esp + 0x2c]
push esi
call fcn.1016eb14
push esi
call dword [0x100721e0]
add esp, 0x18
mov esi, edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x1017932b
test esi, esi
je 0x101793e3
lea eax, [esi*4]
mov dword [esp + 0x14], 1
push eax
push 0
push ebp
call fcn.101937f6
jmp 0x101793e0
lea edi, [eax - 1]
test edi, edi
je 0x10179341
mov eax, dword [esp + 0x2c]
cmp dword [eax + edi*4], 0
jne 0x10179341
sub edi, 1
jne 0x10179336
mov eax, dword [esp + 0x24]
inc edi
mov dword [esp + 0x14], eax
cmp esi, edi
jae 0x101793b2
cmp edi, 0x2710
jbe 0x10179360
mov esi, 0xfffffff0
jmp 0x10179475
push 4
push edi
call dword [0x100721d8]
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x1017937a
lea esi, [eax - 0x10]
jmp 0x10179475
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x101793a2
shl esi, 2
push esi
push eax
push ebp
call fcn.101937fc
push esi
mov esi, dword [esp + 0x2c]
push esi
call fcn.1016eb14
push esi
call dword [0x100721e0]
add esp, 0x18
mov esi, edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
jmp 0x101793ce
mov eax, esi
sub eax, edi
shl eax, 2
push eax
lea eax, [edi*4]
add eax, ebp
push 0
push eax
call fcn.101937f6
add esp, 0xc
lea eax, [edi*4]
push eax
push dword [esp + 0x30]
push ebp
call fcn.101937fc
add esp, 0xc
mov eax, dword [esp + 0x58]
xor esi, esi
dec eax
push eax
push ebp
push dword [esp + 0x34]
push ebx
call fcn.1017d5b4
add esp, 0x10
jmp 0x10179475
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jae 0x10179456
push 4
push 1
call dword [0x100721d8]
mov edi, eax
add esp, 8
test edi, edi
jne 0x1017941f
lea esi, [eax - 0x10]
jmp 0x10179475
test ebp, ebp
je 0x10179443
lea esi, [ebx*4]
push esi
push ebp
push edi
call fcn.101937fc
push esi
push ebp
call fcn.1016eb14
push ebp
call dword [0x100721e0]
add esp, 0x18
mov ebx, 1
mov ebp, edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
lea eax, [ebx*4]
xor esi, esi
push eax
push esi
push ebp
call fcn.101937f6
add esp, 0xc
mov dword [ebp], esi
mov dword [esp + 0x14], 1
test esi, esi
jne 0x10178e36
mov ebx, dword [esp + 0x40]
mov eax, ebx
mov edi, dword [esp + 0x3c]
sub eax, edi
shl eax, 5
sub eax, 0x20
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1017c404
mov esi, eax
add esp, 8
test esi, esi
jne 0x10179651
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x34]
push eax
push eax
call fcn.1017c964
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10179651
mov dword [esp + 0x58], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x78], 1
push eax
mov dword [esp + 0x80], 1
call fcn.10178994
add esp, 8
test eax, eax
jns 0x1017962c
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x1017952c
mov eax, dword [esp + 0x18]
test eax, eax
je 0x101795e0
shl eax, 2
push eax
push esi
push dword [esp + 0x24]
mov dword [esp + 0x20], 1
call fcn.101937f6
jmp 0x101795dd
lea edi, [eax - 1]
test edi, edi
je 0x10179542
mov eax, dword [esp + 0x2c]
cmp dword [eax + edi*4], 0
jne 0x10179542
sub edi, 1
jne 0x10179537
mov ebx, dword [esp + 0x18]
inc edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
cmp ebx, edi
jae 0x101795ab
cmp edi, 0x2710
ja 0x10179726
push 4
push edi
call dword [0x100721d8]
mov ebp, dword [esp + 0x24]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10179643
test ebp, ebp
je 0x101795a1
mov esi, dword [esp + 0x10]
shl esi, 2
push esi
push ebp
push ebx
call fcn.101937fc
push esi
push ebp
call fcn.1016eb14
push ebp
call dword [0x100721e0]
add esp, 0x18
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
jmp 0x101795c3
sub ebx, edi
shl ebx, 2
push ebx
mov ebx, dword [esp + 0x20]
push 0
lea eax, [ebx + edi*4]
push eax
call fcn.101937f6
add esp, 0xc
lea eax, [edi*4]
push eax
push dword [esp + 0x30]
push ebx
call fcn.101937fc
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
add esp, 0xc
mov eax, ebx
sub eax, edi
shl eax, 5
sub eax, 0x20
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1017c404
mov esi, eax
add esp, 8
test esi, esi
jne 0x10179651
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x34]
push eax
push eax
call fcn.101787f4
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10179651
mov edx, dword [esp + 0x20]
mov eax, ebx
sub eax, edi
mov ecx, dword [edx + eax*4 - 4]
mov eax, ebx
dec ecx
sub eax, edi
mov dword [edx + eax*4 - 4], ecx
dec ebx
mov dword [esp + 0x40], ebx
cmp ebx, edi
ja 0x10178f84
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jmp 0x10179662
mov ebx, dword [esp + 0x10]
mov esi, 0xfffffff0
jmp 0x101797e4
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
jmp 0x101797e4
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x6c]
test ebp, ebp
je 0x10179694
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.10178a64
mov esi, eax
add esp, 8
test esi, esi
jne 0x1017972b
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov eax, dword [eax]
imul eax, dword [edi]
mov dword [ebp], eax
jmp 0x10179698
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x70]
test ebp, ebp
je 0x1017972b
push dword [esp + 0x48]
lea eax, [esp + 0x34]
push eax
call fcn.1017c594
mov esi, eax
add esp, 8
test esi, esi
jne 0x10178e36
mov ecx, dword [edi]
lea eax, [esp + 0x30]
cmp ebp, eax
je 0x101797b8
cmp dword [esp + 0x34], esi
jne 0x101796f7
mov eax, dword [ebp + 4]
test eax, eax
je 0x101797b8
shl eax, 2
push eax
push esi
push dword [ebp + 8]
mov dword [ebp], 1
call fcn.101937f6
jmp 0x101797b5
mov esi, dword [esp + 0x34]
sub esi, 1
je 0x10179713
nop dword [eax]
mov eax, dword [esp + 0x38]
cmp dword [eax + esi*4], 0
jne 0x10179713
sub esi, 1
jne 0x10179704
mov eax, dword [ebp + 4]
inc esi
mov dword [ebp], ecx
cmp eax, esi
jae 0x1017978a
cmp esi, 0x2710
jbe 0x10179734
mov esi, 0xfffffff0
mov ebp, dword [esp + 0x1c]
jmp 0x101797e4
push 4
push esi
call dword [0x100721d8]
mov edi, eax
add esp, 8
test edi, edi
jne 0x10179752
mov ebp, dword [esp + 0x1c]
lea esi, [eax - 0x10]
jmp 0x101797e4
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10179782
mov eax, dword [ebp + 4]
shl eax, 2
push eax
push ecx
push edi
call fcn.101937fc
mov eax, dword [ebp + 4]
shl eax, 2
push eax
push dword [ebp + 8]
call fcn.1016eb14
push dword [ebp + 8]
call dword [0x100721e0]
add esp, 0x18
mov dword [ebp + 4], esi
mov dword [ebp + 8], edi
jmp 0x101797a1
sub eax, esi
shl eax, 2
push eax
mov eax, dword [ebp + 8]
push 0
lea eax, [eax + esi*4]
push eax
call fcn.101937f6
add esp, 0xc
lea eax, [esi*4]
push eax
push dword [esp + 0x3c]
push dword [ebp + 8]
call fcn.101937fc
add esp, 0xc
xor esi, esi
push esi
push ebp
call fcn.10178954
add esp, 8
test eax, eax
jne 0x1017972b
mov dword [ebp], 1
mov ebp, dword [esp + 0x1c]
jmp 0x101797e4
mov esi, 0xfffffff0
mov ebp, dword [esp + 0x1c]
xor ebx, ebx
mov edi, dword [esp + 0x38]
test edi, edi
je 0x10179804
mov eax, dword [esp + 0x34]
shl eax, 2
push eax
push edi
call fcn.1016eb14
push edi
call dword [0x100721e0]
add esp, 0xc
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x10179828
mov eax, dword [esp + 0x28]
shl eax, 2
push eax
push edi
call fcn.1016eb14
push edi
mov edi, dword [0x100721e0]
call edi
add esp, 0xc
jmp 0x1017982e
mov edi, dword [0x100721e0]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1017984e
mov eax, dword [esp + 0x50]
shl eax, 2
push eax
push ecx
call fcn.1016eb14
mov ecx, dword [esp + 0x28]
push ecx
call edi
add esp, 0xc
test ebp, ebp
je 0x10179866
lea eax, [ebx*4]
push eax
push ebp
call fcn.1016eb14
push ebp
call edi
add esp, 0xc
lea eax, [esp + 0x80]
push 0xc
push eax
call fcn.1016eb14
add esp, 8
mov eax, esi
mov ecx, dword [esp + 0x8c]
pop esi
pop ebp
pop edi
pop ebx
xor ecx, esp
call fcn.101927e4
add esp, 0x80
ret