Function at 0x10167810
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1138
call fcn.10076350
mov eax, dword [0x101b9820]
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 0x1016788c
mov dword [ebp - 0x10e8], 1
jmp 0x10167896
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 0x101678f5
jb 0x101678e2
mov ecx, dword [ebp - 0x10f4]
cmp dword [ecx], 0x16
jae 0x101678f5
push 8
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
lea eax, [ebp - 0x10a8]
push eax
push 0x16
push 0x6054b50
mov ecx, dword [ebp + 8]
push ecx
call fcn.10168510
add esp, 0x10
test eax, eax
jne 0x10167926
push 7
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x10167967
push 0x14
mov ecx, dword [ebp + 8]
push ecx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
mov edx, dword [ebp - 0x1068]
cmp dword [edx], 0x6054b50
je 0x10167988
push 8
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
cmp dword [ebp - 0x10a4], 0
jl 0x10167aaf
jg 0x101679a4
cmp dword [ebp - 0x10a8], 0x4c
jb 0x10167aaf
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 0x10167aaf
mov edx, dword [ebp - 0x1098]
cmp dword [edx], 0x7064b50
jne 0x10167aaf
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.10171f40
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 0x10167a66
ja 0x10167a53
mov eax, dword [ebp - 0x10c4]
cmp eax, dword [ebp - 0x1138]
jbe 0x10167a66
push 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x10167aaf
mov eax, dword [ebp - 0x1058]
cmp dword [eax], 0x6064b50
jne 0x10167aaf
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 0x10167d0b
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.10171f40
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.10171f40
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.10171f40
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.10171f40
or esi, eax
or edi, edx
mov dword [ebp - 0x110c], esi
mov dword [ebp - 0x1108], edi
cmp dword [ebp - 0x112c], 0
ja 0x10167c11
jb 0x10167bfe
cmp dword [ebp - 0x1130], 0x2c
jae 0x10167c11
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
cmp dword [ebp - 0x1124], 1
je 0x10167c2d
push 0xa
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
cmp dword [ebp - 0x1100], 0
ja 0x10167c3f
cmp dword [ebp - 0x1104], 0xffffffff
jbe 0x10167c52
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
mov ecx, dword [ebp - 0x1104]
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], ecx
cmp dword [ebp - 0x10f8], 0
ja 0x10167c70
cmp dword [ebp - 0x10fc], 0xffffffff
jbe 0x10167c83
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
mov ecx, dword [ebp - 0x10fc]
mov dword [ebp - 0x10a0], ecx
cmp dword [ebp - 0x1108], 0
ja 0x10167ca1
cmp dword [ebp - 0x110c], 0xffffffff
jbe 0x10167cb4
push 0xf
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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.10171f40
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 0x10167d2c
push 0xa
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
mov ecx, dword [ebp - 0x1094]
or ecx, dword [ebp - 0x109c]
je 0x10167d5f
cmp dword [ebp - 0x1094], 1
jne 0x10167d4c
cmp dword [ebp - 0x109c], 1
je 0x10167d5f
push 0xa
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x2e
cmp dword [ebp - 0x106c], ecx
jae 0x10167d83
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x10167de2
ja 0x10167dcf
mov edx, dword [ebp - 0x10d4]
mov eax, dword [ebp - 0x1114]
cmp eax, dword [edx]
jbe 0x10167de2
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x101684dd
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.10169150
add esp, 0x10
test eax, eax
je 0x10167e47
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.10169150
add esp, 0x10
test eax, eax
jne 0x10167e5a
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
cmp dword [ebp - 0x10bc], 0
je 0x10167e99
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.10169150
add esp, 0x10
test eax, eax
jne 0x10167e99
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x10167ee4
push 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x10167f19
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 0x101684dd
cmp dword [ebp - 0x1090], 0x2e
jb 0x10167f42
mov ecx, dword [ebp - 0x1054]
cmp dword [ecx], 0x2014b50
je 0x10167f55
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x10167f96
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 0x10168300
cmp dword [ebp - 0x1078], 0
je 0x10168300
mov ecx, dword [ebp - 0x105c]
cmp ecx, dword [ebp - 0x1070]
jb 0x10168050
ja 0x10168036
mov edx, dword [ebp - 0x1060]
cmp edx, dword [ebp - 0x1074]
jbe 0x10168050
mov eax, dword [ebp - 0x1060]
mov dword [ebp - 0x10f0], eax
mov ecx, dword [ebp - 0x105c]
mov dword [ebp - 0x10ec], ecx
jmp 0x10168068
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 0x101680f0
ja 0x10168086
mov edx, dword [ebp - 0x10f0]
cmp edx, dword [ebp - 0x10d0]
jbe 0x101680f0
mov eax, dword [ebp - 0x105c]
cmp eax, dword [ebp - 0x1070]
jb 0x101680be
ja 0x101680a4
mov ecx, dword [ebp - 0x1060]
cmp ecx, dword [ebp - 0x1074]
jbe 0x101680be
mov edx, dword [ebp - 0x1060]
mov dword [ebp - 0x10e4], edx
mov eax, dword [ebp - 0x105c]
mov dword [ebp - 0x10e0], eax
jmp 0x101680d6
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 0x10168108
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 0x10168300
cmp dword [ebp - 0x10d8], 0
jne 0x10168300
mov ecx, dword [ebp - 0x1078]
mov dword [ebp - 0x1080], ecx
cmp dword [ebp - 0x1080], 0
je 0x10168300
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 0x10168208
mov edx, dword [ebp - 0x1078]
push edx
call fcn.10063cdd
add esp, 4
mov dword [ebp - 0x1064], eax
cmp dword [ebp - 0x1064], 0
jne 0x10168192
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x101681fa
mov ecx, dword [ebp - 0x1064]
push ecx
call fcn.100640c1
add esp, 4
push 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
mov eax, dword [ebp - 0x1064]
mov dword [ebp - 0x108c], eax
jmp 0x1016821e
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 0x10168249
mov ecx, dword [ebp - 0x1064]
push ecx
call fcn.100640c1
add esp, 4
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x1016829b
mov edx, dword [ebp - 0x1064]
push edx
call fcn.100640c1
add esp, 4
push 9
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
cmp dword [ebp - 0x1128], 1
jne 0x101682c0
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 0x101682f1
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 0x1016821e
mov eax, dword [ebp - 0x1064]
push eax
call fcn.100640c1
add esp, 4
cmp dword [ebp - 0x1060], 0xffffffff
jne 0x10168312
cmp dword [ebp - 0x105c], 0
je 0x1016837b
cmp dword [ebp - 0x1074], 0xffffffff
jne 0x10168324
cmp dword [ebp - 0x1070], 0
je 0x1016837b
mov ecx, dword [ebp - 0x1054]
cmp dword [ecx + 0xa], 0
jne 0x1016834c
mov edx, dword [ebp - 0x1074]
cmp edx, dword [ebp - 0x1060]
jne 0x10168368
mov eax, dword [ebp - 0x1070]
cmp eax, dword [ebp - 0x105c]
jne 0x10168368
mov ecx, dword [ebp - 0x1074]
or ecx, dword [ebp - 0x1070]
je 0x1016837b
mov edx, dword [ebp - 0x1060]
or edx, dword [ebp - 0x105c]
jne 0x1016837b
push 9
mov eax, dword [ebp + 8]
push eax
call fcn.10168f80
add esp, 8
jmp 0x101684f7
mov ecx, dword [ebp - 0x1054]
movzx edx, word [ecx + 0x22]
mov dword [ebp - 0x10b0], edx
cmp dword [ebp - 0x10b0], 0xffff
je 0x101683ae
mov eax, dword [ebp - 0x10b0]
cmp eax, dword [ebp - 0x1094]
je 0x101683c1
cmp dword [ebp - 0x10b0], 1
je 0x101683c1
push 0xa
mov ecx, dword [ebp + 8]
push ecx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
cmp dword [ebp - 0x1060], 0xffffffff
jne 0x101683d3
cmp dword [ebp - 0x105c], 0
je 0x1016843b
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 0x1016843b
ja 0x10168428
mov edx, dword [ebp - 0x10c8]
mov eax, dword [ebp - 0x111c]
cmp eax, dword [edx]
jbe 0x1016843b
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
mov edx, dword [ebp - 0x1054]
movzx eax, word [edx + 8]
mov dword [ebp - 0x1120], eax
mov ecx, dword [ebp - 0x1120]
and ecx, 0x2000
je 0x1016846c
push 5
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x101684b4
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.10168f80
add esp, 8
jmp 0x101684f7
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 0x10167f0a
cmp dword [ebp - 0x10bc], 0
je 0x101684f2
mov edx, dword [ebp + 8]
push edx
call fcn.10168890
add esp, 4
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10063bb0
mov esp, ebp
pop ebp
ret