Function at 0x472470
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push ebp
sub esp, 0x54
mov edx, dword [esp + 0x68]
test edx, edx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
je 0x4728ff
test eax, eax
je 0x4728ef
mov ebp, dword [edx]
movzx ebx, bp
shr ebp, 0x10
test ecx, ecx
jle 0x4728de
mov dword [esp], esi
mov dword [esp + 4], edi
cmp ecx, 0x15b0
mov edx, ecx
mov esi, eax
jle 0x4724b9
mov edx, 0x15b0
sub ecx, edx
mov dword [esp + 0x20], edx
cmp edx, 0x10
jl 0x47262f
mov eax, edx
xor edi, edi
cdq
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 8], ecx
mov edx, edi
shl edx, 4
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edx
movzx ecx, byte [ebx + edx]
add ecx, dword [esp + 0x1c]
movzx esi, byte [ebx + edx + 1]
add esi, ecx
movzx ebp, byte [ebx + edx + 2]
add ecx, esi
add ebp, esi
movzx eax, byte [ebx + edx + 3]
add ecx, ebp
add eax, ebp
movzx edi, byte [ebx + edx + 4]
add edi, eax
mov dword [esp + 0x2c], eax
movzx eax, byte [ebx + edx + 5]
add eax, edi
mov dword [esp + 0x30], edi
movzx edi, byte [ebx + edx + 6]
add edi, eax
mov dword [esp + 0x34], eax
movzx eax, byte [ebx + edx + 7]
add eax, edi
mov dword [esp + 0x38], edi
movzx edi, byte [ebx + edx + 8]
add edi, eax
mov dword [esp + 0x3c], eax
movzx eax, byte [ebx + edx + 9]
add eax, edi
mov dword [esp + 0x40], edi
movzx edi, byte [ebx + edx + 0xa]
add edi, eax
mov dword [esp + 0x44], eax
movzx eax, byte [ebx + edx + 0xb]
add eax, edi
mov dword [esp + 0x48], edi
movzx edi, byte [ebx + edx + 0xc]
add edi, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edi
movzx eax, byte [ebx + edx + 0xd]
add eax, edi
movzx edi, byte [ebx + edx + 0xe]
movzx edx, byte [ebx + edx + 0xf]
add edi, eax
mov ebp, dword [esp + 0x2c]
add edx, edi
mov ebx, dword [esp + 0x34]
add eax, edi
add ebp, dword [esp + 0x30]
add ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
add ebp, ebx
mov ebx, dword [esp + 0x3c]
add ecx, ebp
mov ebp, dword [esp + 0x4c]
add ebx, dword [esp + 0x40]
add esi, dword [esp + 0x48]
add ebp, dword [esp + 0x50]
add ebx, esi
mov edi, dword [esp + 0x18]
add ebp, ebx
add edi, edx
add ecx, ebp
add eax, edi
xor ebx, ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
sub ebx, ecx
lea eax, [eax + edx + 0x10]
lea edx, [edi + ecx - 0x10]
mov ecx, 0
sbb ecx, dword [esp + 0xc]
add edi, 0xfffffff0
mov dword [esp + 0x14], edi
nop
mov edi, dword [esp + 0x24]
inc edi
test ecx, ecx
jge 0x472615
add ebx, 0xf
adc ecx, 0
shrd ebx, ecx, 4
neg ebx
cmp edi, ebx
jb 0x4724e5
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
mov edi, eax
test edx, edx
je 0x472648
xor esi, esi
movzx eax, byte [esi + edi]
add ebx, eax
add ebp, ebx
lea eax, [esi + edi + 1]
inc esi
cmp esi, edx
jb 0x472637
cmp ebx, 0xfff10000
lea edx, [ebx + 0xf0000]
jae 0x472658
mov edx, ebx
mov ebx, 0x80078000
cmp edx, 0x7ff88000
jae 0x47266a
mov ebx, 0
lea esi, [edx + ebx]
cmp esi, 0x3ffc4000
lea edi, [edx + ebx - 0x3ffc4000]
jae 0x47267e
mov edi, esi
mov ebx, 0xe001e000
cmp edi, 0x1ffe2000
jae 0x472690
mov ebx, 0
lea edx, [edi + ebx]
cmp edx, 0xfff1000
lea esi, [edi + ebx - 0xfff1000]
jae 0x4726a4
mov esi, edx
mov ebx, 0xf8007800
cmp esi, 0x7ff8800
jae 0x4726b6
mov ebx, 0
lea edi, [esi + ebx]
cmp edi, 0x3ffc400
lea edx, [esi + ebx - 0x3ffc400]
jae 0x4726ca
mov edx, edi
mov ebx, 0xfe001e00
cmp edx, 0x1ffe200
jae 0x4726dc
mov ebx, 0
lea esi, [edx + ebx]
cmp esi, 0xfff100
lea edi, [edx + ebx - 0xfff100]
jae 0x4726f0
mov edi, esi
mov ebx, 0xff800780
cmp edi, 0x7ff880
jae 0x472702
mov ebx, 0
lea edx, [edi + ebx]
cmp edx, 0x3ffc40
lea esi, [edi + ebx - 0x3ffc40]
jae 0x472716
mov esi, edx
mov ebx, 0xffe001e0
cmp esi, 0x1ffe20
jae 0x472728
mov ebx, 0
lea edi, [esi + ebx]
cmp edi, 0xfff10
lea edx, [esi + ebx - 0xfff10]
jae 0x47273c
mov edx, edi
mov ebx, 0xfff80078
cmp edx, 0x7ff88
jae 0x47274e
mov ebx, 0
lea esi, [edx + ebx]
cmp esi, 0x3ffc4
lea edi, [edx + ebx - 0x3ffc4]
jae 0x472762
mov edi, esi
mov ebx, 0xfffe001e
cmp edi, 0x1ffe2
lea esi, [ebp + 0xf0000]
jae 0x47277a
mov ebx, 0
lea edx, [edi + ebx]
cmp edx, 0xfff1
lea ebx, [edi + ebx - 0xfff1]
jae 0x47278e
mov ebx, edx
mov edi, 0xe001e000
cmp ebp, 0xfff10000
jae 0x47279d
mov esi, ebp
mov ebp, 0x80078000
cmp esi, 0x7ff88000
jae 0x4727af
mov ebp, 0
lea edx, [esi + ebp]
cmp edx, 0x3ffc4000
lea esi, [esi + ebp - 0x3ffc4000]
jae 0x4727c3
mov esi, edx
cmp esi, 0x1ffe2000
jae 0x4727d0
mov edi, 0
lea ebp, [esi + edi]
cmp ebp, 0xfff1000
lea edx, [esi + edi - 0xfff1000]
jae 0x4727e4
mov edx, ebp
mov esi, 0xf8007800
mov edi, 0xfe001e00
cmp edx, 0x7ff8800
jae 0x4727fb
mov esi, 0
lea ebp, [edx + esi]
cmp ebp, 0x3ffc400
lea edx, [edx + esi - 0x3ffc400]
jae 0x47280f
mov edx, ebp
mov esi, 0xff800780
cmp edx, 0x1ffe200
jae 0x472821
mov edi, 0
lea ebp, [edx + edi]
cmp ebp, 0xfff100
lea edx, [edx + edi - 0xfff100]
jae 0x472835
mov edx, ebp
cmp edx, 0x7ff880
jae 0x472842
mov esi, 0
lea edi, [edx + esi]
cmp edi, 0x3ffc40
lea ebp, [edx + esi - 0x3ffc40]
jae 0x472856
mov ebp, edi
mov edx, 0xffe001e0
cmp ebp, 0x1ffe20
jae 0x472868
mov edx, 0
mov edi, 0xfff80078
lea esi, [ebp + edx]
cmp esi, 0xfff10
lea ebp, [ebp + edx - 0xfff10]
jae 0x472882
mov ebp, esi
cmp ebp, 0x7ff88
jae 0x47288f
mov edi, 0
mov esi, 0xfffe001e
lea edx, [ebp + edi]
cmp edx, 0x3ffc4
lea ebp, [ebp + edi - 0x3ffc4]
jae 0x4728a9
mov ebp, edx
cmp ebp, 0x1ffe2
jae 0x4728b6
mov esi, 0
lea edi, [ebp + esi]
cmp edi, 0xfff1
lea ebp, [ebp + esi - 0xfff1]
jae 0x4728cb
mov ebp, edi
test ecx, ecx
jg 0x4724a8
mov edx, dword [esp + 0x68]
mov esi, dword [esp]
mov edi, dword [esp + 4]
shl ebp, 0x10
xor eax, eax
or ebp, ebx
mov dword [edx], ebp
add esp, 0x54
pop ebp
pop ebx
ret 0xc
mov dword [edx], 1
xor eax, eax
add esp, 0x54
pop ebp
pop ebx
ret 0xc
mov eax, 0xfffffff8
add esp, 0x54
pop ebp
pop ebx
ret 0xc