Function at 0x469980
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], 0x48d3a0
mov dword [esp + 0x44], 0x4e3af8
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], esp
mov dword [esp + 0x4c], 0x469d11
mov edi, dword [ebp + 8]
mov esi, ebx
lea eax, [esp + 0x28]
push eax
call fcn.0048e380
add esp, 4
mov edx, dword [ebp + 0xc]
sub edx, edi
je 0x469ce7
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 0x469a5f
add eax, dword [esp + 8]
cmp eax, edi
jbe 0x469a5f
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
cmp edx, 0xfffffff0
jae 0x469d00
cmp edx, 0xa
ja 0x469bc8
mov ebx, esi
mov eax, edx
add al, dl
mov byte [esp + 0x10], al
lea esi, [esp + 0x11]
cmp edi, dword [ebp + 0xc]
jne 0x469bfd
jmp 0x469c0c
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 8]
sub eax, esi
cmp eax, edx
mov dword [esp + 0xc], edx
jae 0x469a9e
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.0046e8f0
mov ecx, dword [esp + 4]
mov al, byte [ecx]
mov ecx, dword [ecx + 8]
jmp 0x469aa2
mov eax, dword [esp + 0x24]
test al, 1
cmove ecx, ebx
lea eax, [ecx + esi]
cmp edi, dword [ebp + 0xc]
mov ebx, esi
je 0x469c55
mov edx, dword [esp + 0xc]
cmp edx, 0x20
mov esi, dword [esp + 4]
jb 0x469c5d
mov edx, dword [ebp + 0xc]
cmp eax, edx
jae 0x469adb
add edx, ebx
sub edx, edi
add edx, ecx
cmp edx, edi
ja 0x469c5d
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 0x469b66
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 0x469b10
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x469ba9
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 0x469b90
mov ecx, dword [esp + 0x20]
add eax, ecx
mov edx, dword [esp + 0xc]
cmp edx, ecx
mov esi, dword [esp + 4]
jne 0x469c5b
mov ebx, dword [esp + 8]
jmp 0x469cd4
lea ebx, [edx + 0x10]
and ebx, 0xfffffff0
mov dword [esp + 0x2c], 0xffffffff
push ebx
mov esi, edx
call fcn.0046a7f0
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 0x469c0c
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 0x469c22
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x469c28
shr eax, 1
lea edx, [esp + 0x11]
mov ecx, ebx
mov dword [esp + 0x2c], 1
push eax
push edx
call fcn.0046e680
test byte [esp + 0x10], 1
je 0x469c4c
push dword [esp + 0x18]
call fcn.0046a990
add esp, 4
mov esi, dword [esp + 4]
jmp 0x469ce7
mov edx, dword [esp + 0xc]
jmp 0x469cd0
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 0x469c80
nop
movzx ebx, byte [edi]
mov byte [eax], bl
add eax, 1
add edi, 1
add edx, 0xffffffff
jne 0x469c70
cmp ecx, 7
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
jb 0x469cd4
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 0x469c90
mov esi, dword [esp + 4]
mov byte [eax], 0
add ebx, edx
test byte [esi], 1
jne 0x469ce4
add bl, bl
mov byte [esi], bl
jmp 0x469ce7
mov dword [esi + 4], ebx
lea eax, [esp + 0x28]
push eax
call fcn.0048e3e0
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.0046db80
mov eax, dword [esp + 0x2c]
cmp eax, 1
jb switch.0x00469d1e
ud2
jmp dword [eax*4 + 0x469d4c]
mov esi, dword [esp + 0x30]
test byte [esp + 0x10], 1
je 0x469d3c
push dword [esp + 0x18]
call fcn.0046a990
add esp, 4
mov dword [esp + 0x2c], 0xffffffff
push esi
call fcn.0048e680
nop
and eax, 0x5500469d
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], 0x48d3a0
mov dword [esp + 0x44], 0x4e3b00
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], esp
mov dword [esp + 0x4c], 0x46a0c2
mov dword [esp], esi
lea eax, [esp + 0x28]
push eax
call fcn.0048e380
add esp, 4
test ebx, ebx
je 0x46a097
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 0x469e45
lea eax, [eax + edx*2]
cmp eax, edi
jbe 0x469e45
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 8]
test ecx, ecx
js 0x46a0b1
cmp ecx, 9
mov eax, dword [esp + 0x1c]
ja 0x469fc6
add al, al
mov byte [esp + 0x10], al
lea esi, [esp + 0x12]
cmp edi, dword [ebp + 0xc]
jne 0x469ffe
jmp 0x46a017
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 0x469e83
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.00470d70
mov edx, dword [esp + 4]
mov al, byte [ebx]
mov ecx, dword [ebx + 8]
jmp 0x469e8a
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 0x46a080
mov ebx, dword [esp + 8]
add ebx, 0xfffffffe
cmp ebx, 0x1e
jb 0x46a066
shr ebx, 1
lea edx, [edi + ebx*2]
add edx, 2
cmp eax, edx
jae 0x469ecc
mov edx, dword [esp + 4]
add edx, ebx
lea edx, [ecx + edx*2]
add edx, 2
cmp edx, edi
ja 0x46a062
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 0x469f66
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 0x469f10
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x469fa9
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 0x469f90
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx*2]
cmp dword [esp + 8], ecx
jne 0x46a05c
mov edx, dword [esp + 4]
mov ebx, dword [esp]
jmp 0x46a080
lea ebx, [eax + 8]
and ebx, 0xfffffff8
lea eax, [ebx + ebx]
mov dword [esp + 0x2c], 0xffffffff
push eax
call fcn.0046a7f0
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 0x46a017
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 0x46a032
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x46a038
shr eax, 1
lea edx, [esp + 0x12]
mov dword [esp + 0x2c], 1
push eax
push edx
call fcn.00470af0
test byte [esp + 0x10], 1
je 0x46a097
push dword [esp + 0x18]
call fcn.0046a990
add esp, 4
jmp 0x46a097
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 0x46a070
mov word [eax], 0
add edx, dword [esp + 0x1c]
test byte [ebx], 1
jne 0x46a094
add dl, dl
mov byte [ebx], dl
jmp 0x46a097
mov dword [ebx + 4], edx
lea eax, [esp + 0x28]
push eax
call fcn.0048e3e0
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.0046db80
mov eax, dword [esp + 0x2c]
cmp eax, 1
jb switch.0x0046a0cf
ud2
jmp dword [eax*4 + 0x46a0fc]
mov esi, dword [esp + 0x30]
test byte [esp + 0x10], 1
je 0x46a0ed
push dword [esp + 0x18]
call fcn.0046a990
add esp, 4
mov dword [esp + 0x2c], 0xffffffff
push esi
call fcn.0048e680
nop
salc
mov al, byte [2304049222]
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], 0x48d3a0
mov dword [ebp - 0x24], 0x4e3b08
mov dword [ebp - 0x20], ebp
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0x46a438
lea eax, [ebp - 0x40]
push eax
call fcn.0048e380
add esp, 4
test bl, 1
jne 0x46a281
test byte [esi + 0x200], 1
jne 0x46a29c
test byte [esi + 0x1f4], 1
jne 0x46a2b7
test byte [esi + 0x1e8], 1
jne 0x46a2d2
test byte [esi + 0x1dc], 1
jne 0x46a2ed
test byte [esi + 0x1d0], 1
je 0x46a18c
push dword [esi + 0x1d8]
call fcn.0046a990
add esp, 4
mov edi, 0x1cc
jmp 0x46a1ab
add edi, 0xfffffff4
cmp edi, 0xac
je 0x46a1bf
test byte [esi + edi - 8], 1
je 0x46a1a0
push dword [esi + edi]
call fcn.0046a990
add esp, 4
jmp 0x46a1a0
test byte [esi + 0xa4], 1
jne 0x46a30d
test byte [esi + 0x98], 1
jne 0x46a328
test byte [esi + 0x8c], 1
jne 0x46a343
test byte [esi + 0x80], 1
jne 0x46a35e
test byte [esi + 0x74], 1
jne 0x46a376
test byte [esi + 0x68], 1
jne 0x46a38b
test byte [esi + 0x5c], 1
jne 0x46a3a0
test byte [esi + 0x50], 1
jne 0x46a3b5
test byte [esi + 0x44], 1
jne 0x46a3ca
test byte [esi + 0x38], 1
jne 0x46a3df
test byte [esi + 0x2c], 1
jne 0x46a3f4
test byte [esi + 0x20], 1
jne 0x46a409
test byte [esi + 0x14], 1
jne 0x46a41e
test byte [esi + 8], 1
je 0x46a25e
push dword [esi + 0x10]
call fcn.0046a990
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.0048e3e0
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esi + 0x214]
call fcn.0046a990
add esp, 4
test byte [esi + 0x200], 1
je 0x46a14e
push dword [esi + 0x208]
call fcn.0046a990
add esp, 4
test byte [esi + 0x1f4], 1
je 0x46a15b
push dword [esi + 0x1fc]
call fcn.0046a990
add esp, 4
test byte [esi + 0x1e8], 1
je 0x46a168
push dword [esi + 0x1f0]
call fcn.0046a990
add esp, 4
test byte [esi + 0x1dc], 1
je 0x46a175
push dword [esi + 0x1e4]
call fcn.0046a990
add esp, 4
test byte [esi + 0x1d0], 1
jne 0x46a17e
jmp 0x46a18c
push dword [esi + 0xac]
call fcn.0046a990
add esp, 4
test byte [esi + 0x98], 1
je 0x46a1d9
push dword [esi + 0xa0]
call fcn.0046a990
add esp, 4
test byte [esi + 0x8c], 1
je 0x46a1e6
push dword [esi + 0x94]
call fcn.0046a990
add esp, 4
test byte [esi + 0x80], 1
je 0x46a1f3
push dword [esi + 0x88]
call fcn.0046a990
add esp, 4
test byte [esi + 0x74], 1
je 0x46a1fd
push dword [esi + 0x7c]
call fcn.0046a990
add esp, 4
test byte [esi + 0x68], 1
je 0x46a207
push dword [esi + 0x70]
call fcn.0046a990
add esp, 4
test byte [esi + 0x5c], 1
je 0x46a211
push dword [esi + 0x64]
call fcn.0046a990
add esp, 4
test byte [esi + 0x50], 1
je 0x46a21b
push dword [esi + 0x58]
call fcn.0046a990
add esp, 4
test byte [esi + 0x44], 1
je 0x46a225
push dword [esi + 0x4c]
call fcn.0046a990
add esp, 4
test byte [esi + 0x38], 1
je 0x46a22f
push dword [esi + 0x40]
call fcn.0046a990
add esp, 4
test byte [esi + 0x2c], 1
je 0x46a239
push dword [esi + 0x34]
call fcn.0046a990
add esp, 4
test byte [esi + 0x20], 1
je 0x46a243
push dword [esi + 0x28]
call fcn.0046a990
add esp, 4
test byte [esi + 0x14], 1
je 0x46a24d
push dword [esi + 0x1c]
call fcn.0046a990
add esp, 4
test byte [esi + 8], 1
jne 0x46a253
jmp 0x46a25e