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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
push edi
xor esi, esi
mov ebp, dword [esp + 0x84]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x20]
mov dword [esp + 0x1c], esi
rep stosd dword es:[edi], eax
mov ebx, dword [esp + 0x74]
mov ecx, 0xd
lea edi, [esp + 0x3c]
mov dword [esp + 0x38], esi
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x10], esi
cmp ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
mov dword [ebp], esi
jbe 0x10161239
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push ecx
push ebx
call fcn.101650c0
add esp, 0xc
test eax, eax
jge 0x101610f1
mov edx, 1
mov dword [esp + 0x10], edx
jmp 0x101610f5
mov edx, dword [esp + 0x10]
cmp eax, 0x25f
je 0x1016115b
cmp eax, 0x260
je 0x1016115b
cmp eax, 0x137
je 0x1016115b
cmp eax, 0x133
je 0x1016115b
cmp eax, 0x132
je 0x1016115b
cmp eax, 0x136
je 0x1016115b
cmp eax, 0x134
je 0x1016115b
cmp eax, 0x135
je 0x1016115b
cmp eax, 0x138
je 0x1016115b
cmp eax, 0x167
je 0x1016115b
cmp eax, 0x1bc
je 0x1016115b
cmp eax, 0x1bd
je 0x1016115b
cmp eax, 0x1c4
je 0x1016115b
cmp eax, 0x1c5
jne 0x10161221
mov edx, dword [esp + 0x80]
mov ecx, dword [ebp]
add edx, 0xfffffff6
cmp ecx, edx
ja 0x10161247
mov edi, dword [esp + 0x7c]
lea eax, [eax + eax*2]
mov dword [ecx + edi], esi
mov ecx, dword [ebp]
add ecx, 4
mov dword [ebp], ecx
mov edx, ecx
xor ecx, ecx
mov cl, byte [eax*8 + 0x101c6690]
mov esi, ecx
add esi, 0xffffff8e
cmp esi, 0x77
ja case.0x101611a4.128
xor eax, eax
mov al, byte [esi + 0x101616e4]
jmp dword [eax*4 + 0x101616a8]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
inc eax
lea edi, [esp + 0x74]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x74], 0
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x1016120f
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x1016120f
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x10]
mov esi, ebx
lea edi, [edx + eax]
jmp 0x1016163f
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.10161060
add esp, 8
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
add esi, edx
add ebx, edx
cmp esi, ecx
mov dword [esp + 0x18], esi
jb 0x101610cf
mov eax, dword [ebp]
lea edx, [eax + 0x38]
cmp edx, ecx
jbe 0x1016165e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
lea edi, [esp + 0x74]
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
mov dword [esp + 0x74], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x10161221
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x10161221
mov eax, dword [ebp]
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov esi, ebx
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
lea edi, [esp + 0x74]
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
mov dword [esp + 0x74], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x10161221
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x10161221
mov eax, dword [ebp]
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov esi, ebx
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
lea edi, [esp + 0x74]
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
mov dword [esp + 0x74], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x10161221
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x10161221
mov eax, dword [ebp]
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov esi, ebx
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
lea edi, [esp + 0x74]
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
mov dword [esp + 0x74], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x10161221
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x10161221
mov eax, dword [ebp]
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov esi, ebx
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
lea edi, [esp + 0x74]
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
mov dword [esp + 0x74], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x10161221
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x10161221
mov eax, dword [ebp]
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov esi, ebx
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
lea edi, [esp + 0x74]
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
mov dword [esp + 0x74], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x10161221
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x10161221
mov eax, dword [ebp]
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov esi, ebx
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
lea edi, [esp + 0x74]
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
mov dword [esp + 0x74], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x10161221
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x10161221
mov eax, dword [ebp]
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov esi, ebx
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
lea edi, [esp + 0x74]
dec ecx
lea esi, [ebx + eax + 1]
mov eax, ecx
mov dword [esp + 0x74], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ebx + 5]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jb 0x10161221
mov esi, dword [esp + 0x8c]
add ecx, esi
cmp eax, ecx
ja 0x10161221
mov eax, dword [ebp]
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov esi, ebx
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
inc dword [esp + 0x5c]
jmp 0x10161637
inc dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
add edi, edx
mov eax, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x10161648
inc dword [esp + 0x64]
jmp 0x10161637
inc dword [esp + 0x68]
jmp 0x10161614
inc dword [esp + 0x6c]
mov ecx, dword [esp + 0x10]
mov esi, ebx
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x10]
mov eax, dword [ebp]
add eax, edx
mov dword [ebp], eax
jmp 0x10161221
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x8c]
lea esi, [esp + 0x38]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x78]
mov ecx, 0xe
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp]
add ecx, 0x38
cmp eax, edx
mov dword [ebp], ecx
jne 0x10161698
mov ecx, 0xe
lea esi, [esp + 0x38]
mov edi, 0x10a6e8f0
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x60
ret