Function at 0x519060
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1148
call fcn.00535a10
mov eax, dword [0x60ef40]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x106c], 0
mov dword [ebp - 0x10bc], 0
mov dword [ebp - 0x1094], 0
mov dword [ebp - 0x109c], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x1090], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x10b8], xmm0
lea eax, [ebp - 0x1050]
mov dword [ebp - 0x105c], eax
mov ecx, dword [ebp + 0xc]
and ecx, 0x800
jne 0x5190da
mov dword [ebp - 0x10f4], 1
jmp 0x5190e4
mov dword [ebp - 0x10f4], 0
mov edx, dword [ebp - 0x10f4]
mov dword [ebp - 0x10b0], edx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1060], eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x1054], ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0x10c4], xmm0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x10f0], edx
mov eax, dword [ebp - 0x10f0]
cmp dword [eax + 4], 0
ja 0x519142
jb 0x51912f
mov ecx, dword [ebp - 0x10f0]
cmp dword [ecx], 0x16
jae 0x519142
push 8
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
lea eax, [ebp - 0x10b8]
push eax
push 0x16
push 0x6054b50
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518c80
add esp, 0x10
test eax, eax
jne 0x519173
push 7
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
push 0x16
mov eax, dword [ebp - 0x105c]
push eax
mov ecx, dword [ebp - 0x10b4]
push ecx
mov edx, dword [ebp - 0x10b8]
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 0x5191b4
push 0x14
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x105c]
movzx edx, byte [ecx + eax]
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x105c]
movzx eax, byte [ecx + eax]
shl eax, 8
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 0x105c]
movzx ecx, byte [eax + ecx]
shl ecx, 0x10
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 0x105c]
movzx ecx, byte [eax + ecx]
shl ecx, 0x18
or edx, ecx
cmp edx, 0x6054b50
je 0x519225
push 8
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
cmp dword [ebp - 0x10b4], 0
jl 0x519490
jg 0x519241
cmp dword [ebp - 0x10b8], 0x4c
jb 0x519490
push 0x14
mov eax, dword [ebp - 0x1060]
push eax
mov ecx, dword [ebp - 0x10b8]
sub ecx, 0x14
mov edx, dword [ebp - 0x10b4]
sbb edx, 0
push edx
push ecx
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, 0x14
jne 0x519490
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1060]
movzx ecx, byte [eax + edx]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1060]
movzx edx, byte [eax + edx]
shl edx, 8
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x1060]
movzx eax, byte [edx + eax]
shl eax, 0x10
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x1060]
movzx eax, byte [edx + eax]
shl eax, 0x18
or ecx, eax
cmp ecx, 0x7064b50
jne 0x519490
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1060]
movzx ecx, byte [eax + edx + 8]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1060]
movzx edx, byte [eax + edx + 8]
shl edx, 8
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x1060]
movzx eax, byte [edx + eax + 8]
shl eax, 0x10
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x1060]
movzx eax, byte [edx + eax + 8]
shl eax, 0x18
or ecx, eax
mov esi, ecx
xor edi, edi
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1060]
movzx eax, byte [eax + edx + 0xc]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1060]
movzx ecx, byte [edx + ecx + 0xc]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1060]
movzx edx, byte [ecx + edx + 0xc]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1060]
movzx edx, byte [ecx + edx + 0xc]
shl edx, 0x18
or eax, edx
xor edx, edx
mov cl, 0x20
call fcn.00534c30
or esi, eax
or edi, edx
mov dword [ebp - 0x10c4], esi
mov dword [ebp - 0x10c0], edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
sub ecx, 0x38
mov edx, dword [eax + 4]
sbb edx, 0
mov dword [ebp - 0x111c], ecx
mov dword [ebp - 0x1118], edx
mov eax, dword [ebp - 0x10c0]
cmp eax, dword [ebp - 0x1118]
jb 0x5193f7
ja 0x5193e4
mov ecx, dword [ebp - 0x10c4]
cmp ecx, dword [ebp - 0x111c]
jbe 0x5193f7
push 8
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
push 0x38
mov eax, dword [ebp - 0x1054]
push eax
mov ecx, dword [ebp - 0x10c0]
push ecx
mov edx, dword [ebp - 0x10c4]
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, 0x38
jne 0x519490
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1054]
movzx ecx, byte [eax + edx]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1054]
movzx edx, byte [eax + edx]
shl edx, 8
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + eax]
shl eax, 0x10
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + eax]
shl eax, 0x18
or ecx, eax
cmp ecx, 0x6064b50
jne 0x519490
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
mov dword [edx + 0x34], 1
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x105c]
movzx eax, byte [edx + ecx + 0xa]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x105c]
movzx ecx, byte [edx + ecx + 0xa]
shl ecx, 8
or eax, ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], eax
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x105c]
movzx eax, byte [edx + ecx + 8]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x105c]
movzx ecx, byte [edx + ecx + 8]
shl ecx, 8
or eax, ecx
mov dword [ebp - 0x10bc], eax
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x105c]
movzx edx, byte [ecx + eax + 4]
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x105c]
movzx eax, byte [ecx + eax + 4]
shl eax, 8
or edx, eax
mov dword [ebp - 0x1094], edx
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x105c]
movzx ecx, byte [eax + edx + 6]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x105c]
movzx edx, byte [eax + edx + 6]
shl edx, 8
or ecx, edx
mov dword [ebp - 0x109c], ecx
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x105c]
movzx eax, byte [edx + ecx + 0xc]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x105c]
movzx ecx, byte [edx + ecx + 0xc]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x105c]
movzx edx, byte [ecx + edx + 0xc]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x105c]
movzx edx, byte [ecx + edx + 0xc]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x106c], eax
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x105c]
movzx eax, byte [edx + ecx + 0x10]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x105c]
movzx ecx, byte [edx + ecx + 0x10]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x105c]
movzx edx, byte [ecx + edx + 0x10]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x105c]
movzx edx, byte [ecx + edx + 0x10]
shl edx, 0x18
or eax, edx
xor ecx, ecx
mov dword [ebp - 0x1090], eax
mov dword [ebp - 0x108c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
cmp dword [eax + 0x34], 0
je 0x519c37
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1060]
movzx ecx, byte [eax + edx + 0x10]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1060]
movzx edx, byte [eax + edx + 0x10]
shl edx, 8
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x1060]
movzx eax, byte [edx + eax + 0x10]
shl eax, 0x10
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x1060]
movzx eax, byte [edx + eax + 0x10]
shl eax, 0x18
or ecx, eax
mov dword [ebp - 0x1110], ecx
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1054]
movzx ecx, byte [eax + edx + 0x20]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1054]
movzx edx, byte [eax + edx + 0x20]
shl edx, 8
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + eax + 0x20]
shl eax, 0x10
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + eax + 0x20]
shl eax, 0x18
or ecx, eax
mov esi, ecx
xor edi, edi
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1054]
movzx eax, byte [eax + edx + 0x24]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x24]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x24]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x24]
shl edx, 0x18
or eax, edx
xor edx, edx
mov cl, 0x20
call fcn.00534c30
or esi, eax
or edi, edx
mov dword [ebp - 0x10fc], esi
mov dword [ebp - 0x10f8], edi
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 0x18]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x18]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x18]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x18]
shl edx, 0x18
or eax, edx
mov esi, eax
xor edi, edi
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 0x1c]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x1c]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x1c]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x1c]
shl edx, 0x18
or eax, edx
xor edx, edx
mov cl, 0x20
call fcn.00534c30
or esi, eax
or edi, edx
mov dword [ebp - 0x110c], esi
mov dword [ebp - 0x1108], edi
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 4]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 4]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 4]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 4]
shl edx, 0x18
or eax, edx
mov esi, eax
xor edi, edi
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 8]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 8]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 8]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 8]
shl edx, 0x18
or eax, edx
xor edx, edx
mov cl, 0x20
call fcn.00534c30
or esi, eax
or edi, edx
mov dword [ebp - 0x1124], esi
mov dword [ebp - 0x1120], edi
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 0x28]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x28]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x28]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x28]
shl edx, 0x18
or eax, edx
mov esi, eax
xor edi, edi
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 0x2c]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x2c]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x2c]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x2c]
shl edx, 0x18
or eax, edx
xor edx, edx
mov cl, 0x20
call fcn.00534c30
or esi, eax
or edi, edx
mov dword [ebp - 0x1104], esi
mov dword [ebp - 0x1100], edi
cmp dword [ebp - 0x1120], 0
ja 0x5199f7
jb 0x5199e4
cmp dword [ebp - 0x1124], 0x2c
jae 0x5199f7
push 9
mov eax, dword [ebp + 8]
push eax
call fcn.00518510
add esp, 8
jmp 0x51a79b
cmp dword [ebp - 0x1110], 1
je 0x519a13
push 0xa
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
cmp dword [ebp - 0x10f8], 0
ja 0x519a25
cmp dword [ebp - 0x10fc], 0xffffffff
jbe 0x519a38
push 2
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov eax, dword [ebp - 0x10fc]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
cmp dword [ebp - 0x1108], 0
ja 0x519a56
cmp dword [ebp - 0x110c], 0xffffffff
jbe 0x519a69
push 2
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov eax, dword [ebp - 0x110c]
mov dword [ebp - 0x10bc], eax
cmp dword [ebp - 0x1100], 0
ja 0x519a87
cmp dword [ebp - 0x1104], 0xffffffff
jbe 0x519a9a
push 0xf
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov edx, dword [ebp - 0x1104]
mov dword [ebp - 0x106c], edx
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 0x10]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x10]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x10]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x10]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x1094], eax
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 0x14]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x14]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x14]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x14]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x109c], eax
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 0x30]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x30]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x30]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x30]
shl edx, 0x18
or eax, edx
mov esi, eax
xor edi, edi
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1054]
movzx eax, byte [edx + ecx + 0x34]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1054]
movzx ecx, byte [edx + ecx + 0x34]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x34]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1054]
movzx edx, byte [ecx + edx + 0x34]
shl edx, 0x18
or eax, edx
xor edx, edx
mov cl, 0x20
call fcn.00534c30
or esi, eax
or edi, edx
mov dword [ebp - 0x1090], esi
mov dword [ebp - 0x108c], edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
cmp ecx, dword [ebp - 0x10bc]
je 0x519c58
push 0xa
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov eax, dword [ebp - 0x1094]
or eax, dword [ebp - 0x109c]
je 0x519c8b
cmp dword [ebp - 0x1094], 1
jne 0x519c78
cmp dword [ebp - 0x109c], 1
je 0x519c8b
push 0xa
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov ecx, dword [ebp - 0x106c]
xor esi, esi
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
mov edx, 0x2e
mul edx
mov dword [ebp - 0x112c], ecx
mov dword [ebp - 0x1128], esi
mov dword [ebp - 0x1148], eax
mov dword [ebp - 0x1144], edx
mov eax, dword [ebp - 0x1128]
cmp eax, dword [ebp - 0x1144]
ja 0x519ce9
jb 0x519cd6
mov ecx, dword [ebp - 0x112c]
cmp ecx, dword [ebp - 0x1148]
jae 0x519ce9
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov eax, dword [ebp - 0x106c]
xor ecx, ecx
add eax, dword [ebp - 0x1090]
adc ecx, dword [ebp - 0x108c]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1134], eax
mov dword [ebp - 0x1130], ecx
mov dword [ebp - 0x10cc], edx
mov eax, dword [ebp - 0x10cc]
mov ecx, dword [ebp - 0x1130]
cmp ecx, dword [eax + 4]
jb 0x519d48
ja 0x519d35
mov edx, dword [ebp - 0x10cc]
mov eax, dword [ebp - 0x1134]
cmp eax, dword [edx]
jbe 0x519d48
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1090]
mov ecx, dword [ebp - 0x108c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x10], 0
je 0x51a781
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.00518240
add esp, 0x10
test eax, eax
je 0x519dad
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.00518240
add esp, 0x10
test eax, eax
jne 0x519dc0
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.00518510
add esp, 8
jmp 0x51a79b
cmp dword [ebp - 0x10b0], 0
je 0x519dff
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.00518240
add esp, 0x10
test eax, eax
jne 0x519dff
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.00518510
add esp, 8
jmp 0x51a79b
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 - 0x108c]
push edx
mov eax, dword [ebp - 0x1090]
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 0x519e4a
push 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov edx, dword [ecx]
mov dword [ebp - 0x1058], edx
mov eax, dword [ebp - 0x106c]
mov dword [ebp - 0x1098], eax
mov dword [ebp - 0x1080], 0
jmp 0x519e7f
mov ecx, dword [ebp - 0x1080]
add ecx, 1
mov dword [ebp - 0x1080], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1080]
cmp eax, dword [edx + 0x10]
jae 0x51a781
cmp dword [ebp - 0x1098], 0x2e
jb 0x519ef8
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1058]
movzx ecx, byte [eax + edx]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1058]
movzx edx, byte [eax + edx]
shl edx, 8
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + eax]
shl eax, 0x10
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + eax]
shl eax, 0x18
or ecx, eax
cmp ecx, 0x2014b50
je 0x519f0b
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov esi, dword [ebp - 0x1058]
sub esi, dword [eax]
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x48]
mov edx, dword [ebp - 0x1080]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
add ecx, 0x10
push ecx
call fcn.005180b0
add esp, 8
mov edx, dword [edi + 0x10]
mov dword [edx + eax*4], esi
cmp dword [ebp - 0x10b0], 0
je 0x519f72
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x48]
mov ecx, dword [ebp - 0x1080]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
add eax, 0x20
push eax
call fcn.005180b0
add esp, 8
mov ecx, dword [esi + 0x20]
mov edx, dword [ebp - 0x1080]
mov dword [ecx + eax*4], edx
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + ecx + 0x14]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1058]
movzx ecx, byte [edx + ecx + 0x14]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + edx + 0x14]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + edx + 0x14]
shl edx, 0x18
or eax, edx
xor ecx, ecx
mov dword [ebp - 0x1068], eax
mov dword [ebp - 0x1064], ecx
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + eax + 0x18]
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x1058]
movzx eax, byte [ecx + eax + 0x18]
shl eax, 8
or edx, eax
mov ecx, 1
shl ecx, 1
mov eax, dword [ebp - 0x1058]
movzx ecx, byte [eax + ecx + 0x18]
shl ecx, 0x10
or edx, ecx
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp - 0x1058]
movzx ecx, byte [eax + ecx + 0x18]
shl ecx, 0x18
or edx, ecx
xor eax, eax
mov dword [ebp - 0x107c], edx
mov dword [ebp - 0x1078], eax
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1058]
movzx ecx, byte [eax + edx + 0x2a]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1058]
movzx edx, byte [eax + edx + 0x2a]
shl edx, 8
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + eax + 0x2a]
shl eax, 0x10
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + eax + 0x2a]
shl eax, 0x18
or ecx, eax
xor edx, edx
mov dword [ebp - 0x10e4], ecx
mov dword [ebp - 0x10e0], edx
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + ecx + 0x1c]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1058]
movzx ecx, byte [edx + ecx + 0x1c]
shl ecx, 8
or eax, ecx
mov dword [ebp - 0x10a0], eax
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + eax + 0x1e]
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x1058]
movzx eax, byte [ecx + eax + 0x1e]
shl eax, 8
or edx, eax
mov dword [ebp - 0x1084], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
cmp dword [edx + 0x38], 0
jne 0x51a452
cmp dword [ebp - 0x1084], 0
je 0x51a452
mov eax, dword [ebp - 0x1064]
cmp eax, dword [ebp - 0x1078]
jb 0x51a161
ja 0x51a147
mov ecx, dword [ebp - 0x1068]
cmp ecx, dword [ebp - 0x107c]
jbe 0x51a161
mov edx, dword [ebp - 0x1068]
mov eax, dword [ebp - 0x1064]
mov dword [ebp - 0x10d4], edx
mov dword [ebp - 0x10d0], eax
jmp 0x51a179
mov ecx, dword [ebp - 0x107c]
mov edx, dword [ebp - 0x1078]
mov dword [ebp - 0x10d4], ecx
mov dword [ebp - 0x10d0], edx
mov eax, dword [ebp - 0x10d0]
cmp eax, dword [ebp - 0x10e0]
jb 0x51a201
ja 0x51a197
mov ecx, dword [ebp - 0x10d4]
cmp ecx, dword [ebp - 0x10e4]
jbe 0x51a201
mov edx, dword [ebp - 0x1064]
cmp edx, dword [ebp - 0x1078]
jb 0x51a1cf
ja 0x51a1b5
mov eax, dword [ebp - 0x1068]
cmp eax, dword [ebp - 0x107c]
jbe 0x51a1cf
mov ecx, dword [ebp - 0x1068]
mov edx, dword [ebp - 0x1064]
mov dword [ebp - 0x10dc], ecx
mov dword [ebp - 0x10d8], edx
jmp 0x51a1e7
mov eax, dword [ebp - 0x107c]
mov ecx, dword [ebp - 0x1078]
mov dword [ebp - 0x10dc], eax
mov dword [ebp - 0x10d8], ecx
mov edx, dword [ebp - 0x10dc]
mov eax, dword [ebp - 0x10d8]
mov dword [ebp - 0x10ec], edx
mov dword [ebp - 0x10e8], eax
jmp 0x51a219
mov ecx, dword [ebp - 0x10e4]
mov edx, dword [ebp - 0x10e0]
mov dword [ebp - 0x10ec], ecx
mov dword [ebp - 0x10e8], edx
cmp dword [ebp - 0x10ec], 0xffffffff
jne 0x51a452
cmp dword [ebp - 0x10e8], 0
jne 0x51a452
mov eax, dword [ebp - 0x1084]
mov dword [ebp - 0x1088], eax
cmp dword [ebp - 0x1088], 0
je 0x51a452
mov dword [ebp - 0x1070], 0
mov ecx, dword [ebp - 0x1084]
mov edx, dword [ebp - 0x10a0]
lea eax, [edx + ecx + 0x2e]
cmp eax, dword [ebp - 0x1098]
jbe 0x51a319
mov ecx, dword [ebp - 0x1084]
push ecx
call fcn.00558680
add esp, 4
mov dword [ebp - 0x1070], eax
cmp dword [ebp - 0x1070], 0
jne 0x51a2a3
push 0x10
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov eax, dword [ebp - 0x1084]
push eax
mov ecx, dword [ebp - 0x1070]
push ecx
mov edx, dword [ebp - 0x1090]
add edx, 0x2e
mov eax, dword [ebp - 0x108c]
adc eax, 0
xor ecx, ecx
add edx, dword [ebp - 0x10a0]
adc eax, ecx
push eax
push edx
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, dword [ebp - 0x1084]
je 0x51a30b
mov eax, dword [ebp - 0x1070]
push eax
call fcn.00558650
add esp, 4
push 0x14
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov edx, dword [ebp - 0x1070]
mov dword [ebp - 0x1074], edx
jmp 0x51a32f
mov eax, dword [ebp - 0x10a0]
mov ecx, dword [ebp - 0x1058]
lea edx, [ecx + eax + 0x2e]
mov dword [ebp - 0x1074], edx
cmp dword [ebp - 0x1088], 4
jae 0x51a35a
mov eax, dword [ebp - 0x1070]
push eax
call fcn.00558650
add esp, 4
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x1074]
movzx edx, byte [ecx + eax]
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x1074]
movzx eax, byte [ecx + eax]
shl eax, 8
or edx, eax
mov dword [ebp - 0x1114], edx
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x1074]
movzx ecx, byte [eax + edx + 2]
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x1074]
movzx edx, byte [eax + edx + 2]
shl edx, 8
or ecx, edx
mov dword [ebp - 0x10a4], ecx
mov eax, dword [ebp - 0x10a4]
add eax, 4
cmp eax, dword [ebp - 0x1088]
jbe 0x51a3ed
mov ecx, dword [ebp - 0x1070]
push ecx
call fcn.00558650
add esp, 4
push 9
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
cmp dword [ebp - 0x1114], 1
jne 0x51a412
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov dword [ecx + 0x34], 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov dword [eax + 0x38], 1
jmp 0x51a443
mov ecx, dword [ebp - 0x10a4]
mov edx, dword [ebp - 0x1074]
lea eax, [edx + ecx + 4]
mov dword [ebp - 0x1074], eax
mov ecx, dword [ebp - 0x1088]
sub ecx, 4
sub ecx, dword [ebp - 0x10a4]
mov dword [ebp - 0x1088], ecx
jne 0x51a32f
mov edx, dword [ebp - 0x1070]
push edx
call fcn.00558650
add esp, 4
cmp dword [ebp - 0x1068], 0xffffffff
jne 0x51a468
cmp dword [ebp - 0x1064], 0
je 0x51a525
cmp dword [ebp - 0x107c], 0xffffffff
jne 0x51a47e
cmp dword [ebp - 0x1078], 0
je 0x51a525
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + ecx + 0xa]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1058]
movzx ecx, byte [edx + ecx + 0xa]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + edx + 0xa]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + edx + 0xa]
shl edx, 0x18
or eax, edx
jne 0x51a4f6
mov eax, dword [ebp - 0x107c]
cmp eax, dword [ebp - 0x1068]
jne 0x51a512
mov ecx, dword [ebp - 0x1078]
cmp ecx, dword [ebp - 0x1064]
jne 0x51a512
mov edx, dword [ebp - 0x107c]
or edx, dword [ebp - 0x1078]
je 0x51a525
mov eax, dword [ebp - 0x1068]
or eax, dword [ebp - 0x1064]
jne 0x51a525
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + eax + 0x22]
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x1058]
movzx eax, byte [ecx + eax + 0x22]
shl eax, 8
or edx, eax
mov dword [ebp - 0x10a8], edx
cmp dword [ebp - 0x10a8], 0xffff
je 0x51a579
mov ecx, dword [ebp - 0x10a8]
cmp ecx, dword [ebp - 0x1094]
je 0x51a58c
cmp dword [ebp - 0x10a8], 1
je 0x51a58c
push 0xa
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
cmp dword [ebp - 0x1068], 0xffffffff
jne 0x51a5a2
cmp dword [ebp - 0x1064], 0
je 0x51a65b
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + ecx + 0x2a]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1058]
movzx ecx, byte [edx + ecx + 0x2a]
shl ecx, 8
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + edx + 0x2a]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + edx + 0x2a]
shl edx, 0x18
or eax, edx
xor ecx, ecx
add eax, 0x1e
adc ecx, 0
add eax, dword [ebp - 0x1068]
adc ecx, dword [ebp - 0x1064]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x113c], eax
mov dword [ebp - 0x1138], ecx
mov dword [ebp - 0x10c8], edx
mov eax, dword [ebp - 0x10c8]
mov ecx, dword [ebp - 0x1138]
cmp ecx, dword [eax + 4]
jb 0x51a65b
ja 0x51a648
mov edx, dword [ebp - 0x10c8]
mov eax, dword [ebp - 0x113c]
cmp eax, dword [edx]
jbe 0x51a65b
push 9
mov ecx, dword [ebp + 8]
push ecx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + eax + 8]
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x1058]
movzx eax, byte [ecx + eax + 8]
shl eax, 8
or edx, eax
mov dword [ebp - 0x1140], edx
mov ecx, dword [ebp - 0x1140]
and ecx, 0x2000
je 0x51a6ad
push 5
mov edx, dword [ebp + 8]
push edx
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x1058]
movzx eax, byte [edx + ecx + 0x1c]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x1058]
movzx ecx, byte [edx + ecx + 0x1c]
shl ecx, 8
or eax, ecx
mov edx, 1
imul ecx, edx, 0
mov edx, dword [ebp - 0x1058]
movzx ecx, byte [edx + ecx + 0x1e]
mov edx, 1
shl edx, 0
mov esi, dword [ebp - 0x1058]
movzx edx, byte [esi + edx + 0x1e]
shl edx, 8
or ecx, edx
lea eax, [eax + ecx + 0x2e]
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp - 0x1058]
movzx edx, byte [ecx + edx + 0x20]
mov ecx, 1
shl ecx, 0
mov esi, dword [ebp - 0x1058]
movzx ecx, byte [esi + ecx + 0x20]
shl ecx, 8
or edx, ecx
add eax, edx
mov dword [ebp - 0x10ac], eax
mov edx, dword [ebp - 0x10ac]
cmp edx, dword [ebp - 0x1098]
jbe 0x51a758
push 9
mov eax, dword [ebp + 8]
push eax
call fcn.00518510
add esp, 8
jmp 0x51a79b
mov ecx, dword [ebp - 0x1098]
sub ecx, dword [ebp - 0x10ac]
mov dword [ebp - 0x1098], ecx
mov edx, dword [ebp - 0x1058]
add edx, dword [ebp - 0x10ac]
mov dword [ebp - 0x1058], edx
jmp 0x519e70
cmp dword [ebp - 0x10b0], 0
je 0x51a796
mov eax, dword [ebp + 8]
push eax
call fcn.00518850
add esp, 4
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00534c20
mov esp, ebp
pop ebp
ret