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

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
xor ebx, ebx
push edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], ebx
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esi + 0x10c], eax
jne 0x10165605
mov eax, dword [esp + 0x4c]
cmp dword [eax + 0x40], ebx
jne 0x10165605
mov ebp, dword [esp + 0x48]
cmp byte [ebp + 0x2b], 1
je 0x10165605
cmp dword [esp + 0x50], 0xb
jne 0x1016529e
cmp word [ebp + 0x20], bx
jl 0x10165296
movzx edx, byte [ebp + 0x2a]
mov dword [esp + 0x50], edx
cmp edx, 0xb
jne 0x1016529e
mov dword [esp + 0x50], 2
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 1
jne 0x10165605
cmp dword [ecx + 0x1c], ebx
jne 0x10165605
cmp dword [eax + 0x24], ebx
jne 0x10165605
cmp dword [eax + 0x30], ebx
jne 0x10165605
cmp dword [eax + 0x28], ebx
jne 0x10165605
cmp dword [eax + 0x3c], ebx
jne 0x10165605
cmp dword [eax + 0x34], ebx
jne 0x10165605
test byte [eax + 4], 1
jne 0x10165605
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jne 0x10165605
mov eax, dword [eax + 8]
cmp byte [eax], 0xb4
jne 0x10165605
lea eax, [ecx + 8]
push eax
push 0
push esi
call fcn.10124770
mov edi, eax
add esp, 0xc
mov dword [esp + 0x10], edi
test edi, edi
je 0x10165605
mov eax, dword [edi + 0x14]
cmp eax, dword [ebp + 0x14]
jne 0x10165333
mov eax, dword [edi + 0x3c]
cmp eax, dword [ebp + 0x3c]
je 0x10165605
mov esi, dword [edi + 0x1c]
mov ecx, esi
mov edx, dword [ebp + 0x1c]
mov eax, edx
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x10165605
cmp byte [edi + 0x2b], bl
jne 0x10165605
movzx ecx, word [ebp + 0x22]
cmp cx, word [edi + 0x22]
jne 0x10165605
mov ax, word [ebp + 0x20]
cmp ax, word [edi + 0x20]
jne 0x10165605
test edx, 0x10000
je 0x1016538b
test esi, 0x10000
je 0x10165605
xor eax, eax
mov dword [esp + 0x28], ebx
cmp ax, cx
jge 0x101655c7
xor ecx, ecx
mov dword [esp + 0x2c], ecx
jmp 0x101653a6
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 4]
mov edi, dword [edi + 4]
add esi, ecx
add edi, ecx
mov cx, word [esi + 0xe]
mov ax, word [edi + 0xe]
and cx, 0x60
and ax, 0x60
cmp cx, ax
jne 0x10165605
test cx, cx
je 0x10165446
movzx eax, word [edi + 0xc]
test ax, ax
jne 0x101653db
xor ecx, ecx
jmp 0x101653ff
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x2b], 0
je 0x101653e9
xor ecx, ecx
jmp 0x101653ff
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x101653ff
cmp dword [ecx], eax
jge 0x101653f8
xor ecx, ecx
jmp 0x101653ff
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 - 0xc]
movzx eax, word [esi + 0xc]
test ax, ax
jne 0x1016540c
xor eax, eax
jmp 0x10165430
cmp byte [ebp + 0x2b], 0
je 0x10165416
xor eax, eax
jmp 0x10165430
mov edx, dword [ebp + 0x34]
test edx, edx
jne 0x10165421
xor eax, eax
jmp 0x10165430
cmp dword [edx], eax
jge 0x10165429
xor eax, eax
jmp 0x10165430
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 - 0xc]
push 0xffffffffffffffff
push eax
push ecx
push 0
call fcn.10118520
add esp, 0x10
test eax, eax
jne 0x10165605
mov al, byte [esi + 8]
cmp al, byte [edi + 8]
jne 0x10165605
movzx ecx, word [edi + 0xe]
test ecx, 0x200
jne 0x10165462
xor ecx, ecx
jmp 0x10165489
mov eax, dword [edi]
cmp byte [eax], 0
je 0x10165476
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x10165470
test cl, 4
je 0x10165486
nop dword [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x10165480
lea ecx, [eax + 1]
movzx ebx, word [esi + 0xe]
test ebx, 0x200
je 0x101654d1
mov eax, dword [esi]
cmp byte [eax], 0
je 0x101654a6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x101654a0
test bl, 4
je 0x101654b6
nop dword [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x101654b0
add eax, 1
je 0x101654d1
test ecx, ecx
je 0x10165605
push ecx
push eax
call fcn.101353f0
add esp, 8
mov ecx, eax
jmp 0x101654d5
neg ecx
sbb ecx, ecx
test ecx, ecx
jne 0x10165605
test byte [esi + 4], 0xf
je 0x101654ed
test byte [edi + 4], 0xf
je 0x10165605
test bl, 0x60
mov ebx, dword [esp + 0x28]
jne 0x101655a9
test ebx, ebx
jle 0x101655a9
movzx eax, word [esi + 0xc]
test ax, ax
jne 0x1016550f
xor esi, esi
jmp 0x1016552f
cmp byte [ebp + 0x2b], 0
je 0x10165519
xor esi, esi
jmp 0x1016552f
mov esi, dword [ebp + 0x34]
test esi, esi
je 0x1016552f
cmp dword [esi], eax
jge 0x10165528
xor esi, esi
jmp 0x1016552f
lea eax, [eax + eax*4]
mov esi, dword [esi + eax*4 - 0xc]
movzx eax, word [edi + 0xc]
test ax, ax
jne 0x1016553c
xor edx, edx
jmp 0x10165560
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x2b], 0
je 0x1016554a
xor edx, edx
jmp 0x10165560
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x10165560
cmp dword [edx], eax
jge 0x10165559
xor edx, edx
jmp 0x10165560
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 - 0xc]
xor ecx, ecx
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp eax, ecx
jne 0x10165605
test esi, esi
je 0x101655a9
mov ecx, dword [edx + 8]
mov eax, dword [esi + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101655a0
test dl, dl
je 0x1016559c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101655a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10165580
xor eax, eax
jmp 0x101655a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10165605
mov ecx, dword [esp + 0x2c]
inc ebx
movsx eax, word [ebp + 0x22]
add ecx, 0x10
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
cmp ebx, eax
jl 0x101653a2
xor ebx, ebx
mov edi, dword [ebp + 8]
mov eax, 1
test edi, edi
je 0x10165646
cmp byte [edi + 0x36], 0
cmovne ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], ebx
mov esi, dword [eax + 8]
test esi, esi
je 0x10165605
nop dword [eax]
push esi
push edi
call fcn.10165140
add esp, 8
test eax, eax
jne 0x1016560f
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x101655f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [esi + 0x2c]
cmp eax, dword [edi + 0x2c]
jne 0x1016563a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
cmp eax, dword [ebp + 0x3c]
jne 0x1016563a
mov eax, dword [0x101a1250]
test eax, eax
je 0x10165605
push 0x19b
call eax
add esp, 4
test eax, eax
je 0x10165605
mov edi, dword [edi + 0x14]
mov eax, 1
test edi, edi
jne 0x101655d3
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x10165663
push 0xffffffffffffffff
push eax
push dword [ebx + 0x10]
call fcn.10119990
add esp, 0xc
test eax, eax
jne 0x10165605
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
and eax, 0x4000
or eax, 0
je 0x1016567d
cmp dword [ebp + 0x30], 0
jne 0x10165605
and ecx, 1
xor eax, eax
or eax, ecx
jne 0x10165605
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x20], 0xffff8000
test ecx, ecx
je 0x101656bc
mov eax, dword [esi + 0x10]
xor edx, edx
add eax, 0xc
mov dword [esp + 0x20], edx
cmp dword [eax], ecx
je 0x101656bc
nop dword [eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x101656b0
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x44]
push ebx
call fcn.10120bf0
push dword [esp + 0x24]
mov edi, eax
push ebx
call fcn.1010fdc0
mov ecx, ebx
push ebp
push dword [esp + 0x64]
mov ebx, dword [ecx + 0x28]
push ecx
mov dword [esp + 0x2c], ebx
lea esi, [ebx + 1]
lea eax, [esi + 1]
mov dword [esp + 0x4c], esi
mov dword [ecx + 0x28], eax
call fcn.100db480
push dword [esp + 0x5c]
mov ebp, eax
call fcn.10120200
push eax
push 0
push 0x4b
push edi
mov dword [esp + 0x50], eax
call fcn.10139b00
mov edx, dword [esp + 0x70]
push edx
call fcn.10120200
mov ecx, dword [esp + 0x78]
push 0x71
push ecx
push dword [esp + 0x8c]
mov dword [esp + 0x54], eax
push esi
push edx
call fcn.101255d0
mov eax, dword [esp + 0x60]
add esp, 0x44
test byte [eax + 0x18], 4
mov eax, dword [esp + 0x48]
jne 0x1016578d
cmp word [eax + 0x20], 0
jge 0x1016574e
cmp dword [eax + 8], 0
jne 0x10165763
cmp dword [esp + 0x30], 0
jne 0x10165763
mov ecx, dword [esp + 0x50]
cmp ecx, 2
je 0x1016578d
cmp ecx, 1
je 0x1016578d
push 0
push esi
push 0x24
push edi
call fcn.10139b00
push 9
push edi
mov esi, eax
call fcn.10139a50
push esi
push edi
mov dword [esp + 0x5c], eax
call fcn.10143e90
mov eax, dword [esp + 0x68]
lea esi, [ebx + 1]
add esp, 0x20
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1c], 0x80
jne 0x1016592f
push 0x70
push ecx
push dword [esp + 0x28]
push ebx
push dword [esp + 0x54]
call fcn.101255d0
push 0
push ebx
push 0x24
push edi
call fcn.10139b00
mov dword [esp + 0x5c], eax
add esp, 0x24
mov eax, dword [esp + 0x48]
cmp word [eax + 0x20], 0
jl 0x1016582b
push dword [esp + 0x18]
push ebx
push 0x87
push edi
call fcn.10139b00
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
jne 0x10165814
push dword [esp + 0x18]
push 0
push esi
push 0x1f
push edi
call fcn.10139b60
push dword [esp + 0x5c]
mov esi, eax
push dword [esp + 0x68]
push dword [esp + 0x60]
call fcn.1012f560
push esi
push edi
call fcn.10143e90
add esp, 0x28
push dword [esp + 0x18]
push ebp
push dword [esp + 0x4c]
call fcn.100db550
mov ebp, dword [esp + 0x20]
add esp, 0xc
jmp 0x10165865
cmp dword [eax + 8], 0
jne 0x1016584e
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 8
jne 0x1016584e
push dword [esp + 0x18]
push esi
push 0x7f
push edi
call fcn.10139b00
mov ebp, dword [esp + 0x24]
jmp 0x10165860
push dword [esp + 0x18]
mov ebp, ebx
push ebp
push 0x87
push edi
call fcn.10139b00
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
je 0x10165888
lea eax, [ebp + 1]
push eax
push 0x89
push edi
call fcn.10139aa0
add esp, 0xc
mov esi, 0x98
jmp 0x1016588d
mov esi, 0xa9
push dword [esp + 0x18]
lea eax, [ebp + 1]
push ebp
push eax
push 0x81
push edi
call fcn.10139b60
push dword [esp + 0x2c]
lea eax, [ebp + 1]
push dword [esp + 0x3c]
push eax
push 0x80
push edi
call fcn.10139b60
mov eax, dword [esp + 0x44]
add esp, 0x28
test byte [eax + 0x18], 4
jne 0x101658fc
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x101658fc
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x48]
add eax, 0xffffffec
cmp byte [eax + 1], 0
je 0x101658f5
push 0xfffffffffffffffb
push ecx
push eax
push edi
call fcn.10155940
add esp, 0x10
jmp 0x101658fc
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xfb
push esi
push edi
call fcn.1013a040
push ebx
push ebp
push 0x27
push edi
call fcn.10139b00
push 0
push ebp
push 0x7a
push edi
call fcn.10139b00
push 0
lea esi, [ebp + 1]
push esi
push 0x7a
push edi
call fcn.10139b00
mov ebx, dword [esp + 0x58]
add esp, 0x38
jmp 0x10165961
push dword [eax]
mov ebp, dword [esp + 0x48]
push 1
push dword [eax + 0x14]
push dword [esp + 0x60]
push ebp
call fcn.101356f0
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
push dword [eax]
push 0
push dword [eax + 0x14]
push ebx
push ebp
call fcn.101356f0
mov ebp, dword [esp + 0x3c]
add esp, 0x28
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
test eax, eax
je 0x10165e28
mov eax, dword [esp + 0x10]
mov byte [esp + 0x2c], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x101659a1
mov ebp, dword [esp + 0x28]
push esi
push ebp
call fcn.10165140
add esp, 8
test eax, eax
jne 0x1016599d
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x10165988
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x101659bc
push ebx
push edx
push ebp
push 0x70
push edi
call fcn.100f0a80
add esp, 0x14
jmp 0x101659e7
mov ebp, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x44]
push esi
push eax
mov ebx, dword [eax + 8]
call fcn.10123a40
mov edx, eax
add esp, 8
test edx, edx
je 0x10165a34
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x10165a22
cmp dword [eax + 0x210], 0
jne 0x10165a34
add dword [edx], 0xffffffff
jne 0x10165a34
push edx
push dword [edx + 0xc]
call fcn.10112f20
add esp, 8
jmp 0x10165a34
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x6c]
mov edx, dword [edx + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x10165a59
push dword [esp + 0x54]
lea eax, [ebp + 1]
push edx
push eax
push 0x71
push edi
call fcn.100f0a80
add esp, 0x14
jmp 0x10165a87
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea ebx, [ebp + 1]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x44]
push dword [esp + 0x28]
push eax
mov ebx, dword [eax + 8]
call fcn.10123a40
mov edx, eax
add esp, 8
test edx, edx
je 0x10165ad7
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x10165ac5
cmp dword [eax + 0x210], 0
jne 0x10165ad7
add dword [edx], 0xffffffff
jne 0x10165ad7
push edx
push dword [edx + 0xc]
call fcn.10112f20
add esp, 8
jmp 0x10165ad7
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x10165aee
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x30], edx
cmp dword [edi + 0x70], edx
jg 0x10165b10
push 0
push 0
push ebp
push 0x24
push edi
call fcn.100f0a80
add esp, 0x14
mov dword [esp + 0x30], eax
jmp 0x10165b3f
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
je 0x10165c2a
movzx ebp, word [esi + 0x34]
xor ebx, ebx
test ebp, ebp
je 0x10165b80
mov esi, dword [esi + 0x20]
nop word [eax + eax]
mov eax, dword [esi]
test eax, eax
je 0x10165b80
push eax
push 0x1019004c
call fcn.101353f0
add esp, 8
test eax, eax
jne 0x10165b80
inc ebx
add esi, 4
cmp ebx, ebp
jl 0x10165b60
cmp ebx, ebp
jne 0x10165c50
mov ecx, dword [edi + 0x6c]
mov bl, 0x90
mov esi, dword [esp + 0x34]
cmp dword [edi + 0x70], ecx
jg 0x10165bab
push 0
push 0
push esi
push 0x89
push edi
call fcn.100f0a80
add esp, 0x14
jmp 0x10165bda
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x89
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
mov ebp, dword [esp + 0x14]
cmp dword [edi + 0x70], ecx
jg 0x10165c01
push 0
push ebp
push esi
push 0x81
push edi
call fcn.100f0a80
mov edx, dword [esp + 0x38]
add esp, 0x14
jmp 0x10165cb0
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x81
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x10165ca8
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
test byte [eax + 0x1c], 0x80
je 0x10165c58
mov eax, dword [esp + 0x28]
movzx ebx, bl
mov al, byte [eax + 0x38]
and al, 3
cmp al, 2
mov eax, 1
cmove ebx, eax
jmp 0x10165c58
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10165c7e
push 1
push dword [esp + 0x28]
push ebp
push 0x86
push edi
call fcn.100f0a80
mov edx, dword [esp + 0x38]
lea esi, [ebp + 1]
add esp, 0x14
jmp 0x10165cb0
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [ebp + 1]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10165ccc
push 0
push edx
push esi
push 0x8a
push edi
call fcn.100f0a80
add esp, 0x14
jmp 0x10165cfb
mov ebp, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x8a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x10165d13
lea ecx, [eax + eax*4]
or bl, 8
mov eax, dword [edi + 0x68]
movzx edx, bl
mov word [eax + ecx*4 - 0x12], dx
mov ebx, dword [esp + 0x30]
mov ecx, dword [edi + 0x6c]
lea edx, [ebx + 1]
cmp dword [edi + 0x70], ecx
jg 0x10165d33
push 0
push edx
push ebp
push 0x27
push edi
call fcn.100f0a80
add esp, 0x14
jmp 0x10165d61
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [ebp + 1]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x10165d73
mov eax, 0x101a3d48
jmp 0x10165d7c
mov eax, dword [edi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10165d99
push 0
push 0
push ebp
push 0x7a
push edi
call fcn.100f0a80
add esp, 0x14
jmp 0x10165dc8
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10165de2
push 0
push 0
push esi
push 0x7a
push edi
call fcn.100f0a80
add esp, 0x14
jmp 0x10165e11
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10165974
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10165e3a
push eax
push edi
call fcn.10143e90
add esp, 8
push dword [esp + 0x18]
mov ebx, dword [esp + 0x48]
push ebx
call fcn.1012e730
push dword [esp + 0x2c]
push ebx
call fcn.1012e730
mov ebp, dword [esp + 0x4c]
add esp, 0x10
test ebp, ebp
je 0x10165e97
cmp dword [ebx + 0x74], 0
je 0x10165e6c
push ebx
call fcn.100db580
add esp, 4
push 0
push 0
push 0x46
push edi
call fcn.10139b00
push ebp
push edi
call fcn.10143e90
push 0
push esi
push 0x7a
push edi
call fcn.10139b00
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret