Function at 0x40f28e
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], eax
mov ecx, 0x4006
mov dword [esp + 0x10], edi
mov esi, ebx
mov byte [esp + 0xe], al
call fcn.0040cbc0
mov dword [esp + 0x14], eax
test eax, eax
je 0x420ea8
mov al, byte [0x4397cd]
mov byte [esp + 0xf], al
push 0x2f
pop edx
mov ecx, esi
call fcn.0040f66b
mov esi, eax
test esi, esi
je 0x421226
movzx eax, word [esi + 2]
push eax
call dword [sym.imp.msvcrt.dll_towlower]
pop ecx
movzx ecx, ax
test cx, cx
je 0x421226
cmp ecx, 0x3f
je 0x421174
cmp ecx, 0x71
je 0x420eb9
cmp ecx, 0x63
je 0x40f379
cmp ecx, 0x6b
je 0x4210e8
cmp ecx, 0x72
je 0x40f379
cmp ecx, 0x75
je 0x420ec8
cmp ecx, 0x61
je 0x420ed4
cmp ecx, 0x78
je 0x40f4c1
cmp ecx, 0x79
je 0x420ee0
cmp ecx, 0x65
je 0x420eec
cmp ecx, 0x64
jne 0x40f621
mov edx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
mov eax, esi
mov ecx, esi
sub eax, ebx
sar eax, 1
sub edx, eax
call fcn.0040dfe0
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
jmp 0x40f2d0
mov dword [0x4397d0], 1
lea ebx, [esi + 4]
xor edi, edi
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x40f38d
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 2]
lea ecx, [eax + eax]
mov dword [esp + 0x20], eax
call fcn.0040cbc0
mov edi, eax
test edi, edi
je 0x4210f7
mov edx, dword [esp + 0x20]
mov ecx, edi
push ebx
call fcn.0040dfe0
xor eax, eax
mov ecx, edi
mov word [esi], ax
call fcn.0040922a
cmp byte [esp + 0xe], 0
mov esi, eax
push 0x22
pop ebx
jne 0x40f446
cmp word [esi], bx
jne 0x40f4e3
mov edi, 0x4000
mov ecx, edi
call fcn.0040cbc0
mov ebx, eax
mov ecx, edi
mov dword [esp + 0x18], ebx
call fcn.0040cbc0
mov dword [esp + 0x1c], eax
test ebx, ebx
je 0x421160
test eax, eax
je 0x421160
xor eax, eax
push 0x48
push eax
lea eax, [esp + 0x30]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [esi + 2]
push 0x22
pop edi
mov edx, edi
call fcn.0040f66b
test eax, eax
je 0x40f446
lea ebx, [eax + 2]
mov edx, edi
mov ecx, ebx
call fcn.0040f66b
test eax, eax
je 0x40f4e9
mov ebx, dword [esp + 0x14]
push 0x22
pop eax
cmp word [esi], ax
jne 0x40f48d
add esi, 2
xor edx, edx
mov edi, esi
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
cmp ax, dx
jne 0x40f45c
push 0x22
sub edi, ecx
mov ecx, esi
pop eax
mov edx, eax
sar edi, 1
call fcn.0040f211
test eax, eax
je 0x40f48d
xor ecx, ecx
mov edx, edi
mov word [eax], cx
add eax, 2
push eax
mov ecx, esi
call fcn.0040ebf0
mov ecx, esi
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x40f494
sub ecx, edx
sar ecx, 1
push 0xa
pop eax
mov word [esi + ecx*2], ax
mov eax, dword [esp + 0x10]
mov dword [eax + 8], esi
mov ecx, ebx
call fcn.0040cb50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [0x4397cd], 1
mov edx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
mov eax, esi
mov ecx, esi
sub eax, ebx
sar eax, 1
sub edx, eax
call fcn.0040dfe0
jmp 0x40f2d0
mov ebx, dword [esp + 0x14]
jmp 0x40f48d
movzx eax, word [ebx]
mov ecx, esi
mov dword [esp + 0x20], eax
xor eax, eax
push 0x26
pop edx
mov word [ebx], ax
call fcn.0040f66b
test eax, eax
jne 0x421154
push 0x3c
pop edx
mov ecx, esi
call fcn.0040f66b
test eax, eax
jne 0x421154
push 0x3e
pop edx
mov ecx, esi
call fcn.0040f66b
test eax, eax
jne 0x421154
push 0x40
pop edx
mov ecx, esi
call fcn.0040f66b
test eax, eax
jne 0x421154
push 0x5e
pop edx
mov ecx, esi
call fcn.0040f66b
test eax, eax
jne 0x421154
push 0x7c
pop edx
mov ecx, esi
call fcn.0040f66b
test eax, eax
jne 0x421154
movzx eax, word [esi]
mov edi, esi
test ax, ax
je 0x421154
mov ecx, eax
push ecx
call dword [sym.imp.msvcrt.dll_iswspace]
pop ecx
test eax, eax
jne 0x40f58f
add edi, 2
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x40f571
jmp 0x421154
mov eax, dword [esp + 0x18]
mov ecx, esi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x5c], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x24]
jne 0x40f5aa
sub ecx, edx
mov eax, 0x2000
sar ecx, 1
cmp ecx, eax
jae 0x421105
mov ecx, dword [esp + 0x18]
mov edx, eax
push esi
call fcn.0040dfe0
push 0x402454
mov edx, 0x2000
mov ecx, edi
call fcn.0040dfe0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x28]
mov word [ebx], ax
mov ebx, dword [esp + 0x14]
mov edx, ebx
push 0x2003
call fcn.0040e050
mov ecx, dword [esp + 0x18]
mov edi, eax
call fcn.0040cb50
mov ecx, dword [esp + 0x1c]
call fcn.0040cb50
test edi, edi
je 0x40f44a
jmp 0x421129
cmp ecx, 0x66
je 0x420f46
cmp ecx, 0x76
je 0x420fa3
cmp ecx, 0x74
je 0x42100a
mov edx, dword [ebp + 0xc]
lea edi, [esi + 4]
mov eax, esi
sub eax, ebx
sar eax, 1
sub edx, eax
cmp ecx, 0x73
jne 0x40f654
mov byte [esp + 0xe], 1
push edi
mov ecx, esi
call fcn.0040dfe0
mov edi, dword [esp + 0x10]
jmp 0x40f2d0
xor eax, eax
push eax
call fcn.00411c10
test eax, eax
je 0x420ea8
jmp 0x42111e
mov dword [0x44c5ec], 1
jmp 0x40f4c8
mov byte [0x44c128], 1
jmp 0x40f4c8
xor eax, eax
mov byte [0x44c128], al
jmp 0x40f4c8
xor eax, eax
mov byte [0x4397cd], al
jmp 0x40f4c8
mov edi, dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
mov ecx, esi
sar eax, 1
sub edi, eax
lea eax, [esi + 4]
push eax
mov edx, edi
call fcn.0040dfe0
push 0x3a
pop eax
cmp word [esi], ax
jne 0x420f3a
push 3
lea eax, [esi + 2]
push 0x40400c
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x420f3a
mov byte [0x4397cd], al
jmp 0x420f32
xor eax, eax
mov byte [0x4397cc], al
lea eax, [esi + 8]
jmp 0x421002
mov byte [0x4397cd], 1
jmp 0x420fe6
mov edi, dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
mov ecx, esi
sar eax, 1
sub edi, eax
lea eax, [esi + 4]
push eax
mov edx, edi
call fcn.0040dfe0
push 0x3a
pop eax
cmp word [esi], ax
jne 0x420f8f
push 3
lea eax, [esi + 2]
push 0x40400c
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x420f8f
push 0x20
pop eax
mov word [0x4310d0], ax
mov word [0x4310cc], ax
jmp 0x420f32
push 6
pop eax
push 4
mov word [0x4310d0], ax
pop eax
mov word [0x4310cc], ax
jmp 0x420fe6
mov edi, dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
mov ecx, esi
sar eax, 1
sub edi, eax
lea eax, [esi + 4]
push eax
mov edx, edi
call fcn.0040dfe0
push 0x3a
pop eax
cmp word [esi], ax
jne 0x420fdf
push 3
lea eax, [esi + 2]
push 0x40400c
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x420f2b
mov byte [0x4397cc], 1
push 3
push 0x404014
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40f65c
lea eax, [esi + 6]
push eax
mov edx, edi
jmp 0x40f655
cmp byte [0x4397cd], 0
je 0x40f63c
push 0x3a
lea edi, [esi + 4]
pop eax
cmp word [edi], ax
jne 0x4210d8
movzx eax, word [esi + 6]
push eax
call dword [sym.imp.msvcrt.dll_iswxdigit]
pop ecx
test eax, eax
je 0x4210d8
movzx eax, word [esi + 8]
push eax
call dword [sym.imp.msvcrt.dll_iswxdigit]
pop ecx
test eax, eax
je 0x4210d8
movzx eax, word [esi + 0xa]
push eax
call dword [sym.imp.msvcrt.dll_iswxdigit]
pop ecx
test eax, eax
jne 0x4210d8
movzx eax, word [esi + 6]
push eax
call dword [sym.imp.msvcrt.dll_iswdigit]
pop ecx
movzx ecx, word [esi + 6]
test eax, eax
je 0x421077
lea eax, [ecx - 0x30]
jmp 0x421085
push ecx
call dword [sym.imp.msvcrt.dll_towlower]
pop ecx
push 0x57
pop ecx
sub ax, cx
movzx eax, ax
shl eax, 4
mov word [0x4397dc], ax
movzx eax, word [esi + 8]
push eax
call dword [sym.imp.msvcrt.dll_iswdigit]
pop ecx
movzx ecx, word [esi + 8]
test eax, eax
je 0x4210aa
lea eax, [ecx - 0x30]
jmp 0x4210b8
push ecx
call dword [sym.imp.msvcrt.dll_towlower]
pop ecx
push 0x57
pop ecx
sub ax, cx
mov edx, dword [ebp + 0xc]
mov ecx, edi
movzx eax, ax
or word [0x4397dc], ax
lea eax, [esi + 0xa]
push eax
mov eax, esi
sub eax, ebx
sar eax, 1
sub edx, eax
call fcn.0040dfe0
mov edx, dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
sar eax, 1
sub edx, eax
jmp 0x40f654
mov dword [0x44c124], 1
jmp 0x40f383
xor eax, eax
push eax
call fcn.00411c10
test eax, eax
je 0x4210f7
jmp 0x42111e
xor ebx, ebx
push ebx
push 0x400023df
call fcn.004128ff
pop ecx
pop ecx
push ebx
call fcn.00411c10
test eax, eax
je 0x421114
push 1
jmp 0x421123
push esi
call dword [sym.imp.msvcrt.dll_exit]
cmp edi, 3
jne 0x40f48d
xor ebx, ebx
push ebx
push dword [0x439820]
call fcn.004128ff
mov esi, dword [0x439820]
pop ecx
pop ecx
push ebx
call fcn.00411c10
test eax, eax
je 0x421148
jmp 0x421122
mov eax, dword [esp + 0x20]
mov word [ebx], ax
jmp 0x40f446
mov esi, dword [0x439820]
xor eax, eax
push eax
call fcn.00411c10
test eax, eax
je 0x421166
jmp 0x421122
call fcn.0042cf6e
xor ebx, ebx
cmp dword [0x435614], ebx
jne 0x42120b
push ebx
push 0x40002399
call fcn.004156ed
pop ecx
pop ecx
cmp dword [0x435614], ebx
jne 0x42120b
push ebx
push 0x4000239a
call fcn.004156ed
pop ecx
pop ecx
cmp byte [esp + 0xf], bl
jne 0x4211b7
cmp byte [0x4397cd], bl
je 0x42120b
cmp dword [0x435614], ebx
jne 0x42120b
push ebx
push 0x4000239b
call fcn.004156ed
pop ecx
pop ecx
cmp dword [0x435614], ebx
jne 0x42120b
push ebx
push 0x4000239c
call fcn.004156ed
pop ecx
pop ecx
cmp dword [0x435614], ebx
jne 0x42120b
push ebx
push 0x4000239d
call fcn.004156ed
pop ecx
pop ecx
cmp dword [0x435614], ebx
jne 0x42120b
push ebx
push 0x4000239e
call fcn.004156ed
pop ecx
pop ecx
mov byte [0x44c133], bl
mov dword [0x44c5dc], ebx
push ebx
call fcn.00411c10
test eax, eax
je 0x421217
jmp 0x42111e
mov ebx, dword [esp + 0x14]
jmp 0x40f4b1