Function at 0x493970
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.0048e350
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 0x493f63
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 0x493a44
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
cmp edx, dword [ebx + 8]
jge 0x493f63
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.00483100
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 0x493bf7
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 0x493bdd
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 0x493b5d
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x493b59
test edx, edx
je 0x493b1f
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x493b1f
push ecx
push eax
push 0x82
push edx
call fcn.004f124a
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 0x493b61
xor eax, eax
jmp 0x493b22
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 0x493ae0
cmp dword [eax], 0
jbe 0x493bdd
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp dword [esp + 0x20], 0
je 0x493bf3
test ecx, ecx
je 0x493bb6
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
add eax, 2
cmp eax, 0x82
ja 0x493bb6
push eax
mov eax, edx
push eax
push 0x82
push ecx
call fcn.004f124a
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 0x493f52
xor eax, eax
jmp 0x493bbd
jle 0x493d38
mov ebx, dword [ebx + 0x10]
cmp ebx, 0xffffffff
je 0x493d2a
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 0x493cb1
lea ecx, [ebx + 0x10]
mov dword [eax - 8], esi
lea edx, [esi + edi]
test ecx, ecx
je 0x493c6f
test edx, edx
je 0x493c6f
movzx ecx, word [ecx]
add ecx, 2
cmp ecx, 0x82
ja 0x493c6f
push ecx
lea eax, [ebx + 0x10]
push eax
push 0x82
push edx
call fcn.004f124a
mov eax, dword [esp + 0x68]
add esp, 0x10
lea ecx, [ebx + 0x10]
test ecx, ecx
je 0x493c79
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 0x493c20
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jbe 0x493d2a
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x493d03
test edx, edx
je 0x493cff
movzx eax, word [ecx]
add eax, 2
cmp eax, 0x82
ja 0x493cff
push eax
mov eax, ecx
push eax
push 0x82
push edx
call fcn.004f124a
mov ecx, dword [esp + 0x54]
add esp, 0x10
test ecx, ecx
jne 0x493d07
xor eax, eax
jmp 0x493d0a
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 0x493f56
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 0x493e05
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 0x493ded
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x493e74
test edx, edx
je 0x493db5
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x493db5
push ecx
mov ecx, eax
push ecx
push 0x82
push edx
call fcn.004f124a
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 0x493d70
mov edx, dword [esp + 0x58]
mov ebx, dword [edx + 0x10]
cmp ebx, 0xffffffff
je 0x493ebf
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 0x493eb3
lea eax, [ebx + 0x10]
mov dword [ebp - 8], esi
lea edx, [esi + edi]
test eax, eax
je 0x493e6b
test edx, edx
je 0x493e6b
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x493e6b
push ecx
push eax
push 0x82
push edx
call fcn.004f124a
add esp, 0x10
lea eax, [ebx + 0x10]
test eax, eax
jne 0x493e7b
jmp 0x493e7e
xor eax, eax
jmp 0x493db8
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 0x493e24
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jbe 0x493f33
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x493f05
test edx, edx
je 0x493f01
movzx eax, word [ecx]
add eax, 2
cmp eax, 0x82
ja 0x493f01
push eax
mov eax, ecx
push eax
push 0x82
push edx
call fcn.004f124a
mov ecx, dword [esp + 0x54]
add esp, 0x10
test ecx, ecx
jne 0x493f09
xor eax, eax
jmp 0x493f0c
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 0x493f38
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 0x493a40
mov edx, dword [esp + 0x24]
cmp edx, dword [ebp + 0x10]
jge 0x49410a
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 0x493fa4
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 0x4940e9
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 0x49406d
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x494069
test edx, edx
je 0x49402f
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x49402f
push ecx
push eax
push 0x82
push edx
call fcn.004f124a
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 0x494071
xor eax, eax
jmp 0x494032
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 0x493ff0
cmp dword [eax], 0
jbe 0x4940e9
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp dword [esp + 0x20], 0
je 0x4941d3
test ecx, ecx
je 0x4940ca
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
add eax, 2
cmp eax, 0x82
ja 0x4940ca
push eax
mov eax, edx
push eax
push 0x82
push ecx
call fcn.004f124a
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 0x493fa0
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
cmp ebx, dword [edx + 8]
jge 0x49429d
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 0x494286
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 0x494212
lea eax, [ebx + 0x10]
mov dword [ebp - 8], esi
lea edx, [esi + edi]
test eax, eax
je 0x4941ca
test edx, edx
je 0x4941ca
movzx eax, word [eax]
add eax, 2
cmp eax, 0x82
ja 0x4941ca
push eax
lea eax, [ebx + 0x10]
push eax
push 0x82
push edx
call fcn.004f124a
mov ecx, dword [esp + 0x64]
add esp, 0x10
lea eax, [ebx + 0x10]
test eax, eax
jne 0x4941da
jmp 0x4941dd
xor eax, eax
jmp 0x4940d1
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 0x494180
cmp dword [ecx], 0
jbe 0x494286
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 0x494261
test edx, edx
je 0x49425d
movzx eax, word [ebx]
add eax, 2
cmp eax, 0x82
ja 0x49425d
push eax
push ebx
push 0x82
push edx
call fcn.004f124a
mov ecx, dword [esp + 0x64]
add esp, 0x10
test ebx, ebx
jne 0x494265
xor eax, eax
jmp 0x494268
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 0x494136
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 0x49430b
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
push eax
push ecx
push edx
call fcn.004ed200
add esp, 0xc
cmp ebx, dword [esp + 0x40]
jae 0x494324
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
push edx
push eax
push ebx
call fcn.004ed200
add esp, 0xc
cmp ebp, edi
jae 0x494333
push esi
push edi
push ebp
call fcn.004ed200
add esp, 0xc
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x6c
ret