Function at 0x101631f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1138
call fcn.10074bd0
mov eax, dword [0x101b3820]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x106c], 0
mov dword [ebp - 0x10a0], 0
mov dword [ebp - 0x1094], 0
mov dword [ebp - 0x109c], 0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x1088], xmm0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x10a8], xmm0
lea eax, [ebp - 0x1050]
mov dword [ebp - 0x1068], eax
mov ecx, dword [ebp + 0xc]
and ecx, 0x800
jne 0x1016326c
mov dword [ebp - 0x10e8], 1
jmp 0x10163276
mov dword [ebp - 0x10e8], 0
mov edx, dword [ebp - 0x10e8]
mov dword [ebp - 0x10bc], edx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1098], eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x1058], ecx
xorpd xmm0, xmm0
movlpd qword [ebp - 0x10c4], xmm0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x10f4], edx
mov eax, dword [ebp - 0x10f4]
cmp dword [eax + 4], 0
ja 0x101632d5
jb 0x101632c2
mov ecx, dword [ebp - 0x10f4]
cmp dword [ecx], 0x16
jae 0x101632d5
push 8
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
lea eax, [ebp - 0x10a8]
push eax
push 0x16
push 0x6054b50
mov ecx, dword [ebp + 8]
push ecx
call fcn.10163ef0
add esp, 0x10
test eax, eax
jne 0x10163306
push 7
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
push 0x16
mov eax, dword [ebp - 0x1068]
push eax
mov ecx, dword [ebp - 0x10a4]
push ecx
mov edx, dword [ebp - 0x10a8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
call eax
add esp, 0x14
cmp eax, 0x16
je 0x10163347
push 0x14
mov ecx, dword [ebp + 8]
push ecx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov edx, dword [ebp - 0x1068]
cmp dword [edx], 0x6054b50
je 0x10163368
push 8
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
cmp dword [ebp - 0x10a4], 0
jl 0x1016348f
jg 0x10163384
cmp dword [ebp - 0x10a8], 0x4c
jb 0x1016348f
push 0x14
mov ecx, dword [ebp - 0x1098]
push ecx
mov edx, dword [ebp - 0x10a8]
sub edx, 0x14
mov eax, dword [ebp - 0x10a4]
sbb eax, 0
push eax
push edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
call ecx
add esp, 0x14
cmp eax, 0x14
jne 0x1016348f
mov edx, dword [ebp - 0x1098]
cmp dword [edx], 0x7064b50
jne 0x1016348f
mov eax, dword [ebp - 0x1098]
mov esi, dword [eax + 8]
xor edi, edi
mov ecx, dword [ebp - 0x1098]
xor edx, edx
mov eax, dword [ecx + 0xc]
mov cl, 0x20
call fcn.1016d920
or esi, eax
or edi, edx
mov dword [ebp - 0x10c4], esi
mov dword [ebp - 0x10c0], edi
mov edx, dword [ebp + 8]
mov eax, dword [edx]
sub eax, 0x38
mov ecx, dword [edx + 4]
sbb ecx, 0
mov dword [ebp - 0x1138], eax
mov dword [ebp - 0x1134], ecx
mov edx, dword [ebp - 0x10c0]
cmp edx, dword [ebp - 0x1134]
jb 0x10163446
ja 0x10163433
mov eax, dword [ebp - 0x10c4]
cmp eax, dword [ebp - 0x1138]
jbe 0x10163446
push 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
push 0x38
mov edx, dword [ebp - 0x1058]
push edx
mov eax, dword [ebp - 0x10c0]
push eax
mov ecx, dword [ebp - 0x10c4]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
call edx
add esp, 0x14
cmp eax, 0x38
jne 0x1016348f
mov eax, dword [ebp - 0x1058]
cmp dword [eax], 0x6064b50
jne 0x1016348f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
mov dword [edx + 0x34], 1
mov eax, dword [ebp - 0x1068]
movzx ecx, word [eax + 0xa]
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], ecx
mov eax, dword [ebp - 0x1068]
movzx ecx, word [eax + 8]
mov dword [ebp - 0x10a0], ecx
mov edx, dword [ebp - 0x1068]
movzx eax, word [edx + 4]
mov dword [ebp - 0x1094], eax
mov ecx, dword [ebp - 0x1068]
movzx edx, word [ecx + 6]
mov dword [ebp - 0x109c], edx
mov eax, dword [ebp - 0x1068]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x106c], ecx
mov edx, dword [ebp - 0x1068]
mov eax, dword [edx + 0x10]
xor ecx, ecx
mov dword [ebp - 0x1088], eax
mov dword [ebp - 0x1084], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
cmp dword [eax + 0x34], 0
je 0x101636eb
mov ecx, dword [ebp - 0x1098]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1124], edx
mov eax, dword [ebp - 0x1058]
mov esi, dword [eax + 0x20]
xor edi, edi
mov ecx, dword [ebp - 0x1058]
xor edx, edx
mov eax, dword [ecx + 0x24]
mov cl, 0x20
call fcn.1016d920
or esi, eax
or edi, edx
mov dword [ebp - 0x1104], esi
mov dword [ebp - 0x1100], edi
mov edx, dword [ebp - 0x1058]
mov esi, dword [edx + 0x18]
xor edi, edi
mov eax, dword [ebp - 0x1058]
xor edx, edx
mov eax, dword [eax + 0x1c]
mov cl, 0x20
call fcn.1016d920
or esi, eax
or edi, edx
mov dword [ebp - 0x10fc], esi
mov dword [ebp - 0x10f8], edi
mov ecx, dword [ebp - 0x1058]
mov esi, dword [ecx + 4]
xor edi, edi
mov edx, dword [ebp - 0x1058]
xor ecx, ecx
mov eax, dword [edx + 8]
mov edx, ecx
mov cl, 0x20
call fcn.1016d920
or esi, eax
or edi, edx
mov dword [ebp - 0x1130], esi
mov dword [ebp - 0x112c], edi
mov edx, dword [ebp - 0x1058]
mov esi, dword [edx + 0x28]
xor edi, edi
mov eax, dword [ebp - 0x1058]
xor edx, edx
mov eax, dword [eax + 0x2c]
mov cl, 0x20
call fcn.1016d920
or esi, eax
or edi, edx
mov dword [ebp - 0x110c], esi
mov dword [ebp - 0x1108], edi
cmp dword [ebp - 0x112c], 0
ja 0x101635f1
jb 0x101635de
cmp dword [ebp - 0x1130], 0x2c
jae 0x101635f1
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
cmp dword [ebp - 0x1124], 1
je 0x1016360d
push 0xa
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
cmp dword [ebp - 0x1100], 0
ja 0x1016361f
cmp dword [ebp - 0x1104], 0xffffffff
jbe 0x10163632
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov ecx, dword [ebp - 0x1104]
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], ecx
cmp dword [ebp - 0x10f8], 0
ja 0x10163650
cmp dword [ebp - 0x10fc], 0xffffffff
jbe 0x10163663
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov ecx, dword [ebp - 0x10fc]
mov dword [ebp - 0x10a0], ecx
cmp dword [ebp - 0x1108], 0
ja 0x10163681
cmp dword [ebp - 0x110c], 0xffffffff
jbe 0x10163694
push 0xf
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp - 0x110c]
mov dword [ebp - 0x106c], eax
mov ecx, dword [ebp - 0x1058]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1094], edx
mov eax, dword [ebp - 0x1058]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x109c], ecx
mov edx, dword [ebp - 0x1058]
mov esi, dword [edx + 0x30]
xor edi, edi
mov eax, dword [ebp - 0x1058]
xor edx, edx
mov eax, dword [eax + 0x34]
mov cl, 0x20
call fcn.1016d920
or esi, eax
or edi, edx
mov dword [ebp - 0x1088], esi
mov dword [ebp - 0x1084], edi
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
cmp edx, dword [ebp - 0x10a0]
je 0x1016370c
push 0xa
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov ecx, dword [ebp - 0x1094]
or ecx, dword [ebp - 0x109c]
je 0x1016373f
cmp dword [ebp - 0x1094], 1
jne 0x1016372c
cmp dword [ebp - 0x109c], 1
je 0x1016373f
push 0xa
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x2e
cmp dword [ebp - 0x106c], ecx
jae 0x10163763
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp - 0x106c]
xor ecx, ecx
add eax, dword [ebp - 0x1088]
adc ecx, dword [ebp - 0x1084]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1114], eax
mov dword [ebp - 0x1110], ecx
mov dword [ebp - 0x10d4], edx
mov eax, dword [ebp - 0x10d4]
mov ecx, dword [ebp - 0x1110]
cmp ecx, dword [eax + 4]
jb 0x101637c2
ja 0x101637af
mov edx, dword [ebp - 0x10d4]
mov eax, dword [ebp - 0x1114]
cmp eax, dword [edx]
jbe 0x101637c2
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1088]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1084]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x10], 0
je 0x10163ebd
push 0
mov eax, dword [ebp - 0x106c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10164b30
add esp, 0x10
test eax, eax
je 0x10163827
push 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
add ecx, 0x10
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10164b30
add esp, 0x10
test eax, eax
jne 0x1016383a
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
cmp dword [ebp - 0x10bc], 0
je 0x10163879
push 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
add ecx, 0x20
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10164b30
add esp, 0x10
test eax, eax
jne 0x10163879
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov ecx, dword [ebp - 0x106c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x1084]
push edx
mov eax, dword [ebp - 0x1088]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
call ecx
add esp, 0x14
cmp eax, dword [ebp - 0x106c]
je 0x101638c4
push 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov edx, dword [ecx]
mov dword [ebp - 0x1054], edx
mov eax, dword [ebp - 0x106c]
mov dword [ebp - 0x1090], eax
mov dword [ebp - 0x107c], 0
jmp 0x101638f9
mov ecx, dword [ebp - 0x107c]
add ecx, 1
mov dword [ebp - 0x107c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x107c]
cmp eax, dword [edx + 0x10]
jae 0x10163ebd
cmp dword [ebp - 0x1090], 0x2e
jb 0x10163922
mov ecx, dword [ebp - 0x1054]
cmp dword [ecx], 0x2014b50
je 0x10163935
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp - 0x1054]
sub edx, dword [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x107c]
mov dword [eax + ecx*4], edx
cmp dword [ebp - 0x10bc], 0
je 0x10163976
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0x107c]
mov eax, dword [ebp - 0x107c]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x1054]
mov edx, dword [ecx + 0x14]
xor eax, eax
mov dword [ebp - 0x1060], edx
mov dword [ebp - 0x105c], eax
mov ecx, dword [ebp - 0x1054]
mov edx, dword [ecx + 0x18]
xor eax, eax
mov dword [ebp - 0x1074], edx
mov dword [ebp - 0x1070], eax
mov ecx, dword [ebp - 0x1054]
mov edx, dword [ecx + 0x2a]
xor eax, eax
mov dword [ebp - 0x10d0], edx
mov dword [ebp - 0x10cc], eax
mov ecx, dword [ebp - 0x1054]
movzx edx, word [ecx + 0x1c]
mov dword [ebp - 0x10b8], edx
mov eax, dword [ebp - 0x1054]
movzx ecx, word [eax + 0x1e]
mov dword [ebp - 0x1078], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
cmp dword [eax + 0x38], 0
jne 0x10163ce0
cmp dword [ebp - 0x1078], 0
je 0x10163ce0
mov ecx, dword [ebp - 0x105c]
cmp ecx, dword [ebp - 0x1070]
jb 0x10163a30
ja 0x10163a16
mov edx, dword [ebp - 0x1060]
cmp edx, dword [ebp - 0x1074]
jbe 0x10163a30
mov eax, dword [ebp - 0x1060]
mov dword [ebp - 0x10f0], eax
mov ecx, dword [ebp - 0x105c]
mov dword [ebp - 0x10ec], ecx
jmp 0x10163a48
mov edx, dword [ebp - 0x1074]
mov dword [ebp - 0x10f0], edx
mov eax, dword [ebp - 0x1070]
mov dword [ebp - 0x10ec], eax
mov ecx, dword [ebp - 0x10ec]
cmp ecx, dword [ebp - 0x10cc]
jb 0x10163ad0
ja 0x10163a66
mov edx, dword [ebp - 0x10f0]
cmp edx, dword [ebp - 0x10d0]
jbe 0x10163ad0
mov eax, dword [ebp - 0x105c]
cmp eax, dword [ebp - 0x1070]
jb 0x10163a9e
ja 0x10163a84
mov ecx, dword [ebp - 0x1060]
cmp ecx, dword [ebp - 0x1074]
jbe 0x10163a9e
mov edx, dword [ebp - 0x1060]
mov dword [ebp - 0x10e4], edx
mov eax, dword [ebp - 0x105c]
mov dword [ebp - 0x10e0], eax
jmp 0x10163ab6
mov ecx, dword [ebp - 0x1074]
mov dword [ebp - 0x10e4], ecx
mov edx, dword [ebp - 0x1070]
mov dword [ebp - 0x10e0], edx
mov eax, dword [ebp - 0x10e4]
mov dword [ebp - 0x10dc], eax
mov ecx, dword [ebp - 0x10e0]
mov dword [ebp - 0x10d8], ecx
jmp 0x10163ae8
mov edx, dword [ebp - 0x10d0]
mov dword [ebp - 0x10dc], edx
mov eax, dword [ebp - 0x10cc]
mov dword [ebp - 0x10d8], eax
cmp dword [ebp - 0x10dc], 0xffffffff
jne 0x10163ce0
cmp dword [ebp - 0x10d8], 0
jne 0x10163ce0
mov ecx, dword [ebp - 0x1078]
mov dword [ebp - 0x1080], ecx
cmp dword [ebp - 0x1080], 0
je 0x10163ce0
mov dword [ebp - 0x1064], 0
mov edx, dword [ebp - 0x1078]
mov eax, dword [ebp - 0x10b8]
lea ecx, [eax + edx + 0x2e]
cmp ecx, dword [ebp - 0x1090]
jbe 0x10163be8
mov edx, dword [ebp - 0x1078]
push edx
call fcn.1006256d
add esp, 4
mov dword [ebp - 0x1064], eax
cmp dword [ebp - 0x1064], 0
jne 0x10163b72
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov ecx, dword [ebp - 0x1078]
push ecx
mov edx, dword [ebp - 0x1064]
push edx
mov eax, dword [ebp - 0x1088]
add eax, 0x2e
mov ecx, dword [ebp - 0x1084]
adc ecx, 0
xor edx, edx
add eax, dword [ebp - 0x10b8]
adc ecx, edx
push ecx
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
call eax
add esp, 0x14
cmp eax, dword [ebp - 0x1078]
je 0x10163bda
mov ecx, dword [ebp - 0x1064]
push ecx
call fcn.10062951
add esp, 4
push 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp - 0x1064]
mov dword [ebp - 0x108c], eax
jmp 0x10163bfe
mov ecx, dword [ebp - 0x10b8]
mov edx, dword [ebp - 0x1054]
lea eax, [edx + ecx + 0x2e]
mov dword [ebp - 0x108c], eax
cmp dword [ebp - 0x1080], 4
jae 0x10163c29
mov ecx, dword [ebp - 0x1064]
push ecx
call fcn.10062951
add esp, 4
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp - 0x108c]
movzx ecx, word [eax]
mov dword [ebp - 0x1128], ecx
mov edx, dword [ebp - 0x108c]
movzx eax, word [edx + 2]
mov dword [ebp - 0x10ac], eax
mov ecx, dword [ebp - 0x10ac]
add ecx, 4
cmp ecx, dword [ebp - 0x1080]
jbe 0x10163c7b
mov edx, dword [ebp - 0x1064]
push edx
call fcn.10062951
add esp, 4
push 9
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
cmp dword [ebp - 0x1128], 1
jne 0x10163ca0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
mov dword [edx + 0x34], 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov dword [ecx + 0x38], 1
jmp 0x10163cd1
mov edx, dword [ebp - 0x10ac]
mov eax, dword [ebp - 0x108c]
lea ecx, [eax + edx + 4]
mov dword [ebp - 0x108c], ecx
mov edx, dword [ebp - 0x1080]
sub edx, 4
sub edx, dword [ebp - 0x10ac]
mov dword [ebp - 0x1080], edx
jne 0x10163bfe
mov eax, dword [ebp - 0x1064]
push eax
call fcn.10062951
add esp, 4
cmp dword [ebp - 0x1060], 0xffffffff
jne 0x10163cf2
cmp dword [ebp - 0x105c], 0
je 0x10163d5b
cmp dword [ebp - 0x1074], 0xffffffff
jne 0x10163d04
cmp dword [ebp - 0x1070], 0
je 0x10163d5b
mov ecx, dword [ebp - 0x1054]
cmp dword [ecx + 0xa], 0
jne 0x10163d2c
mov edx, dword [ebp - 0x1074]
cmp edx, dword [ebp - 0x1060]
jne 0x10163d48
mov eax, dword [ebp - 0x1070]
cmp eax, dword [ebp - 0x105c]
jne 0x10163d48
mov ecx, dword [ebp - 0x1074]
or ecx, dword [ebp - 0x1070]
je 0x10163d5b
mov edx, dword [ebp - 0x1060]
or edx, dword [ebp - 0x105c]
jne 0x10163d5b
push 9
mov eax, dword [ebp + 8]
push eax
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov ecx, dword [ebp - 0x1054]
movzx edx, word [ecx + 0x22]
mov dword [ebp - 0x10b0], edx
cmp dword [ebp - 0x10b0], 0xffff
je 0x10163d8e
mov eax, dword [ebp - 0x10b0]
cmp eax, dword [ebp - 0x1094]
je 0x10163da1
cmp dword [ebp - 0x10b0], 1
je 0x10163da1
push 0xa
mov ecx, dword [ebp + 8]
push ecx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
cmp dword [ebp - 0x1060], 0xffffffff
jne 0x10163db3
cmp dword [ebp - 0x105c], 0
je 0x10163e1b
mov edx, dword [ebp - 0x1054]
mov eax, dword [edx + 0x2a]
xor ecx, ecx
add eax, 0x1e
adc ecx, 0
add eax, dword [ebp - 0x1060]
adc ecx, dword [ebp - 0x105c]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x111c], eax
mov dword [ebp - 0x1118], ecx
mov dword [ebp - 0x10c8], edx
mov eax, dword [ebp - 0x10c8]
mov ecx, dword [ebp - 0x1118]
cmp ecx, dword [eax + 4]
jb 0x10163e1b
ja 0x10163e08
mov edx, dword [ebp - 0x10c8]
mov eax, dword [ebp - 0x111c]
cmp eax, dword [edx]
jbe 0x10163e1b
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov edx, dword [ebp - 0x1054]
movzx eax, word [edx + 8]
mov dword [ebp - 0x1120], eax
mov ecx, dword [ebp - 0x1120]
and ecx, 0x2000
je 0x10163e4c
push 5
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp - 0x1054]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x1054]
movzx eax, word [edx + 0x1e]
lea ecx, [ecx + eax + 0x2e]
mov edx, dword [ebp - 0x1054]
movzx eax, word [edx + 0x20]
add ecx, eax
mov dword [ebp - 0x10b4], ecx
mov ecx, dword [ebp - 0x10b4]
cmp ecx, dword [ebp - 0x1090]
jbe 0x10163e94
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.10164960
add esp, 8
jmp 0x10163ed7
mov eax, dword [ebp - 0x1090]
sub eax, dword [ebp - 0x10b4]
mov dword [ebp - 0x1090], eax
mov ecx, dword [ebp - 0x1054]
add ecx, dword [ebp - 0x10b4]
mov dword [ebp - 0x1054], ecx
jmp 0x101638ea
cmp dword [ebp - 0x10bc], 0
je 0x10163ed2
mov edx, dword [ebp + 8]
push edx
call fcn.10164270
add esp, 4
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10062440
mov esp, ebp
pop ebp
ret