Function at 0x417200
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov eax, edx
mov dword [esp + 0x10], ebx
xor esi, esi
mov dword [esp + 0x14], eax
xor edx, edx
mov dword [esp + 0x1c], esi
mov cl, byte [edi]
mov dword [esp + 0xc], esi
test cl, cl
je 0x4177fe
mov dword [esp + 0x38], 0x20
nop dword [eax]
inc edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x18], edi
cmp cl, 0x25
je 0x417263
cmp esi, eax
jae 0x417255
mov byte [esi + ebx], cl
inc esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], esi
jmp 0x4177f4
mov esi, dword [esp + 0x38]
mov dword [esp + 0x28], edx
inc edx
mov dword [esp + 0x20], edx
mov eax, edi
cmp byte [edi], 0x2d
mov byte [esp + 0x30], 0
jne 0x417288
lea edi, [eax + 1]
mov byte [esp + 0x30], 1
mov dword [esp + 0x18], edi
mov cl, byte [edi]
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x4172db
mov ebx, 0x30
lea edx, [esp + 0x18]
cmp cl, bl
mov ecx, edi
push 0xa
cmovne ebx, esi
call fcn.00416a20
add esp, 4
mov dword [esp + 0x24], eax
test edx, edx
jne 0x4172be
cmp eax, 0xffffffff
ja 0x4172be
mov edi, dword [esp + 0x18]
jmp 0x4172e5
push str.overflow_is_detected
push 0xb
call fcn.00415d20
mov edi, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x24], 0xffffffff
jmp 0x4172e5
mov dword [esp + 0x24], 0
mov bl, 0x20
cmp byte [edi], 0x2e
mov byte [esp + 0x34], bl
jne 0x4172f3
inc edi
mov dword [esp + 0x18], edi
mov al, byte [edi]
sub al, 0x30
cmp al, 9
ja 0x41732f
push 0xa
lea edx, [esp + 0x1c]
mov ecx, edi
call fcn.00416a20
add esp, 4
mov ecx, eax
test edx, edx
jne 0x41731c
cmp ecx, 0xffffffff
ja 0x41731c
mov edi, dword [esp + 0x18]
jmp 0x417332
push str.overflow_is_detected
push 0xb
call fcn.00415d20
mov edi, dword [esp + 0x20]
add esp, 8
or ecx, 0xffffffff
mov dl, byte [edi]
cmp dl, 0x24
jne 0x41734c
mov ecx, dword [esp + 0x24]
dec ecx
inc edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], edi
jmp 0x417270
mov esi, dword [esp + 0x1c]
inc edi
mov byte [esp + 0x2c], dl
mov dword [ebp + 8], edi
cmp dl, 0x6c
jne 0x417376
mov dl, byte [edi]
inc edi
mov byte [esp + 0x2c], dl
mov dword [ebp + 8], edi
cmp dl, 0x6c
jne 0x417376
mov dl, byte [edi]
inc edi
mov byte [esp + 0x2c], dl
mov dword [ebp + 8], edi
cmp dl, 0x25
jne 0x41739c
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
cmp esi, eax
jae 0x41738a
mov byte [esi + ebx], dl
mov edx, dword [esp + 0x3c]
inc esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], esi
jmp 0x4177f4
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
cmp eax, dword [edi + 0x104]
mov edi, dword [ebp + 8]
jae 0x4177e8
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x28]
mov eax, dword [eax + 0x100]
mov edi, dword [eax + edi*8]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x28]
mov eax, dword [eax + edi*8 + 4]
mov edi, dword [ebp + 8]
mov dword [esp + 0x3c], eax
movsx eax, dl
add eax, 0xffffffbd
cmp eax, 0x35
ja case.0x4173eb.68
movzx eax, byte [eax + 0x417834]
jmp dword [eax*4 + 0x41781c]
cmp byte [edi], 0x47
jne 0x4175c8
mov eax, dword [esp + 0x18]
lea edx, [esp + 0xc]
mov esi, dword [esp + 0x14]
inc edi
mov ebx, dword [esp + 0x10]
mov ecx, ebx
push 0
push dword [eax]
push 0x78
push 0x30
push 0
push 8
push esi
call fcn.00416fc0
mov eax, dword [esp + 0x28]
add esp, 0x1c
cmp eax, esi
jae 0x41742f
mov byte [eax + ebx], 0x2d
inc eax
mov ecx, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 4]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 4
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x28]
add esp, 0x1c
cmp eax, esi
jae 0x417462
mov byte [eax + ebx], 0x2d
inc eax
mov ecx, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 6]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 4
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x28]
add esp, 0x1c
cmp eax, esi
jae 0x417495
mov byte [eax + ebx], 0x2d
inc eax
mov ecx, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 8]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 2
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x34]
add esp, 0x1c
mov ecx, ebx
movzx eax, byte [eax + 9]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 2
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x28]
add esp, 0x1c
cmp eax, esi
jae 0x4174ea
mov byte [eax + ebx], 0x2d
inc eax
mov ecx, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0xa]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 2
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x34]
add esp, 0x1c
mov ecx, ebx
movzx eax, byte [eax + 0xb]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 2
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x34]
add esp, 0x1c
mov ecx, ebx
movzx eax, byte [eax + 0xc]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 2
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x34]
add esp, 0x1c
mov ecx, ebx
movzx eax, byte [eax + 0xd]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 2
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x34]
add esp, 0x1c
mov ecx, ebx
movzx eax, byte [eax + 0xe]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 2
push esi
lea edx, [esp + 0x28]
call fcn.00416fc0
mov eax, dword [esp + 0x34]
add esp, 0x1c
movzx eax, byte [eax + 0xf]
cdq
push edx
push eax
push 0x78
push 0x30
push 0
push 2
push esi
lea edx, [esp + 0x28]
mov ecx, ebx
call fcn.00416fc0
mov esi, dword [esp + 0x28]
add esp, 0x1c
mov dword [esp + 0x1c], esi
jmp 0x4177ec
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp esi, ecx
jae 0x4175d8
mov byte [esi + eax], 0x30
inc esi
cmp esi, ecx
jae 0x4175e1
mov byte [eax + esi], 0x78
lea eax, [esi + 1]
mov byte [esp + 0x2c], 0x78
mov dword [esp + 0xc], eax
jmp 0x4175f3
mov ecx, dword [esp + 0x14]
push dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
push dword [esp + 0x1c]
push dword [esp + 0x34]
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x38]
push ecx
jmp 0x4175ad
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
cmp esi, eax
jae 0x417625
mov ecx, dword [esp + 0x18]
mov byte [esi + ebx], cl
inc esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], esi
jmp 0x4177f0
mov edx, dword [esp + 0x18]
cmp edx, 0x7f
jbe 0x417678
cmp edx, 0x7ff
ja 0x41764d
mov ecx, 6
mov bl, 0xc0
jmp 0x41767c
cmp edx, 0xffff
ja 0x41765e
mov ecx, 0xc
mov bl, 0xe0
jmp 0x41767c
cmp edx, 0x10ffff
ja 0x41766f
mov ecx, 0x12
mov bl, 0xf0
jmp 0x41767c
mov edx, 0x3f
mov dword [esp + 0x18], edx
xor ecx, ecx
xor bl, bl
mov eax, dword [esp + 0x14]
cmp esi, eax
jae 0x417697
mov eax, edx
shr eax, cl
or al, bl
mov ebx, dword [esp + 0x10]
mov byte [esi + ebx], al
mov eax, dword [esp + 0x14]
jmp 0x41769b
mov ebx, dword [esp + 0x10]
inc esi
sub ecx, 6
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], esi
js 0x4177f0
mov edi, esi
mov dword [esp + 0x28], esi
mov edx, esi
cmp edi, eax
jae 0x4176ce
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
shr eax, cl
and al, 0x3f
or al, 0x80
mov byte [esi + ebx], al
mov eax, dword [esp + 0x14]
sub ecx, 6
lea esi, [edx + 1]
mov dword [esp + 0xc], esi
mov edi, esi
mov edx, esi
mov dword [esp + 0x28], esi
jns 0x4176b5
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], esi
jmp 0x4177f0
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x28], str._null_
test eax, eax
mov edi, dword [esp + 0x28]
cmovne edi, eax
mov dword [esp + 0x28], edi
mov edi, dword [ebp + 8]
test ecx, ecx
je 0x41771f
mov eax, dword [esp + 0x28]
cmp byte [eax + edx], 0
je 0x41771f
inc edx
cmp edx, ecx
jb 0x417714
mov eax, dword [esp + 0x24]
xor ecx, ecx
sub eax, edx
cmp edx, dword [esp + 0x24]
cmovb ecx, eax
cmp byte [esp + 0x30], 0
mov dword [esp + 0x24], ecx
jne 0x417762
test ecx, ecx
je 0x41775d
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
dec ecx
cmp esi, eax
jae 0x41774d
mov byte [esi + edi], bl
inc esi
mov dword [esp + 0xc], esi
test ecx, ecx
jne 0x417745
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], esi
dec ecx
mov dword [esp + 0x24], ecx
test edx, edx
je 0x417799
sub dword [esp + 0x28], esi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
cmp esi, eax
jae 0x417784
mov al, byte [ecx + esi]
mov byte [esi + edi], al
mov eax, dword [esp + 0x14]
inc esi
mov dword [esp + 0xc], esi
sub edx, 1
jne 0x417776
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
cmp byte [esp + 0x30], 0
je 0x4177e8
mov eax, dword [esp + 0x14]
test ecx, ecx
je 0x4177c8
mov edi, dword [esp + 0x10]
nop dword [eax]
dec ecx
cmp esi, eax
jae 0x4177b8
mov byte [esi + edi], bl
inc esi
mov dword [esp + 0xc], esi
test ecx, ecx
jne 0x4177b0
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], esi
mov ebx, dword [esp + 0x10]
jmp 0x4177f0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
cmp esi, eax
jae 0x4177dd
mov byte [esi + ebx], dl
inc esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], esi
jmp 0x4177f0
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov cl, byte [edi]
test cl, cl
jne 0x417240
cmp esi, eax
jae 0x41780f
mov byte [esi + ebx], 0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebx + eax], 0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret