Function at 0x49ccd4
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov ebx, 0x1d
mov ecx, dword [ebp - 0x20]
mov edx, 0xe0
mov eax, ecx
mov byte [eax], 0
inc eax
dec edx
jne 0x49ccf5
add ecx, 0xe0
dec ebx
jne 0x49ccee
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2a], 0
jne 0x49d461
push ebp
call fcn.0049c840
pop ecx
mov eax, dword [ebp - 8]
mov byte [eax + 0x1c6], 1
mov byte [ebp - 0x1a], 0
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + 0xc]
jmp 0x49d44e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov al, byte [eax + ebx - 1]
xor edx, edx
mov dl, al
add edx, 0xfffffff6
cmp edx, 0x11
ja case.0x49cd52.10
mov dl, byte [edx + 0x49cd59]
jmp dword [edx*4 + 0x49cd6b]
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jg 0x49d461
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov al, byte [eax + ebx - 1]
xor edx, edx
mov dl, al
add edx, 0xffffff9f
cmp edx, 0x19
ja case.0x49cdb1.101
jmp dword [edx*4 + 0x49cdb8]
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jg 0x49d461
jmp case.0x49cdb1.118
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jg 0x49d461
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1c6], 0
je 0x49ceb6
mov eax, dword [ebp - 8]
movzx esi, byte [eax + 0x4e98]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 5]
sub esi, eax
dec esi
cmp esi, 0
jl 0x49ceb6
mov eax, dword [0x49f484]
test eax, eax
jl 0x49ceb0
inc eax
mov dword [ebp - 0x28], eax
xor edx, edx
imul eax, edx, 0x1c
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*8]
push dword [ecx + esi + 0x3489]
mov ecx, dword [ebp - 8]
lea eax, [ecx + eax*8]
mov ecx, dword [ebp - 4]
movzx ecx, byte [ecx + 5]
add ecx, esi
lea ecx, [eax + ecx + 0x3489]
pop eax
mov byte [ecx], al
inc edx
dec dword [ebp - 0x28]
jne 0x49ce81
dec esi
cmp esi, 0xffffffff
jne 0x49ce72
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1c6], 0
je 0x49cf25
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 6]
test eax, eax
jl 0x49cf25
inc eax
mov dword [ebp - 0x28], eax
xor esi, esi
mov eax, dword [0x49f484]
test eax, eax
jl 0x49cf1f
inc eax
xor edx, edx
mov ecx, dword [ebp - 8]
movzx ecx, byte [ecx + 0x4e98]
cmp esi, ecx
jge 0x49cf1b
imul ecx, edx, 0x1c
mov edi, dword [ebp - 8]
lea ecx, [edi + ecx*8]
push ecx
mov ecx, dword [ebp - 4]
movzx ecx, byte [ecx + 5]
add ecx, esi
pop edi
push dword [edi + ecx + 0x3489]
imul ecx, edx, 0x1c
mov edi, dword [ebp - 8]
lea ecx, [edi + ecx*8]
lea edi, [ecx + esi + 0x3489]
pop ecx
mov byte [edi], cl
inc edx
dec eax
jne 0x49cedf
inc esi
dec dword [ebp - 0x28]
jne 0x49ced3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
movzx eax, byte [eax + ebx - 1]
sub eax, 0x10
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
mov byte [eax + 0x1c6], 0
mov byte [ebp - 0x19], 1
jmp case.0x49cdb1.118
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jg 0x49d461
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d], 0
je 0x49cfa0
mov esi, dword [ebp - 4]
movzx esi, byte [esi + 5]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 6]
sub eax, esi
jl 0x49cfa0
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
lea edx, [eax + esi]
mov eax, dword [0x49f484]
test eax, eax
jl 0x49cf9a
inc eax
mov ecx, edx
mov byte [ecx], 0
add ecx, 0xe0
dec eax
jne 0x49cf8e
inc edx
dec dword [ebp - 0x28]
jne 0x49cf82
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov al, byte [eax + ebx - 1]
sub al, 0x10
mov edx, dword [ebp - 4]
mov byte [edx + 5], al
jmp case.0x49cdb1.118
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jg 0x49d461
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov al, byte [eax + ebx - 1]
sub al, 0x10
mov edx, dword [ebp - 4]
mov byte [edx + 6], al
jmp case.0x49cdb1.118
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jg 0x49d461
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov al, byte [eax + ebx - 1]
sub al, 0x10
mov edx, dword [ebp - 4]
mov byte [edx + 7], al
jmp case.0x49cdb1.118
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jg 0x49d461
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov al, byte [eax + ebx - 1]
sub al, 0x10
mov edx, dword [ebp - 4]
mov byte [edx + 8], al
jmp case.0x49cdb1.118
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jg 0x49d461
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov al, byte [eax + ebx - 1]
sub al, 0x10
mov edx, dword [ebp - 4]
mov byte [edx + 0x20], al
mov edx, dword [ebp - 4]
test al, al
jne case.0x49cdb1.118
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 1
jmp case.0x49cdb1.118
push ebp
call fcn.0049c71c
pop ecx
jmp case.0x49cdb1.118
mov esi, dword [ebp - 4]
movzx esi, byte [esi + 5]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 6]
sub eax, esi
jl case.0x49cdb1.118
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
lea ecx, [eax + esi]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 7]
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 8]
sub eax, edx
test eax, eax
jl 0x49d108
inc eax
xor edx, edx
mov esi, dword [ebp - 4]
movzx esi, byte [esi + 7]
mov edi, dword [0x49f484]
sub edi, esi
add edi, edx
imul esi, edi, 0x1c
cmp byte [ecx + esi*8], 0
jne 0x49d0ec
mov esi, dword [ebp - 4]
movzx esi, byte [esi + 7]
mov edi, dword [0x49f484]
sub edi, esi
add edi, edx
imul esi, edi, 0x1c
mov byte [ecx + esi*8], 1
jmp 0x49d104
mov esi, dword [ebp - 4]
movzx esi, byte [esi + 7]
mov edi, dword [0x49f484]
sub edi, esi
add edi, edx
imul esi, edi, 0x1c
mov byte [ecx + esi*8], 0
inc edx
dec eax
jne 0x49d0b8
inc ecx
dec dword [ebp - 0x28]
jne 0x49d0a1
jmp case.0x49cdb1.118
mov esi, dword [ebp - 4]
movzx esi, byte [esi + 5]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 6]
sub eax, esi
jl case.0x49cdb1.118
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
add eax, esi
mov esi, eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 7]
mov edx, dword [0x49f484]
sub edx, eax
imul edx, edx, 0x1c
mov dl, byte [esi + edx*8]
mov byte [ebp - 0x21], dl
mov edx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 8]
sub eax, edx
dec eax
test eax, eax
jl 0x49d199
inc eax
xor edx, edx
mov ecx, dword [ebp - 4]
movzx ecx, byte [ecx + 7]
mov edi, dword [0x49f484]
sub edi, ecx
add edi, edx
imul ecx, edi, 0x1c
push dword [esi + ecx*8 + 0xe0]
mov ecx, dword [ebp - 4]
movzx ecx, byte [ecx + 7]
mov edi, dword [0x49f484]
sub edi, ecx
add edi, edx
imul ecx, edi, 0x1c
lea edi, [esi + ecx*8]
pop ecx
mov byte [edi], cl
inc edx
dec eax
jne 0x49d160
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 8]
mov edx, dword [0x49f484]
sub edx, eax
imul eax, edx, 0x1c
mov dl, byte [ebp - 0x21]
mov byte [esi + eax*8], dl
inc esi
dec dword [ebp - 0x28]
jne 0x49d134
jmp case.0x49cdb1.118
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 7]
mov edx, dword [0x49f484]
sub edx, eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 8]
mov ecx, dword [0x49f484]
sub ecx, eax
sub ecx, edx
jl case.0x49cdb1.118
inc ecx
mov dword [ebp - 0x28], ecx
imul eax, edx, 0x1c
mov edx, dword [ebp - 0x20]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 5]
mov edx, dword [ebp - 0x2c]
mov dl, byte [edx + eax]
mov byte [ebp - 0x21], dl
mov edx, dword [ebp - 4]
mov esi, eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 6]
dec eax
sub eax, esi
jl 0x49d228
inc eax
mov edx, dword [ebp - 0x2c]
lea edx, [edx + esi + 1]
mov cl, byte [edx]
mov byte [edx - 1], cl
inc edx
dec eax
jne 0x49d21f
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 6]
mov edx, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x21]
mov byte [edx + eax], cl
add dword [ebp - 0x2c], 0xe0
dec dword [ebp - 0x28]
jne 0x49d1f6
jmp case.0x49cdb1.118
mov eax, dword [ebp - 4]
mov byte [eax + 0x2b], 1
jmp case.0x49cdb1.118
mov eax, dword [ebp - 8]
mov byte [eax + 0x106214], 1
mov eax, dword [ebp - 8]
mov byte [eax + 0x106245], 1
jmp case.0x49cdb1.118
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 7]
mov edx, dword [0x49f484]
sub edx, eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 8]
mov ecx, dword [0x49f484]
sub ecx, eax
sub ecx, edx
jl case.0x49cdb1.118
inc ecx
mov dword [ebp - 0x28], ecx
imul eax, edx, 0x1c
mov edx, dword [ebp - 0x20]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 4]
movzx esi, byte [esi + 5]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 6]
sub eax, esi
jl 0x49d2c3
inc eax
mov edx, dword [ebp - 0x2c]
add edx, esi
mov byte [edx], 0
inc edx
dec eax
jne 0x49d2bc
add dword [ebp - 0x2c], 0xe0
dec dword [ebp - 0x28]
jne 0x49d2a4
jmp case.0x49cdb1.118
mov byte [ebp - 0x1a], 1
jmp case.0x49cdb1.118
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0x20
jb 0x49d2f7
cmp byte [ebp - 0x21], 0x2f
ja 0x49d2f7
mov al, byte [ebp - 0x21]
sub al, 0x20
mov edx, dword [ebp - 4]
mov byte [edx + 0x1e], al
cmp byte [ebp - 0x21], 0x30
jb 0x49d30e
cmp byte [ebp - 0x21], 0x4f
ja 0x49d30e
mov al, byte [ebp - 0x21]
sub al, 0x30
mov edx, dword [ebp - 4]
mov byte [edx + 0x1f], al
cmp byte [ebp - 0x21], 0x50
jb case.0x49cdb1.118
cmp byte [ebp - 0x21], 0x5f
ja case.0x49cdb1.118
mov al, byte [ebp - 0x21]
sub al, 0x50
mov edx, dword [ebp - 4]
mov byte [edx + 0x1d], al
jmp case.0x49cdb1.118
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x1c0], edx
push ebp
call fcn.0049cad8
pop ecx
push ebp
call fcn.0049c840
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1c], 0
je 0x49d395
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 0
lea eax, [ebx + 1]
mov edx, dword [ebp - 4]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
jne case.0x49cdb1.118
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x28], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x2a], 1
jmp 0x49d461
mov eax, dword [ebp - 4]
inc dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x18]
jne case.0x49cdb1.118
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x28], 1
jmp 0x49d461
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x1c0], edx
push ebp
call fcn.0049cad8
pop ecx
jmp 0x49d461
push ebp
call fcn.0049cad8
pop ecx
push ebp
call fcn.0049c840
pop ecx
jmp case.0x49cdb1.118
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x1c0], edx
push ebp
call fcn.0049cad8
pop ecx
jmp 0x49d461
cmp al, 0xb0
jb 0x49d418
cmp al, 0xbf
ja 0x49d418
mov edx, eax
sub dl, 0xb0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1e], dl
cmp al, 0xc0
jb 0x49d42b
cmp al, 0xdf
ja 0x49d42b
mov edx, eax
sub dl, 0xc0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1f], dl
cmp al, 0xe0
jb 0x49d43e
cmp al, 0xef
ja 0x49d43e
mov edx, eax
sub dl, 0xe0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x1d], dl
cmp al, 0xb0
jb 0x49d446
cmp al, 0xef
jbe case.0x49cdb1.118
push ebp
call fcn.0049c8ac
pop ecx
inc ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00403544
cmp ebx, eax
jle 0x49cd32
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret