Function at 0x47b560
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov ebx, ecx
movzx edx, byte [ecx]
mov ecx, edx
shr ecx, 1
mov eax, dword [ebx]
mov dword [esp + 0x24], eax
and eax, 0xfffffffe
add eax, 0xffffffff
mov dword [esp + 0x20], edx
test dl, 1
mov edx, 0xa
cmovne edx, eax
mov dword [esp + 0x1c], edx
cmovne ecx, dword [ebx + 4]
mov dword [esp + 8], ecx
mov dword [esp + 0x40], 0x4853d0
mov dword [esp + 0x44], 0x581bac
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], esp
mov dword [esp + 0x4c], 0x47b8f1
mov edi, dword [ebp + 8]
mov esi, ebx
lea eax, [esp + 0x28]
push eax
call fcn.004863b0
add esp, 4
mov edx, dword [ebp + 0xc]
sub edx, edi
je 0x47b8c7
add ebx, 1
test byte [esp + 0x20], 1
mov ecx, dword [esi + 8]
mov eax, ecx
cmove eax, ebx
cmp eax, edi
mov dword [esp + 4], esi
ja 0x47b63f
add eax, dword [esp + 8]
cmp eax, edi
jbe 0x47b63f
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
cmp edx, 0xfffffff0
jae 0x47b8e0
cmp edx, 0xa
ja 0x47b7a8
mov ebx, esi
mov eax, edx
add al, dl
mov byte [esp + 0x10], al
lea esi, [esp + 0x11]
cmp edi, dword [ebp + 0xc]
jne 0x47b7dd
jmp 0x47b7ec
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 8]
sub eax, esi
cmp eax, edx
mov dword [esp + 0xc], edx
jae 0x47b67e
lea eax, [esi + edx]
mov edx, dword [esp + 0x1c]
sub eax, edx
mov dword [esp + 0x2c], 0xffffffff
mov ecx, dword [esp + 4]
push 0
push 0
push esi
push esi
push eax
push edx
call fcn.004806d0
mov ecx, dword [esp + 4]
mov al, byte [ecx]
mov ecx, dword [ecx + 8]
jmp 0x47b682
mov eax, dword [esp + 0x24]
test al, 1
cmove ecx, ebx
lea eax, [ecx + esi]
cmp edi, dword [ebp + 0xc]
mov ebx, esi
je 0x47b835
mov edx, dword [esp + 0xc]
cmp edx, 0x20
mov esi, dword [esp + 4]
jb 0x47b83d
mov edx, dword [ebp + 0xc]
cmp eax, edx
jae 0x47b6bb
add edx, ebx
sub edx, edi
add edx, ecx
cmp edx, edi
ja 0x47b83d
mov edx, dword [esp + 0xc]
and edx, 0xffffffe0
mov dword [esp + 0x20], edx
lea esi, [edx - 0x20]
mov ebx, esi
shr ebx, 5
add ebx, 1
mov edx, ebx
and edx, 3
mov dword [esp + 0x1c], edx
xor edx, edx
cmp esi, 0x60
jb 0x47b746
and ebx, 0xfffffffc
mov edx, dword [esp + 8]
lea esi, [edx + ecx]
add esi, 0x70
xor edx, edx
movups xmm0, xmmword [edi + edx]
movups xmm1, xmmword [edi + edx + 0x10]
movups xmmword [esi + edx - 0x70], xmm0
movups xmmword [esi + edx - 0x60], xmm1
movups xmm0, xmmword [edi + edx + 0x20]
movups xmm1, xmmword [edi + edx + 0x30]
movups xmmword [esi + edx - 0x50], xmm0
movups xmmword [esi + edx - 0x40], xmm1
movups xmm0, xmmword [edi + edx + 0x40]
movups xmm1, xmmword [edi + edx + 0x50]
movups xmmword [esi + edx - 0x30], xmm0
movups xmmword [esi + edx - 0x20], xmm1
movups xmm0, xmmword [edi + edx + 0x60]
movups xmm1, xmmword [edi + edx + 0x70]
movups xmmword [esi + edx - 0x10], xmm0
movups xmmword [esi + edx], xmm1
sub edx, 0xffffff80
add ebx, 0xfffffffc
jne 0x47b6f0
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x47b789
lea esi, [edx + edi]
add esi, 0x10
add edx, dword [esp + 8]
add ecx, edx
add ecx, 0x10
shl ebx, 5
xor edx, edx
nop word cs:[eax + eax]
nop dword [eax]
movups xmm0, xmmword [esi + edx - 0x10]
movups xmm1, xmmword [esi + edx]
movups xmmword [ecx + edx - 0x10], xmm0
movups xmmword [ecx + edx], xmm1
add edx, 0x20
cmp ebx, edx
jne 0x47b770
mov ecx, dword [esp + 0x20]
add eax, ecx
mov edx, dword [esp + 0xc]
cmp edx, ecx
mov esi, dword [esp + 4]
jne 0x47b83b
mov ebx, dword [esp + 8]
jmp 0x47b8b4
lea ebx, [edx + 0x10]
and ebx, 0xfffffff0
mov dword [esp + 0x2c], 0xffffffff
push ebx
mov esi, edx
call fcn.004227e0
mov edx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x18], eax
or ebx, 1
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x14], edx
cmp edi, dword [ebp + 0xc]
je 0x47b7ec
push edx
push edi
push esi
mov edi, edx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add esi, edi
mov byte [esi], 0
movzx eax, byte [esp + 0x10]
test al, 1
je 0x47b802
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x47b808
shr eax, 1
lea edx, [esp + 0x11]
mov ecx, ebx
mov dword [esp + 0x2c], 1
push eax
push edx
call fcn.00480460
test byte [esp + 0x10], 1
je 0x47b82c
push dword [esp + 0x18]
call fcn.00422980
add esp, 4
mov esi, dword [esp + 4]
jmp 0x47b8c7
mov edx, dword [esp + 0xc]
jmp 0x47b8b0
add edi, ecx
mov ebx, dword [ebp + 0xc]
mov edx, ebx
sub edx, edi
mov ecx, edi
not ecx
add ecx, ebx
and edx, 7
je 0x47b860
nop
movzx ebx, byte [edi]
mov byte [eax], bl
add eax, 1
add edi, 1
add edx, 0xffffffff
jne 0x47b850
cmp ecx, 7
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
jb 0x47b8b4
mov esi, dword [ebp + 0xc]
movzx ecx, byte [edi]
mov byte [eax], cl
movzx ecx, byte [edi + 1]
mov byte [eax + 1], cl
movzx ecx, byte [edi + 2]
mov byte [eax + 2], cl
movzx ecx, byte [edi + 3]
mov byte [eax + 3], cl
movzx ecx, byte [edi + 4]
mov byte [eax + 4], cl
movzx ecx, byte [edi + 5]
mov byte [eax + 5], cl
movzx ecx, byte [edi + 6]
mov byte [eax + 6], cl
movzx ecx, byte [edi + 7]
mov byte [eax + 7], cl
add eax, 8
add edi, 8
cmp edi, esi
jne 0x47b870
mov esi, dword [esp + 4]
mov byte [eax], 0
add ebx, edx
test byte [esi], 1
jne 0x47b8c4
add bl, bl
mov byte [esi], bl
jmp 0x47b8c7
mov dword [esi + 4], ebx
lea eax, [esp + 0x28]
push eax
call fcn.00486410
add esp, 4
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.0047faa0
mov eax, dword [esp + 0x2c]
cmp eax, 1
jb switch.0x0047b8fe
ud2
jmp dword [eax*4 + 0x47b92c]
mov esi, dword [esp + 0x30]
test byte [esp + 0x10], 1
je 0x47b91c
push dword [esp + 0x18]
call fcn.00422980
add esp, 4
mov dword [esp + 0x2c], 0xffffffff
push esi
call fcn.004866b0
nop
add eax, 0x550047b9
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov esi, ecx
movzx edx, byte [ecx]
mov ecx, edx
shr ecx, 1
mov eax, dword [esi]
mov dword [esp + 0x24], eax
and eax, 0xfffffffe
add eax, 0xffffffff
mov dword [esp + 0xc], edx
test dl, 1
mov edx, 4
cmovne edx, eax
mov dword [esp + 0x20], edx
cmovne ecx, dword [esi + 4]
mov dword [esp + 4], ecx
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
sub ebx, edi
mov dword [esp + 0x40], 0x4853d0
mov dword [esp + 0x44], 0x581bb4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], esp
mov dword [esp + 0x4c], 0x47bca2
mov dword [esp], esi
lea eax, [esp + 0x28]
push eax
call fcn.004863b0
add esp, 4
test ebx, ebx
je 0x47bc77
mov dword [esp + 8], ebx
sar ebx, 1
mov dword [esp + 0x1c], ebx
add esi, 2
test byte [esp + 0xc], 1
mov eax, dword [esp]
mov ecx, dword [eax + 8]
mov eax, ecx
mov dword [esp + 0xc], esi
cmove eax, esi
cmp eax, edi
mov edx, dword [esp + 4]
ja 0x47ba25
lea eax, [eax + edx*2]
cmp eax, edi
jbe 0x47ba25
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 8]
test ecx, ecx
js 0x47bc91
cmp ecx, 9
mov eax, dword [esp + 0x1c]
ja 0x47bba6
add al, al
mov byte [esp + 0x10], al
lea esi, [esp + 0x12]
cmp edi, dword [ebp + 0xc]
jne 0x47bbde
jmp 0x47bbf7
mov ebx, dword [esp + 0x20]
mov eax, ebx
sub eax, edx
mov esi, dword [esp + 0x1c]
cmp eax, esi
mov eax, esi
mov esi, dword [ebp + 0xc]
jae 0x47ba63
add eax, edx
sub eax, ebx
mov dword [esp + 0x2c], 0xffffffff
mov ecx, dword [esp]
push 0
push 0
push edx
push edx
push eax
push ebx
mov ebx, ecx
call fcn.00482b50
mov edx, dword [esp + 4]
mov al, byte [ebx]
mov ecx, dword [ebx + 8]
jmp 0x47ba6a
mov eax, dword [esp + 0x24]
mov ebx, dword [esp]
test al, 1
cmove ecx, dword [esp + 0xc]
lea eax, [ecx + edx*2]
cmp edi, esi
je 0x47bc60
mov ebx, dword [esp + 8]
add ebx, 0xfffffffe
cmp ebx, 0x1e
jb 0x47bc46
shr ebx, 1
lea edx, [edi + ebx*2]
add edx, 2
cmp eax, edx
jae 0x47baac
mov edx, dword [esp + 4]
add edx, ebx
lea edx, [ecx + edx*2]
add edx, 2
cmp edx, edi
ja 0x47bc42
add ebx, 1
mov dword [esp + 8], ebx
and ebx, 0xfffffff0
mov dword [esp + 0xc], ebx
lea esi, [ebx - 0x10]
mov ebx, esi
shr ebx, 4
add ebx, 1
mov edx, ebx
and edx, 3
mov dword [esp + 0x20], edx
xor edx, edx
cmp esi, 0x30
jb 0x47bb46
and ebx, 0xfffffffc
mov edx, dword [esp + 4]
lea esi, [ecx + edx*2]
add esi, 0x70
xor edx, edx
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [edi + edx*2]
movups xmm1, xmmword [edi + edx*2 + 0x10]
movups xmmword [esi + edx*2 - 0x70], xmm0
movups xmmword [esi + edx*2 - 0x60], xmm1
movups xmm0, xmmword [edi + edx*2 + 0x20]
movups xmm1, xmmword [edi + edx*2 + 0x30]
movups xmmword [esi + edx*2 - 0x50], xmm0
movups xmmword [esi + edx*2 - 0x40], xmm1
movups xmm0, xmmword [edi + edx*2 + 0x40]
movups xmm1, xmmword [edi + edx*2 + 0x50]
movups xmmword [esi + edx*2 - 0x30], xmm0
movups xmmword [esi + edx*2 - 0x20], xmm1
movups xmm0, xmmword [edi + edx*2 + 0x60]
movups xmm1, xmmword [edi + edx*2 + 0x70]
movups xmmword [esi + edx*2 - 0x10], xmm0
movups xmmword [esi + edx*2], xmm1
add edx, 0x40
add ebx, 0xfffffffc
jne 0x47baf0
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x47bb89
lea esi, [edi + edx*2]
add esi, 0x10
add edx, dword [esp + 4]
lea ecx, [ecx + edx*2]
add ecx, 0x10
shl ebx, 5
xor edx, edx
nop word cs:[eax + eax]
nop dword [eax]
movups xmm0, xmmword [esi + edx - 0x10]
movups xmm1, xmmword [esi + edx]
movups xmmword [ecx + edx - 0x10], xmm0
movups xmmword [ecx + edx], xmm1
add edx, 0x20
cmp ebx, edx
jne 0x47bb70
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx*2]
cmp dword [esp + 8], ecx
jne 0x47bc3c
mov edx, dword [esp + 4]
mov ebx, dword [esp]
jmp 0x47bc60
lea ebx, [eax + 8]
and ebx, 0xfffffff8
lea eax, [ebx + ebx]
mov dword [esp + 0x2c], 0xffffffff
push eax
call fcn.004227e0
mov ecx, dword [esp + 0xc]
add esp, 4
mov esi, eax
mov dword [esp + 0x18], eax
or ebx, 1
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
cmp edi, dword [ebp + 0xc]
je 0x47bbf7
lea ebx, [ecx - 2]
and ebx, 0xfffffffe
and ecx, 0xfffffffe
push ecx
push edi
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add esi, ebx
add esi, 2
mov ecx, dword [esp]
mov word [esi], 0
movzx eax, byte [esp + 0x10]
test al, 1
je 0x47bc12
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x47bc18
shr eax, 1
lea edx, [esp + 0x12]
mov dword [esp + 0x2c], 1
push eax
push edx
call fcn.004828d0
test byte [esp + 0x10], 1
je 0x47bc77
push dword [esp + 0x18]
call fcn.00422980
add esp, 4
jmp 0x47bc77
lea edi, [edi + ecx*2]
mov esi, dword [ebp + 0xc]
mov edx, dword [esp + 4]
mov ebx, dword [esp]
nop dword [eax]
movzx ecx, word [edi]
mov word [eax], cx
add eax, 2
add edi, 2
cmp edi, esi
jne 0x47bc50
mov word [eax], 0
add edx, dword [esp + 0x1c]
test byte [ebx], 1
jne 0x47bc74
add dl, dl
mov byte [ebx], dl
jmp 0x47bc77
mov dword [ebx + 4], edx
lea eax, [esp + 0x28]
push eax
call fcn.00486410
add esp, 4
mov eax, dword [esp]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.0047faa0
mov eax, dword [esp + 0x2c]
cmp eax, 1
jb switch.0x0047bcaf
ud2
jmp dword [eax*4 + 0x47bcdc]
mov esi, dword [esp + 0x30]
test byte [esp + 0x10], 1
je 0x47bccd
push dword [esp + 0x18]
call fcn.00422980
add esp, 4
mov dword [esp + 0x2c], 0xffffffff
push esi
call fcn.004866b0
nop
mov dh, 0xbc
inc edi
add byte [ebp - 0x77], dl
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov esi, ecx
mov bl, byte [ecx + 0x20c]
mov dword [ebp - 0x28], 0x4853d0
mov dword [ebp - 0x24], 0x581bbc
mov dword [ebp - 0x20], ebp
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0x47c018
lea eax, [ebp - 0x40]
push eax
call fcn.004863b0
add esp, 4
test bl, 1
jne 0x47be61
test byte [esi + 0x200], 1
jne 0x47be7c
test byte [esi + 0x1f4], 1
jne 0x47be97
test byte [esi + 0x1e8], 1
jne 0x47beb2
test byte [esi + 0x1dc], 1
jne 0x47becd
test byte [esi + 0x1d0], 1
je 0x47bd6c
push dword [esi + 0x1d8]
call fcn.00422980
add esp, 4
mov edi, 0x1cc
jmp 0x47bd8b
add edi, 0xfffffff4
cmp edi, 0xac
je 0x47bd9f
test byte [esi + edi - 8], 1
je 0x47bd80
push dword [esi + edi]
call fcn.00422980
add esp, 4
jmp 0x47bd80
test byte [esi + 0xa4], 1
jne 0x47beed
test byte [esi + 0x98], 1
jne 0x47bf08
test byte [esi + 0x8c], 1
jne 0x47bf23
test byte [esi + 0x80], 1
jne 0x47bf3e
test byte [esi + 0x74], 1
jne 0x47bf56
test byte [esi + 0x68], 1
jne 0x47bf6b
test byte [esi + 0x5c], 1
jne 0x47bf80
test byte [esi + 0x50], 1
jne 0x47bf95
test byte [esi + 0x44], 1
jne 0x47bfaa
test byte [esi + 0x38], 1
jne 0x47bfbf
test byte [esi + 0x2c], 1
jne 0x47bfd4
test byte [esi + 0x20], 1
jne 0x47bfe9
test byte [esi + 0x14], 1
jne 0x47bffe
test byte [esi + 8], 1
je 0x47be3e
push dword [esi + 0x10]
call fcn.00422980
add esp, 4
mov eax, dword [esi]
mov dword [ebp - 0x3c], 1
push eax
call sub.api_ms_win_crt_locale_l1_1_0.dll__free_locale
add esp, 4
lea eax, [ebp - 0x40]
push eax
call fcn.00486410
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esi + 0x214]
call fcn.00422980
add esp, 4
test byte [esi + 0x200], 1
je 0x47bd2e
push dword [esi + 0x208]
call fcn.00422980
add esp, 4
test byte [esi + 0x1f4], 1
je 0x47bd3b
push dword [esi + 0x1fc]
call fcn.00422980
add esp, 4
test byte [esi + 0x1e8], 1
je 0x47bd48
push dword [esi + 0x1f0]
call fcn.00422980
add esp, 4
test byte [esi + 0x1dc], 1
je 0x47bd55
push dword [esi + 0x1e4]
call fcn.00422980
add esp, 4
test byte [esi + 0x1d0], 1
jne 0x47bd5e
jmp 0x47bd6c
push dword [esi + 0xac]
call fcn.00422980
add esp, 4
test byte [esi + 0x98], 1
je 0x47bdb9
push dword [esi + 0xa0]
call fcn.00422980
add esp, 4
test byte [esi + 0x8c], 1
je 0x47bdc6
push dword [esi + 0x94]
call fcn.00422980
add esp, 4
test byte [esi + 0x80], 1
je 0x47bdd3
push dword [esi + 0x88]
call fcn.00422980
add esp, 4
test byte [esi + 0x74], 1
je 0x47bddd
push dword [esi + 0x7c]
call fcn.00422980
add esp, 4
test byte [esi + 0x68], 1
je 0x47bde7
push dword [esi + 0x70]
call fcn.00422980
add esp, 4
test byte [esi + 0x5c], 1
je 0x47bdf1
push dword [esi + 0x64]
call fcn.00422980
add esp, 4
test byte [esi + 0x50], 1
je 0x47bdfb
push dword [esi + 0x58]
call fcn.00422980
add esp, 4
test byte [esi + 0x44], 1
je 0x47be05
push dword [esi + 0x4c]
call fcn.00422980
add esp, 4
test byte [esi + 0x38], 1
je 0x47be0f
push dword [esi + 0x40]
call fcn.00422980
add esp, 4
test byte [esi + 0x2c], 1
je 0x47be19
push dword [esi + 0x34]
call fcn.00422980
add esp, 4
test byte [esi + 0x20], 1
je 0x47be23
push dword [esi + 0x28]
call fcn.00422980
add esp, 4
test byte [esi + 0x14], 1
je 0x47be2d
push dword [esi + 0x1c]
call fcn.00422980
add esp, 4
test byte [esi + 8], 1
jne 0x47be33
jmp 0x47be3e