Function at 0x10004cd0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
mov ecx, dword [0x10074014]
push ebx
push ebp
push esi
mov esi, dword [0x1007401c]
mov eax, dword [0x10074018]
mov edx, esi
mov ebx, dword [0x10074024]
imul edx, ecx
mov dword [esp + 0x1c], edx
lea edx, [esi + 1]
push edi
mov ebp, dword [esp + 0x44]
mov edi, eax
mov dword [esp + 0x14], edx
mov edx, dword [0x10074020]
imul edi, eax
mov ebp, dword [ebp]
imul edx, ebx
mov dword [esp + 0x1c], ebp
mov ebp, edi
mov dword [esp + 0x24], edx
imul edx, ecx
imul ebp, ebx
add edx, ebp
mov ebp, dword [esp + 0x14]
mov ebx, 3
imul ebp, eax
lea edx, [edx + edx*4]
mov dword [esp + 0x18], edi
sub ebx, edx
mov edx, dword [esp + 0x20]
sub ebx, ecx
lea edx, [edx + edx*2]
lea edx, [edx + edx*4]
shl edx, 2
sub ebp, edx
lea edx, [edi + edi*4]
shl edx, 3
sub ebp, edx
mov edx, dword [0x10074024]
sub ebp, 0x3b
imul ebp, edx
imul edx, ecx
lea edx, [edx + edx*4]
lea ebx, [ebp + ebx*4]
shl edx, 3
mov edi, edx
mov edx, dword [0x10074020]
mov ebp, edx
sub ebp, edi
lea edi, [esi + ebp + 3]
mov ebp, dword [0x10074010]
imul edi, edx
add ebx, edi
lea edi, [eax + eax*2]
lea edi, [edi + edi*4]
lea edi, [ecx + edi*4 + 1]
imul edi, esi
sub ebx, edi
lea edi, [eax - 0x3a]
imul edi, dword [0x10074010]
add ebx, edi
lea edi, [eax*8]
sub edi, eax
lea edi, [eax + edi*4]
lea edi, [ebx + edi*2]
mov ebx, dword [esp + 0x14]
imul ebx, dword [0x10074024]
lea ebx, [ebx + ebp - 2]
lea ebp, [edx + esi + 3]
imul ebp, edx
imul ebx, eax
lea edx, [esi + 4]
add ebx, ebp
imul edx, ecx
sub ebx, edx
mov edx, dword [0x10074010]
lea edx, [ebx + edx*2]
mov ebx, dword [0x10074024]
sub edx, esi
add edx, ebx
xor ebp, ebp
mov ebx, edx
shl ebx, 5
sub ebx, edx
mov edx, dword [esp + 0x1c]
shl ebx, 4
mov bp, word [ebx + edx + 0x14]
mov bl, byte [0x100774bc]
add edx, ebp
lea edx, [edx + edi*2]
mov dword [esp + 0x10], edx
mov dl, 1
test dl, bl
jne 0x10004e61
or bl, dl
mov edx, dword [0x10074010]
mov byte [0x100774bc], bl
mov ebx, dword [0x10074024]
lea ebp, [edx + 0x7fffffff]
mov edx, eax
imul ebp, ecx
imul edx, ebx
add ebp, 0x7fffffff
mov edi, edx
imul ebp, ecx
neg edi
shl edi, 0x1f
sub edi, edx
mov edx, dword [0x10074020]
add edx, ebp
mov ebp, dword [0x10074010]
add edi, edx
add edi, ebp
shl edi, 1
mov dword [0x10077478], edi
jmp 0x10004e6d
mov edi, dword [0x10077478]
mov ebx, dword [0x10074024]
mov ebp, dword [0x10074020]
mov edx, ebx
sub edx, ebp
sub edx, ecx
dec edx
imul edx, ebp
mov ebp, ebx
imul ebp, ebx
add edx, ebp
lea ebx, [esi + esi*2]
sub edx, ebx
lea ebx, [edx + edi]
mov edi, dword [esp + 0x18]
imul edi, ecx
lea edx, [ebx + edx*2]
lea edi, [edi + edi*2]
mov ebp, edi
mov edi, 3
sub edi, ebp
imul edi, eax
add edi, edx
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 8]
mov edx, dword [0x10074010]
mov ebp, edx
or edi, ebx
mov ebx, dword [0x10074020]
imul ebp, edx
mov edx, dword [esp + 0x14]
imul ebp, esi
imul edx, ebx
imul edx, ecx
sub ebp, edx
mov edx, esi
sub ebp, eax
mov dword [esp + 0x2c], edi
sub ebp, 3
imul ebp, ebx
mov ebx, dword [0x10074024]
sub edx, ebx
add edx, 2
imul edx, ebx
mov ebx, esi
add ebx, ebp
mov ebp, dword [0x10074024]
add edx, ebx
mov ebx, dword [esp + 0x24]
add edx, ecx
dec ebx
imul ebx, ecx
sub ebx, esi
mov esi, dword [0x10074010]
add ebx, 2
add ebp, 2
imul ebx, esi
imul ebp, eax
add ebx, ebp
lea ebp, [ecx + ecx]
sub ebx, ebp
mov ebp, dword [esp + 0x44]
lea edx, [edx + edx*2]
mov ebp, dword [ebp + 0x3c]
lea ebx, [ebp + ebx*2 - 1]
mov ebp, dword [0x10074020]
not ebx
add edx, ebx
and edx, edi
mov edi, eax
mov dword [esp + 0x30], edx
mov edx, 3
sub edx, esi
imul edi, eax
imul edx, eax
add edx, ebp
add edx, ecx
lea eax, [edx + edx*2]
lea ecx, [edx + eax*8]
mov edx, dword [esp + 0x10]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.100055b0
mov edx, dword [0x10074024]
mov ebx, eax
mov eax, edi
mov ecx, dword [0x10074020]
imul eax, edx
mov esi, dword [0x1007401c]
mov ebp, ecx
imul ebp, dword [0x10074010]
imul eax, esi
add eax, ebp
add esp, 8
imul eax, ecx
mov dword [esp + 0x1c], 1
lea eax, [eax + eax*2]
sub ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], ebx
mov ebx, dword [eax + 0x24]
add eax, 0x28
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], ebx
xor ebx, ebx
mov eax, dword [eax]
mov dword [esp + 0x3c], 0
mov bx, word [eax + 6]
lea eax, [edi + edi*2]
shl eax, 1
sub ebx, eax
cmp ebx, 1
jle 0x100053a9
mov eax, dword [0x10074014]
mov ebx, dword [0x10074018]
lea edi, [edx + esi]
lea ebp, [edi + eax + 1]
mov edi, dword [0x10074010]
sub edi, ebx
imul ebp, eax
inc edi
imul edi, edx
sub edi, ebp
mov ebp, ecx
imul ebp, ebx
lea ebx, [ecx + 2]
sub edi, ebp
imul ebx, esi
add edi, ebx
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 8]
lea edi, [edi + edi*2]
add edi, ebp
lea ebx, [eax + eax]
mov ebp, 2
sub ebp, ebx
mov ebx, dword [0x10077478]
imul ebp, dword [0x10074018]
add ebp, ebx
lea ebx, [esi + 1]
or edi, ebp
imul ebx, ecx
mov dword [esp + 0x18], edi
mov edi, dword [0x10074010]
mov ebp, edi
imul ebx, eax
imul ebp, edi
imul ebp, esi
sub ebp, ebx
mov ebx, dword [0x10074018]
sub ebp, ebx
mov edi, esi
sub ebp, 3
sub edi, edx
imul ebp, ecx
add edi, 2
add esi, ebp
imul edi, edx
add edi, esi
mov esi, dword [esp + 0x44]
add edi, eax
mov ebp, dword [esi + 0x3c]
dec ebp
lea edi, [edi + edi*2]
not ebp
add edi, ebp
mov ebp, dword [esp + 0x18]
and edi, ebp
mov dword [esp + 0x14], edi
mov edi, edx
imul edi, edx
imul edi, eax
lea edi, [edi + ecx + 1]
imul edi, ecx
mov ecx, ebx
imul ecx, eax
sub ecx, edx
inc ecx
imul ecx, dword [0x10074010]
add edi, ecx
lea ecx, [edi + ebx*2]
sub ecx, eax
mov eax, dword [esp + 0x10]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
push ecx
push esi
call fcn.100055b0
mov edx, dword [0x10074010]
mov ecx, dword [0x10074020]
mov dword [esp + 0x30], eax
add esp, 8
lea eax, [edx + 1]
mov edx, dword [0x10074018]
imul eax, ecx
mov edi, edx
mov esi, dword [0x1007401c]
mov ebx, 6
imul edi, esi
add eax, edi
lea ebp, [edx + 1]
lea edi, [edx + 2]
mov edx, dword [0x10074024]
lea eax, [eax + eax*2]
imul ebp, ecx
sub ebx, eax
mov eax, dword [0x10074014]
imul ebx, eax
imul edi, edx
mov dword [esp + 0x20], ebx
mov ebx, esi
add ebx, ebp
mov dword [esp + 0x24], edi
add edi, ebx
mov ebx, dword [esp + 0x20]
lea edi, [edi + edi*2]
sub ebx, edi
mov edi, dword [esp + 0x28]
add edi, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x14]
cmp ebx, edi
je 0x1000526b
mov edi, ecx
mov ebx, dword [0x10074018]
imul edi, ecx
imul edi, dword [0x10074010]
imul edi, ebx
imul edi, eax
mov ebp, eax
shl ebp, 0x1e
sub ebp, eax
lea ebp, [edi + ebp + 1]
mov edi, dword [0x10074010]
imul edi, ebx
imul ebp, ecx
imul edi, edx
inc edi
imul edi, ebx
mov ebx, edi
shl ebx, 0x1e
sub ebx, edi
mov edi, edx
imul edi, edx
imul edi, eax
add ebp, ebx
mov ebx, dword [esp + 0x34]
add ebp, edi
mov edi, dword [esp + 0x14]
lea edi, [edi + ebp*4]
mov ebp, dword [esp + 0x2c]
add ebx, ebp
cmp ebx, edi
ja 0x1000526b
mov ebx, dword [0x10074018]
lea edx, [edx + edx*2]
mov edi, ebx
imul edi, eax
lea ebp, [edi + esi + 1]
mov edi, 1
sub edi, ebp
imul edi, ecx
mov ecx, esi
imul ecx, eax
imul ecx, eax
imul ecx, eax
sub ecx, esi
add ecx, 2
imul ecx, eax
add edi, ecx
lea eax, [esi + esi]
sub edi, edx
sub edi, eax
mov eax, dword [0x10074010]
add edi, eax
mov eax, dword [esp + 0x44]
add edi, ebx
lea ecx, [edi + edi*4]
shl ecx, 4
lea edx, [esp + ecx + 0x2c]
push edx
push eax
call fcn.10005720
add esp, 8
test eax, eax
je 0x100053d1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov esi, dword [0x1007401c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x10074020]
mov eax, dword [0x10074014]
mov dword [esp + 0x30], edx
mov edx, ecx
shl edx, 0x1e
sub edx, ecx
mov ebx, esi
add edx, esi
mov ebp, ecx
shl ebx, 0x1d
lea edi, [edx + eax + 2]
mov edx, dword [0x10074024]
imul edi, edx
sub ebx, esi
add ebp, edi
lea edi, [ebp + ebx*2]
mov ebx, dword [0x10074018]
mov ebp, dword [esp + 0x20]
add edi, ebx
lea edi, [ebp + edi*4]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x24]
mov dword [esp + 0x38], edi
jmp 0x10005371
mov edi, dword [esp + 0x10]
mov ebp, 4
mov ebx, dword [0x10074018]
mov edi, dword [edi + 0x24]
mov dword [esp + 0x14], edi
lea edi, [eax + eax]
sub ebp, edi
mov edi, ecx
imul edi, esi
imul ebp, ebx
imul edi, esi
shl edi, 1
sub ebp, edi
lea edi, [edx*4]
sub ebp, edi
add ebp, eax
lea edi, [eax + ebp + 0x2000000]
mov ebp, dword [esp + 0x14]
test ebp, edi
je 0x100052e5
mov edi, dword [0x10074010]
mov ebp, 4
shl edi, 2
sub ebp, edi
lea edi, [edx + 2]
imul edi, eax
imul ebp, ecx
add edi, edx
add edi, esi
lea ebp, [ebp + edi*4 + 0x2000000]
mov edi, dword [esp + 0x38]
test edi, ebp
je 0x100052e5
or edi, dword [esp + 0x14]
mov dword [esp + 0x38], edi
jmp 0x10005346
lea edi, [esi + ebx*2 - 2]
mov ebp, esi
imul edi, ebx
mov ebx, edx
add ebp, edi
neg ebx
shl ebx, 0x1f
sub ebx, edx
lea edi, [ecx + ecx]
add ebx, ebp
mov ebp, 4
sub ebp, edi
imul ebp, dword [0x10074010]
sub ebp, 8
imul ebp, ecx
lea edi, [ebp + ebx*2]
mov ebx, edx
imul ebx, eax
shl ebx, 1
mov ebp, 4
sub ebp, ebx
imul ebp, dword [0x10074010]
lea ebx, [edi + ebp - 0x2000001]
mov edi, dword [esp + 0x14]
or edi, dword [esp + 0x38]
and ebx, edi
mov dword [esp + 0x38], ebx
mov ebx, dword [0x10074018]
mov edi, ecx
mov ebp, dword [0x10074010]
imul edi, ecx
add edi, 2
imul edi, edx
sub ebp, edi
mov edi, dword [esp + 0x2c]
sub ebp, eax
sub ebp, edi
mov edi, dword [esp + 0x20]
add ebp, edi
mov edi, dword [esp + 0x18]
add ebp, edi
mov dword [esp + 0x34], ebp
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
inc edi
add ebp, 0x28
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x10], ebp
xor ebp, ebp
mov edi, dword [edi]
mov bp, word [edi + 6]
mov edi, ebx
imul edi, ebx
lea edi, [edi + edi*2]
shl edi, 1
sub ebp, edi
mov edi, dword [esp + 0x1c]
cmp edi, ebp
jl 0x10004fe5
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x2c]
push eax
push ecx
mov dword [esp + 0x44], 1
call fcn.10005720
add esp, 8
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret