Function at 0x5b717ef1
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x60
push ebx
push esi
lea eax, [edi + 0x58]
mov byte [edi + 0x28], 0
call fcn.5b719703
lea ebx, [edi + 0x260]
mov eax, ebx
call fcn.5b7198ec
lea esi, [edi + 0x220]
mov eax, esi
call fcn.5b719c1d
push 0x58
push 0
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
test dword [ebp + 0x10], 0x2000000
mov dword [ebx + 0x40], esi
je 0x5b717f53
xor eax, eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], eax
xor edx, edx
jmp 0x5b718295
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
cmp dword [edi + 0x40], ebx
je 0x5b717fb8
mov eax, dword [edi + 0x1c0]
mov ecx, dword [eax + 0xe]
cmp ecx, dword [edi + 0xc]
jne 0x5b717fb8
mov ecx, dword [eax + 6]
mov eax, dword [eax + 0xa]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
cmp eax, ebx
jl 0x5b717fb8
jg 0x5b717f9a
cmp ecx, ebx
jbe 0x5b717fb8
mov ecx, dword [edi]
call fcn.5b6f7c7c
mov esi, eax
mov eax, dword [edi + 0x40]
sub eax, dword [edi + 0x44]
mov ecx, edx
cdq
sub esi, eax
sbb ecx, edx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ecx
mov eax, dword [edi + 4]
imul eax, dword [edi + 8]
cdq
push edx
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.5b71f060
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
cmp dword [edi + 0x34], ebx
je 0x5b718074
mov ebx, dword [edi + 0x30]
xor eax, eax
xor ecx, ecx
cmp edx, dword [ebx + 0xc]
jb 0x5b71801f
jbe 0x5b718016
mov eax, dword [ebx + 8]
sub dword [esp + 0x10], eax
mov ecx, dword [ebx + 0xc]
sbb dword [esp + 0x14], ecx
add dword [esp + 0x48], eax
mov eax, dword [ebx + 0x10]
mov edx, dword [esp + 0x14]
adc dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x14]
add ebx, 0x20
cmp edx, dword [ebx + 0xc]
ja 0x5b717fec
jb 0x5b71801f
mov edx, dword [esp + 0x10]
cmp edx, dword [ebx + 8]
jae 0x5b717fec
mov edx, dword [edi + 0xc]
cmp edx, dword [ebx + 0x18]
je 0x5b71804b
push ecx
push eax
mov eax, edi
call fcn.5b7177d3
push edi
call fcn.5b7177f8
mov esi, edi
call fcn.5b717af9
and dword [esp + 0x40], 0
and dword [esp + 0x44], 0
mov esi, dword [esp + 0x40]
mov eax, dword [ebx]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x3c], eax
jmp 0x5b7180ac
or eax, edx
je 0x5b7181d5
mov esi, dword [edi]
call fcn.5b6f7b63
mov dword [esp + 0x28], eax
mov eax, dword [edi + 4]
imul eax, dword [edi + 8]
mov dword [esp + 0x2c], edx
cdq
push edx
push eax
push dword [edi + 0x1c]
push dword [edi + 0x18]
call fcn.5b71f060
mov esi, dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [edi + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
je 0x5b7181cb
mov edx, dword [esp + 0x44]
and dword [esp + 0x30], 0
and dword [esp + 0x34], 0
mov eax, esi
or eax, edx
je 0x5b71811a
mov eax, dword [esp + 0x20]
sub eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x24]
sbb ecx, dword [edi + 0x14]
cmp dword [esp + 0x14], ecx
ja 0x5b71810a
jb 0x5b7180f8
cmp dword [esp + 0x10], eax
ja 0x5b71810a
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
jmp 0x5b71811a
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
sbb ecx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
fild qword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
sbb ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
mov dword [esp + 0x44], ecx
fild qword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
sbb ecx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
fmulp st(1)
mov dword [esp + 0x44], ecx
fild qword [esp + 0x40]
fdivp st(1)
call fcn.5b71eed0
mov ebx, eax
add ebx, dword [esp + 0x18]
mov esi, edx
adc esi, dword [esp + 0x1c]
cmp dword [edi + 0x2c], 0
jge 0x5b7181ac
mov eax, dword [edi]
mov ecx, dword [eax]
test cl, 1
jne 0x5b718196
xor eax, eax
jmp 0x5b71819c
mov eax, dword [eax + 0x90]
xor ecx, ecx
cmp esi, ecx
jl 0x5b7181ac
jg 0x5b7181a8
cmp ebx, eax
jbe 0x5b7181ac
mov ebx, eax
mov esi, ecx
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
add ebx, 0xffffd8f0
adc esi, 0xffffffff
cmp esi, eax
jg 0x5b7181d9
jl 0x5b7181c5
cmp ebx, ecx
jae 0x5b7181d9
mov ebx, ecx
mov esi, eax
jmp 0x5b7181d9
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
jmp 0x5b7181d9
xor ebx, ebx
xor esi, esi
push esi
push ebx
mov eax, edi
call fcn.5b7177d3
mov eax, dword [esp + 0x10]
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
or eax, dword [esp + 0x14]
je 0x5b718241
mov byte [esp + 0xb], 0
push edi
call fcn.5b7177f8
test eax, eax
je 0x5b71847c
mov eax, dword [edi + 0x1c0]
mov ecx, dword [eax + 0xe]
cmp ecx, dword [edi + 0xc]
jne 0x5b71847c
mov ecx, dword [eax + 6]
mov edx, dword [eax + 0xa]
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x5b71829d
cmp ebx, dword [edi + 0x20]
jne 0x5b7181fb
cmp esi, dword [edi + 0x24]
jne 0x5b7181fb
xor eax, eax
mov dword [edi + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, dword [edi + 4]
imul eax, dword [edi + 8]
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
adc esi, dword [esp + 0x4c]
cdq
push esi
push ecx
push edx
push eax
call fcn.5b71eff0
test dword [ebp + 0x10], 0x8000000
mov esi, eax
mov ebx, edx
jne 0x5b718291
mov eax, dword [ebp + 8]
sub eax, esi
lea ecx, [eax - 1]
cmp ecx, 0xfffffe
ja 0x5b718291
push 0
push edi
call fcn.5b718750
and eax, 0xfffffff
cdq
add esi, eax
adc ebx, edx
mov eax, esi
mov edx, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x1cc]
add eax, dword [edi + 0x1c4]
sub ecx, dword [edi + 0x10]
mov dword [esp + 0xc], eax
sbb edx, dword [edi + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
sub edx, ecx
mov ecx, dword [esp + 0x14]
sbb ecx, dword [esp + 0x24]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
test ecx, ecx
jg 0x5b7182e9
jl 0x5b7182db
test edx, edx
jae 0x5b7182e9
cmp ebx, dword [edi + 0x20]
jne 0x5b7182e9
cmp esi, dword [edi + 0x24]
je 0x5b7184b4
cmp byte [esp + 0xb], 0
jne 0x5b718396
mov ecx, dword [edi]
call fcn.5b6f7c7c
mov ecx, dword [esp + 0x40]
mov ebx, eax
mov eax, dword [edi + 0x40]
sub eax, dword [edi + 0x44]
mov esi, edx
cdq
sub ebx, eax
mov eax, dword [esp + 0x44]
sbb esi, edx
add ecx, 0x5dc0
adc eax, 0
test eax, eax
ja 0x5b718346
jb 0x5b718329
cmp ecx, 0x19640
ja 0x5b718346
cmp dword [esp + 0x44], 0
jg 0x5b7181fb
jl 0x5b71837e
cmp dword [esp + 0x40], 0x2ee0
ja 0x5b7181fb
jmp 0x5b71837e
cmp dword [esp + 0x44], 0
jl 0x5b718370
jg 0x5b718356
cmp dword [esp + 0x40], 0
jbe 0x5b718370
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], eax
jmp 0x5b7183ec
cmp dword [esp + 0x2c], esi
jg 0x5b7183d4
jl 0x5b71837e
cmp dword [esp + 0x28], ebx
ja 0x5b7183d4
sub ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov byte [esp + 0xb], 1
sbb esi, 0
test ecx, ecx
jg 0x5b7184c1
jl 0x5b7183a8
test edx, edx
jae 0x5b7184c1
mov ecx, dword [edi + 0x20]
imul eax, eax, 3
shr eax, 1
sub ebx, eax
mov eax, dword [edi + 0x24]
sbb esi, 0
cmp esi, eax
jg 0x5b7183c6
jl 0x5b7183c2
cmp ebx, ecx
jae 0x5b7183c6
mov ebx, ecx
mov esi, eax
push esi
push ebx
mov eax, edi
call fcn.5b7177d3
jmp 0x5b7181fb
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
sbb ecx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x2c]
fild qword [esp + 0x50]
sbb ecx, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x3c]
fild qword [esp + 0x58]
sbb ecx, dword [esp + 0x34]
mov dword [esp + 0x60], eax
fmulp st(1)
mov dword [esp + 0x64], ecx
fild qword [esp + 0x60]
fdivp st(1)
call fcn.5b71eed0
mov ebx, eax
mov eax, dword [esp + 0xc]
imul eax, eax, 3
shr eax, 1
xor ecx, ecx
sub ebx, eax
mov esi, edx
sbb esi, ecx
test esi, esi
jg 0x5b71846f
jl 0x5b718466
test ebx, ebx
jae 0x5b71846f
xor ebx, ebx
xor esi, esi
mov byte [esp + 0xb], 1
add ebx, dword [esp + 0x18]
adc esi, dword [esp + 0x1c]
jmp 0x5b7183c6
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
cmp ebx, ecx
jne 0x5b71848a
cmp esi, eax
je 0x5b7184e9
add ebx, 0xffffec78
adc esi, 0xffffffff
cmp esi, eax
jg 0x5b7184a1
jl 0x5b71849d
cmp ebx, ecx
jae 0x5b7184a1
mov ebx, ecx
mov esi, eax
push esi
push ebx
mov eax, edi
call fcn.5b7177d3
mov byte [esp + 0xb], 1
jmp 0x5b7181fb
xor eax, eax
mov dword [edi + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
or eax, dword [esp + 0x24]
je 0x5b718241
lea eax, [edi + 0x1c0]
lea esi, [edi + 0x58]
call fcn.5b719475
mov eax, edi
call fcn.5b717bc8
jmp 0x5b718241
or edx, 0xffffffff
mov eax, edx
jmp 0x5b718295