Function at 0x47cbf0
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.00478940
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 0x47d1e3
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 0x47ccc4
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
cmp edx, dword [ebx + 8]
jge 0x47d1e3
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.0046f760
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 0x47ce77
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 0x47ce5d
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 0x47cddd
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x47cdd9
test edx, edx
je 0x47cd9f
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x47cd9f
push ecx
push eax
push 0x82
push edx
call fcn.004d6eed
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 0x47cde1
xor eax, eax
jmp 0x47cda2
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 0x47cd60
cmp dword [eax], 0
jbe 0x47ce5d
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp dword [esp + 0x20], 0
je 0x47ce73
test ecx, ecx
je 0x47ce36
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
add eax, 2
cmp eax, 0x82
ja 0x47ce36
push eax
mov eax, edx
push eax
push 0x82
push ecx
call fcn.004d6eed
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 0x47d1d2
xor eax, eax
jmp 0x47ce3d
jle 0x47cfb8
mov ebx, dword [ebx + 0x10]
cmp ebx, 0xffffffff
je 0x47cfaa
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 0x47cf31
lea ecx, [ebx + 0x10]
mov dword [eax - 8], esi
lea edx, [esi + edi]
test ecx, ecx
je 0x47ceef
test edx, edx
je 0x47ceef
movzx ecx, word [ecx]
add ecx, 2
cmp ecx, 0x82
ja 0x47ceef
push ecx
lea eax, [ebx + 0x10]
push eax
push 0x82
push edx
call fcn.004d6eed
mov eax, dword [esp + 0x68]
add esp, 0x10
lea ecx, [ebx + 0x10]
test ecx, ecx
je 0x47cef9
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 0x47cea0
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jbe 0x47cfaa
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x47cf83
test edx, edx
je 0x47cf7f
movzx eax, word [ecx]
add eax, 2
cmp eax, 0x82
ja 0x47cf7f
push eax
mov eax, ecx
push eax
push 0x82
push edx
call fcn.004d6eed
mov ecx, dword [esp + 0x54]
add esp, 0x10
test ecx, ecx
jne 0x47cf87
xor eax, eax
jmp 0x47cf8a
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 0x47d1d6
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 0x47d085
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 0x47d06d
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x47d0f4
test edx, edx
je 0x47d035
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x47d035
push ecx
mov ecx, eax
push ecx
push 0x82
push edx
call fcn.004d6eed
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 0x47cff0
mov edx, dword [esp + 0x58]
mov ebx, dword [edx + 0x10]
cmp ebx, 0xffffffff
je 0x47d13f
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 0x47d133
lea eax, [ebx + 0x10]
mov dword [ebp - 8], esi
lea edx, [esi + edi]
test eax, eax
je 0x47d0eb
test edx, edx
je 0x47d0eb
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x47d0eb
push ecx
push eax
push 0x82
push edx
call fcn.004d6eed
add esp, 0x10
lea eax, [ebx + 0x10]
test eax, eax
jne 0x47d0fb
jmp 0x47d0fe
xor eax, eax
jmp 0x47d038
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 0x47d0a4
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jbe 0x47d1b3
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x47d185
test edx, edx
je 0x47d181
movzx eax, word [ecx]
add eax, 2
cmp eax, 0x82
ja 0x47d181
push eax
mov eax, ecx
push eax
push 0x82
push edx
call fcn.004d6eed
mov ecx, dword [esp + 0x54]
add esp, 0x10
test ecx, ecx
jne 0x47d189
xor eax, eax
jmp 0x47d18c
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 0x47d1b8
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 0x47ccc0
mov edx, dword [esp + 0x24]
cmp edx, dword [ebp + 0x10]
jge 0x47d38a
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 0x47d224
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 0x47d369
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 0x47d2ed
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x47d2e9
test edx, edx
je 0x47d2af
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x47d2af
push ecx
push eax
push 0x82
push edx
call fcn.004d6eed
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 0x47d2f1
xor eax, eax
jmp 0x47d2b2
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 0x47d270
cmp dword [eax], 0
jbe 0x47d369
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp dword [esp + 0x20], 0
je 0x47d453
test ecx, ecx
je 0x47d34a
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
add eax, 2
cmp eax, 0x82
ja 0x47d34a
push eax
mov eax, edx
push eax
push 0x82
push ecx
call fcn.004d6eed
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 0x47d220
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
cmp ebx, dword [edx + 8]
jge 0x47d51d
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 0x47d506
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 0x47d492
lea eax, [ebx + 0x10]
mov dword [ebp - 8], esi
lea edx, [esi + edi]
test eax, eax
je 0x47d44a
test edx, edx
je 0x47d44a
movzx eax, word [eax]
add eax, 2
cmp eax, 0x82
ja 0x47d44a
push eax
lea eax, [ebx + 0x10]
push eax
push 0x82
push edx
call fcn.004d6eed
mov ecx, dword [esp + 0x64]
add esp, 0x10
lea eax, [ebx + 0x10]
test eax, eax
jne 0x47d45a
jmp 0x47d45d
xor eax, eax
jmp 0x47d351
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 0x47d400
cmp dword [ecx], 0
jbe 0x47d506
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 0x47d4e1
test edx, edx
je 0x47d4dd
movzx eax, word [ebx]
add eax, 2
cmp eax, 0x82
ja 0x47d4dd
push eax
push ebx
push 0x82
push edx
call fcn.004d6eed
mov ecx, dword [esp + 0x64]
add esp, 0x10
test ebx, ebx
jne 0x47d4e5
xor eax, eax
jmp 0x47d4e8
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 0x47d3b6
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 0x47d58b
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
push eax
push ecx
push edx
call fcn.004d19b0
add esp, 0xc
cmp ebx, dword [esp + 0x40]
jae 0x47d5a4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
push edx
push eax
push ebx
call fcn.004d19b0
add esp, 0xc
cmp ebp, edi
jae 0x47d5b3
push esi
push edi
push ebp
call fcn.004d19b0
add esp, 0xc
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x6c
ret