Function at 0x428db0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
mov edi, eax
mov ebx, dword [edi + 4]
mov eax, dword [edi]
lea ebp, [edi + 0x20]
add ebx, edi
lea esi, [esp + 0x70]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebx
call fcn.00425b70
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x70]
mov dword [eax + 0xc], ecx
mov edx, dword [edi + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebx + 0xc]
add ecx, eax
mov eax, dword [ebx + 8]
add eax, edx
add edi, dword [ebp + 0x14]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*4]
mov eax, dword [ebx + 0x10]
add eax, dword [ebp + 0x18]
mov dword [esp + 0x34], edx
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
mov edx, dword [ebp + 4]
add edx, ebp
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 8]
add edx, ebp
xor esi, esi
add edi, eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0xc]
add eax, ebp
add edx, ebp
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], esi
jle 0x4293a3
mov dword [esp + 0x38], ecx
add ecx, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], ecx
add eax, 8
lea ecx, [ebx + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], ecx
jmp 0x428e84
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
cmp edx, dword [ebx + 8]
jge 0x4293a3
mov ecx, dword [esp + 0x48]
movzx ebx, word [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
add eax, dword [esp + 0x5c]
lea ebx, [ebx + ebx*2]
add ecx, 0x418
shl ebx, 6
add ebx, ecx
lea ecx, [ebx + 0x14]
mov dword [esp + 0x20], eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], ecx
call fcn.00412b40
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov edx, dword [esp + 0x10]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x18]
mov dword [ecx], 0
test eax, eax
jge 0x429037
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x28]
cmp dword [edx], 0
mov ecx, dword [esp + 0x50]
lea eax, [eax + eax*2]
lea ebx, [ecx + eax*4]
mov dword [esp + 0x58], 0
jbe 0x42901d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
lea eax, [eax + eax*2]
lea ebp, [ecx + eax*4 + 8]
cmp word [ebx + 4], 0
je 0x428f9d
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x428f99
test edx, edx
je 0x428f5f
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x428f5f
push ecx
push eax
push 0x82
push edx
call fcn.004fb653
mov eax, dword [esp + 0x3c]
add esp, 0x10
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx ecx, ax
lea esi, [esi + ecx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov dx, word [ebx + 4]
inc esi
mov word [ebp - 4], dx
mov eax, dword [ebx + 8]
mov dword [ebp], eax
mov cx, word [ebx + 6]
mov eax, dword [esp + 0x18]
mov word [ebp - 2], cx
inc esi
add ebp, 0xc
inc dword [eax]
jmp 0x428fa1
xor eax, eax
jmp 0x428f62
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x28]
inc ecx
add ebx, 0xc
mov dword [esp + 0x58], ecx
cmp ecx, dword [edx]
jb 0x428f20
cmp dword [eax], 0
jbe 0x42901d
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp dword [esp + 0x20], 0
je 0x429033
test ecx, ecx
je 0x428ff6
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
add eax, 2
cmp eax, 0x82
ja 0x428ff6
push eax
mov eax, edx
push eax
push 0x82
push ecx
call fcn.004fb653
add esp, 0x10
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx]
inc dword [esp + 0x1c]
movzx edx, ax
mov eax, dword [esp + 0x14]
lea ecx, [eax + edx + 2]
mov eax, 0xc
add dword [esp + 0x38], eax
add dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
inc dword [esp + 0x24]
mov eax, 0xc
add dword [esp + 0x3c], eax
add dword [esp + 0x28], eax
jmp 0x429392
xor eax, eax
jmp 0x428ffd
jle 0x429178
mov ebx, dword [ebx + 0x10]
cmp ebx, 0xffffffff
je 0x42916a
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x34]
lea eax, [eax + edx*4 + 8]
mov dword [esp + 0x58], eax
lea esp, [esp]
mov ecx, dword [esp + 0x6c]
lea ebx, [ebx + ebx*2]
shl ebx, 6
add ecx, 0x418
add ebx, ecx
cmp word [ebx + 4], 0
je 0x4290f1
lea ecx, [ebx + 0x10]
mov dword [eax - 8], esi
lea edx, [esi + edi]
test ecx, ecx
je 0x4290af
test edx, edx
je 0x4290af
movzx ecx, word [ecx]
add ecx, 2
cmp ecx, 0x82
ja 0x4290af
push ecx
lea eax, [ebx + 0x10]
push eax
push 0x82
push edx
call fcn.004fb653
mov eax, dword [esp + 0x68]
add esp, 0x10
lea ecx, [ebx + 0x10]
test ecx, ecx
je 0x4290b9
movzx ecx, word [ecx]
inc dword [esp + 0x10]
movzx ecx, cx
lea esi, [esi + ecx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
movzx edx, word [ebx + 4]
inc esi
mov word [eax - 4], dx
mov ecx, dword [ebx + 8]
mov dword [eax], ecx
movzx edx, word [ebx + 6]
mov ecx, dword [esp + 0x18]
mov word [eax - 2], dx
add eax, 0xc
inc esi
inc dword [ecx]
mov dword [esp + 0x58], eax
mov ebx, dword [ebx + 0xc]
cmp ebx, 0xffffffff
jne 0x429060
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jbe 0x42916a
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x429143
test edx, edx
je 0x42913f
movzx eax, word [ecx]
add eax, 2
cmp eax, 0x82
ja 0x42913f
push eax
mov eax, ecx
push eax
push 0x82
push edx
call fcn.004fb653
mov ecx, dword [esp + 0x54]
add esp, 0x10
test ecx, ecx
jne 0x429147
xor eax, eax
jmp 0x42914a
movzx eax, word [ecx]
mov edx, dword [esp + 0x14]
inc dword [esp + 0x1c]
movzx ecx, ax
lea eax, [edx + ecx + 2]
mov dword [esp + 0x14], eax
mov eax, 0xc
add dword [esp + 0x38], eax
add dword [esp + 0x18], eax
inc dword [esp + 0x30]
add dword [esp + 0x48], 2
jmp 0x429396
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x28]
cmp dword [ecx], 0
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x50]
lea ebx, [eax + edx*4]
mov dword [esp + 0x20], 0
jbe 0x429245
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x34]
lea ebp, [eax + edx*4 + 8]
lea ecx, [ecx]
cmp word [ebx + 4], 0
je 0x42922d
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x4292b4
test edx, edx
je 0x4291f5
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x4291f5
push ecx
mov ecx, eax
push ecx
push 0x82
push edx
call fcn.004fb653
mov eax, dword [esp + 0x3c]
add esp, 0x10
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx edx, ax
lea esi, [esi + edx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov ax, word [ebx + 4]
inc esi
mov word [ebp - 4], ax
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x18]
mov dword [ebp], ecx
mov dx, word [ebx + 6]
mov word [ebp - 2], dx
inc esi
add ebp, 0xc
inc dword [eax]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
inc eax
add ebx, 0xc
mov dword [esp + 0x20], eax
cmp eax, dword [ecx]
jb 0x4291b0
mov edx, dword [esp + 0x58]
mov ebx, dword [edx + 0x10]
cmp ebx, 0xffffffff
je 0x4292ff
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
lea eax, [eax + eax*2]
lea ebp, [ecx + eax*4 + 8]
mov eax, dword [esp + 0x6c]
lea ebx, [ebx + ebx*2]
shl ebx, 6
add eax, 0x418
add ebx, eax
cmp word [ebx + 4], 0
je 0x4292f3
lea eax, [ebx + 0x10]
mov dword [ebp - 8], esi
lea edx, [esi + edi]
test eax, eax
je 0x4292ab
test edx, edx
je 0x4292ab
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x4292ab
push ecx
push eax
push 0x82
push edx
call fcn.004fb653
add esp, 0x10
lea eax, [ebx + 0x10]
test eax, eax
jne 0x4292bb
jmp 0x4292be
xor eax, eax
jmp 0x4291f8
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx edx, ax
lea esi, [esi + edx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov ax, word [ebx + 4]
inc esi
mov word [ebp - 4], ax
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x18]
mov dword [ebp], ecx
mov dx, word [ebx + 6]
mov word [ebp - 2], dx
inc esi
add ebp, 0xc
inc dword [eax]
mov ebx, dword [ebx + 0xc]
cmp ebx, 0xffffffff
jne 0x429264
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jbe 0x429373
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x429345
test edx, edx
je 0x429341
movzx eax, word [ecx]
add eax, 2
cmp eax, 0x82
ja 0x429341
push eax
mov eax, ecx
push eax
push 0x82
push edx
call fcn.004fb653
mov ecx, dword [esp + 0x54]
add esp, 0x10
test ecx, ecx
jne 0x429349
xor eax, eax
jmp 0x42934c
movzx eax, word [ecx]
mov edx, dword [esp + 0x14]
movzx ecx, ax
lea eax, [edx + ecx + 2]
mov dword [esp + 0x14], eax
mov eax, 0xc
add dword [esp + 0x38], eax
mov ecx, 1
add dword [esp + 0x1c], ecx
add dword [esp + 0x18], eax
jmp 0x429378
mov ecx, 1
add dword [esp + 0x24], ecx
add dword [esp + 0x30], ecx
mov eax, 0xc
add dword [esp + 0x3c], eax
add dword [esp + 0x28], eax
add dword [esp + 0x48], 2
mov ebp, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
cmp ecx, dword [ebp + 0x10]
jl 0x428e80
mov edx, dword [esp + 0x24]
cmp edx, dword [ebp + 0x10]
jge 0x42954a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4 + 8]
mov eax, edx
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x60]
lea eax, [eax + edx*4 + 8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], eax
jmp 0x4293e4
mov ecx, dword [esp + 0x48]
mov edx, dword [eax - 8]
add edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x20], edx
mov edx, dword [eax - 4]
lea edx, [edx + edx*2]
lea ebx, [ebx + edx*4]
mov edx, dword [esp + 0x14]
mov dword [ecx - 8], edx
mov edx, dword [esp + 0x10]
mov dword [ecx - 4], edx
mov dword [ecx], 0
cmp dword [eax], 0
mov dword [esp + 0x58], 0
jbe 0x429529
mov ecx, dword [esp + 0x34]
mov eax, edx
lea eax, [eax + eax*2]
lea ebp, [ecx + eax*4 + 8]
mov edi, edi
cmp word [ebx + 4], 0
je 0x4294ad
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x4294a9
test edx, edx
je 0x42946f
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x42946f
push ecx
push eax
push 0x82
push edx
call fcn.004fb653
mov eax, dword [esp + 0x3c]
add esp, 0x10
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx ecx, ax
lea esi, [esi + ecx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov dx, word [ebx + 4]
inc esi
mov word [ebp - 4], dx
mov eax, dword [ebx + 8]
mov dword [ebp], eax
mov cx, word [ebx + 6]
mov eax, dword [esp + 0x48]
mov word [ebp - 2], cx
inc esi
add ebp, 0xc
inc dword [eax]
jmp 0x4294b1
xor eax, eax
jmp 0x429472
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
inc ecx
add ebx, 0xc
mov dword [esp + 0x58], ecx
cmp ecx, dword [edx]
jb 0x429430
cmp dword [eax], 0
jbe 0x429529
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp dword [esp + 0x20], 0
je 0x429613
test ecx, ecx
je 0x42950a
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
add eax, 2
cmp eax, 0x82
ja 0x42950a
push eax
mov eax, edx
push eax
push 0x82
push ecx
call fcn.004fb653
add esp, 0x10
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx]
inc dword [esp + 0x1c]
add dword [esp + 0x48], 0xc
movzx edx, ax
mov eax, dword [esp + 0x14]
lea ecx, [eax + edx + 2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
inc ecx
add eax, 0xc
cmp ecx, dword [edx + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x44], eax
jl 0x4293e0
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
cmp ebx, dword [edx + 8]
jge 0x4296dd
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4 + 8]
lea eax, [edx + ebx*2 + 0x18]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
movzx eax, word [eax]
lea ebx, [eax + eax*2]
shl ebx, 6
lea eax, [edx + 0x418]
add ebx, eax
mov eax, dword [esp + 0x14]
mov dword [ecx - 8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], ebx
mov dword [ecx - 4], eax
mov dword [ecx], 0
mov ebx, dword [ebx + 0x10]
cmp ebx, 0xffffffff
je 0x4296c6
mov ebp, dword [esp + 0x34]
lea eax, [eax + eax*2]
lea ebp, [ebp + eax*4 + 8]
lea ebx, [ebx]
lea ebx, [ebx + ebx*2]
shl ebx, 6
lea eax, [edx + 0x418]
add ebx, eax
cmp word [ebx + 4], 0
je 0x429652
lea eax, [ebx + 0x10]
mov dword [ebp - 8], esi
lea edx, [esi + edi]
test eax, eax
je 0x42960a
test edx, edx
je 0x42960a
movzx eax, word [eax]
add eax, 2
cmp eax, 0x82
ja 0x42960a
push eax
lea eax, [ebx + 0x10]
push eax
push 0x82
push edx
call fcn.004fb653
mov ecx, dword [esp + 0x64]
add esp, 0x10
lea eax, [ebx + 0x10]
test eax, eax
jne 0x42961a
jmp 0x42961d
xor eax, eax
jmp 0x429511
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx edx, ax
lea esi, [esi + edx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
movzx eax, word [ebx + 4]
inc esi
mov word [ebp - 4], ax
mov edx, dword [ebx + 8]
mov dword [ebp], edx
movzx eax, word [ebx + 6]
mov edx, dword [esp + 0x6c]
mov word [ebp - 2], ax
inc esi
add ebp, 0xc
inc dword [ecx]
mov ebx, dword [ebx + 0xc]
cmp ebx, 0xffffffff
jne 0x4295c0
cmp dword [ecx], 0
jbe 0x4296c6
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
add ebx, 0x14
add edx, eax
test ebx, ebx
je 0x4296a1
test edx, edx
je 0x42969d
movzx eax, word [ebx]
add eax, 2
cmp eax, 0x82
ja 0x42969d
push eax
push ebx
push 0x82
push edx
call fcn.004fb653
mov ecx, dword [esp + 0x64]
add esp, 0x10
test ebx, ebx
jne 0x4296a5
xor eax, eax
jmp 0x4296a8
movzx eax, word [ebx]
inc dword [esp + 0x1c]
movzx edx, ax
mov eax, dword [esp + 0x14]
lea edx, [eax + edx + 2]
add ecx, 0xc
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x30]
add dword [esp + 0x50], 2
inc eax
cmp eax, dword [edx + 8]
mov dword [esp + 0x30], eax
jl 0x429576
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x14]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x10], edx
lea edx, [edx + edx*2]
lea edx, [ebx + edx*4]
lea ebx, [ecx + ecx*2]
mov ecx, edx
sub ecx, dword [esp + 0x4c]
add ebx, ebx
add ecx, 0x20
add ebx, ebx
mov dword [eax + 4], ecx
sub ecx, edx
mov dword [esp + 0x60], ebx
add ebx, edx
add ecx, ebx
mov dword [eax + 8], ecx
mov dword [eax + 0x14], ebp
add ebp, ebx
sub ecx, ebx
add ecx, ebp
mov dword [eax + 0x1c], esi
mov dword [eax], 0x20
mov dword [eax + 0xc], ecx
cmp edx, dword [esp + 0x34]
jae 0x42974b
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
push eax
push ecx
push edx
call fcn.004fa760
add esp, 0xc
cmp ebx, dword [esp + 0x40]
jae 0x429764
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
push edx
push eax
push ebx
call fcn.004fa760
add esp, 0xc
cmp ebp, edi
jae 0x429773
push esi
push edi
push ebp
call fcn.004fa760
add esp, 0xc
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x6c
ret