Function at 0x406600
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
push ebx
push esi
push edi
lea edi, [ebp - 0xc0]
mov ecx, 0x30
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x80], eax
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0xc], edx
mov word [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 8], 0
jmp 0x40666f
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 4]
jge 0x4066a1
mov edx, dword [ebp + 0x10]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x20
je 0x40669f
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
add edx, dword [ebp - 0x10]
mov al, byte [edx]
mov byte [ecx], al
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x406666
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x10], 0
jmp 0x4066ba
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
test ecx, ecx
je 0x4066e2
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x2c
jne 0x4066e0
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4066b1
mov byte [ebp - 0x44], 0x41
mov byte [ebp - 0x43], 0x42
mov byte [ebp - 0x42], 0x43
mov byte [ebp - 0x41], 0x44
mov byte [ebp - 0x40], 0x45
mov byte [ebp - 0x3f], 0x46
mov byte [ebp - 0x3e], 0x47
mov byte [ebp - 0x3d], 0x48
mov byte [ebp - 0x3c], 0x61
mov byte [ebp - 0x3b], 0x62
mov byte [ebp - 0x3a], 0x63
mov byte [ebp - 0x39], 0x64
mov byte [ebp - 0x38], 0x65
mov byte [ebp - 0x37], 0x66
mov byte [ebp - 0x36], 0x67
mov byte [ebp - 0x35], 0x68
mov byte [ebp - 0x34], 0x2b
mov byte [ebp - 0x33], 0x2d
mov byte [ebp - 0x32], 0x3c
mov byte [ebp - 0x31], 0x2a
mov byte [ebp - 0x30], 0x5e
mov byte [ebp - 0x2f], 0x7c
mov byte [ebp - 0x2e], 0x3f
mov byte [ebp - 0x2d], 0x3d
mov byte [ebp - 0x2c], 0x26
mov byte [ebp - 0x2b], 0x31
mov byte [ebp - 0x2a], 0x32
mov byte [ebp - 0x29], 0x33
mov byte [ebp - 0x28], 0x34
mov byte [ebp - 0x27], 0x35
mov byte [ebp - 0x26], 0x36
mov byte [ebp - 0x25], 0x37
mov byte [ebp - 0x24], 0x38
mov byte [ebp - 0x23], 0x39
mov byte [ebp - 0x22], 0x30
mov byte [ebp - 0x21], 0x2c
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x10], 0
jmp 0x40678b
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 8]
jge 0x40681c
mov dword [ebp - 0x14], 0
jmp 0x4067a9
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x24
jae 0x4067cf
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [ebp + ecx - 0x44]
cmp eax, edx
jne 0x4067cd
mov dword [ebp - 0x48], 1
jmp 0x4067a0
cmp dword [ebp - 0x48], 0
jne 0x4067e0
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x4067e7
mov dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0x61
jl 0x406817
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x68
jg 0x406817
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
mov al, byte [edx]
sub al, 0x20
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
mov byte [ecx], al
jmp 0x406782
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x5c], 0x2b
mov byte [ebp - 0x5b], 0x2d
mov byte [ebp - 0x5a], 0x3c
mov byte [ebp - 0x59], 0x2a
mov byte [ebp - 0x58], 0x5e
mov byte [ebp - 0x57], 0x26
mov byte [ebp - 0x56], 0x7c
mov byte [ebp - 0x55], 0x3f
cmp dword [ebp - 8], 5
jne 0x406857
mov dword [ebp - 0x54], 1
cmp dword [ebp - 8], 6
jne 0x406864
xor eax, eax
jmp 0x406d6e
mov dword [ebp - 0x64], 0
mov word [ebp - 0x18], 0
mov edx, dword [ebp + 0xc]
and edx, 0xffff
mov eax, dword [ebp - 0x64]
add eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x4c], 1
jmp 0x40689b
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 8]
jge 0x406d69
mov eax, dword [ebp - 0x10]
add eax, 5
cmp eax, dword [ebp - 8]
jl 0x4068b9
mov dword [ebp - 0x54], 1
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0x2c
jne 0x4068d1
mov dword [ebp - 0x4c], 1
jmp 0x406892
cmp dword [ebp - 0x4c], 1
jne 0x406934
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x41
jl 0x4068f5
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x48
jle 0x4068fc
xor eax, eax
jmp 0x406d6e
mov word [ebp - 0x60], 0
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
sub edx, 0x41
mov word [ebp - 0x60], dx
mov eax, dword [ebp - 0x60]
and eax, 0xffff
shl eax, 0xd
mov word [ebp - 0x60], ax
mov cx, word [ebp - 0x18]
add cx, word [ebp - 0x60]
mov word [ebp - 0x18], cx
mov word [ebp - 0x60], 0
cmp dword [ebp - 0x4c], 2
jne 0x406950
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x3d
je 0x406950
xor eax, eax
jmp 0x406d6e
cmp dword [ebp - 0x4c], 3
jne 0x4069b4
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0x41
jl 0x406974
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x48
jle 0x40697b
xor eax, eax
jmp 0x406d6e
mov word [ebp - 0x60], 0
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
sub eax, 0x41
mov word [ebp - 0x60], ax
mov ecx, dword [ebp - 0x60]
and ecx, 0xffff
shl ecx, 0xa
mov word [ebp - 0x60], cx
mov dx, word [ebp - 0x18]
add dx, word [ebp - 0x60]
mov word [ebp - 0x18], dx
mov word [ebp - 0x60], 0
cmp dword [ebp - 0x4c], 4
jne 0x406a6d
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x14], 0
jmp 0x4069d7
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 8
jae 0x4069fd
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x5c]
cmp edx, ecx
jne 0x4069fb
mov dword [ebp - 0x68], 1
jmp 0x4069ce
cmp dword [ebp - 0x68], 0
jne 0x406a0a
xor eax, eax
jmp 0x406d6e
mov dword [ebp - 0x14], 0
jmp 0x406a1c
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 7
jge 0x406a3d
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0x14]
xor eax, eax
mov al, byte [ebp + edx - 0x5c]
cmp ecx, eax
jne 0x406a3b
jmp 0x406a3d
jmp 0x406a13
mov word [ebp - 0x60], 0
mov cx, word [ebp - 0x14]
mov word [ebp - 0x60], cx
mov edx, dword [ebp - 0x60]
and edx, 0xffff
shl edx, 7
mov word [ebp - 0x60], dx
mov ax, word [ebp - 0x18]
add ax, word [ebp - 0x60]
mov word [ebp - 0x18], ax
mov word [ebp - 0x60], 0
cmp dword [ebp - 0x4c], 5
jne 0x406c61
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x14], 0
jmp 0x406a9e
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 8
jae 0x406ae3
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [ebp + ecx - 0x5c]
cmp eax, edx
jne 0x406ac2
mov dword [ebp - 0x74], 1
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 1]
mov edx, dword [ebp - 0x14]
xor eax, eax
mov al, byte [ebp + edx - 0x5c]
cmp ecx, eax
jne 0x406ae1
mov dword [ebp - 0x74], 1
jmp 0x406a95
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0x41
jl 0x406b46
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x48
jg 0x406b46
mov dword [ebp - 0x70], 0
mov word [ebp - 0x60], 0
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
sub eax, 0x41
mov word [ebp - 0x60], ax
mov ecx, dword [ebp - 0x60]
and ecx, 0xffff
shl ecx, 3
mov word [ebp - 0x60], cx
mov dx, word [ebp - 0x18]
add dx, word [ebp - 0x60]
mov word [ebp - 0x18], dx
mov word [ebp - 0x60], 0
jmp 0x406c61
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x3d
jne 0x406b5c
xor eax, eax
jmp 0x406d6e
cmp dword [ebp - 0x74], 0
je 0x406b69
xor eax, eax
jmp 0x406d6e
mov dword [ebp - 0x70], 1
cmp dword [ebp - 0x54], 0
jne 0x406b7c
cmp dword [ebp - 0x50], 0
je 0x406b83
xor eax, eax
jmp 0x406d6e
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 1]
cmp eax, 0x2c
jne 0x406bf6
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0x30
jl 0x406bb1
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x39
jle 0x406bb8
xor eax, eax
jmp 0x406d6e
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx]
sub eax, 0x30
mov dword [ebp - 0x6c], eax
mov word [ebp - 0x60], 0
mov cx, word [ebp - 0x6c]
mov word [ebp - 0x60], cx
mov dx, word [ebp - 0x60]
add dx, 0x40
mov word [ebp - 0x60], dx
mov ax, word [ebp - 0x18]
add ax, word [ebp - 0x60]
mov word [ebp - 0x18], ax
mov word [ebp - 0x60], 0
jmp 0x406c61
mov dword [ebp - 0x6c], 0
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx]
sub edx, 0x30
imul edx, edx, 0xa
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 1]
lea edx, [edx + ecx - 0x30]
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x6c], 0x3f
jle 0x406c2c
xor eax, eax
jmp 0x406d6e
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov word [ebp - 0x60], 0
mov cx, word [ebp - 0x6c]
mov word [ebp - 0x60], cx
mov dx, word [ebp - 0x60]
add dx, 0x40
mov word [ebp - 0x60], dx
mov ax, word [ebp - 0x18]
add ax, word [ebp - 0x60]
mov word [ebp - 0x18], ax
mov word [ebp - 0x60], 0
cmp dword [ebp - 0x4c], 5
jne 0x406d5b
cmp dword [ebp - 0x50], 0
je 0x406c8f
cmp dword [ebp - 0x54], 0
je 0x406c8f
mov word [ebp - 0x60], 5
mov cx, word [ebp - 0x18]
add cx, word [ebp - 0x60]
mov word [ebp - 0x18], cx
mov word [ebp - 0x60], 0
cmp dword [ebp - 0x50], 0
je 0x406cb3
cmp dword [ebp - 0x54], 0
jne 0x406cb3
mov word [ebp - 0x60], 1
mov dx, word [ebp - 0x18]
add dx, word [ebp - 0x60]
mov word [ebp - 0x18], dx
mov word [ebp - 0x60], 0
cmp dword [ebp - 0x54], 0
je 0x406cd7
cmp dword [ebp - 0x50], 0
jne 0x406cd7
mov word [ebp - 0x60], 4
mov ax, word [ebp - 0x18]
add ax, word [ebp - 0x60]
mov word [ebp - 0x18], ax
mov word [ebp - 0x60], 0
push 2
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x78]
push edx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov al, byte [ebp - 0x78]
mov byte [ebp - 0x76], al
mov cl, byte [ebp - 0x77]
mov byte [ebp - 0x78], cl
mov dl, byte [ebp - 0x76]
mov byte [ebp - 0x77], dl
push 2
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x18]
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov dx, word [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004047d0
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x406d2c
xor eax, eax
jmp 0x406d6e
mov edx, dword [ebp - 0x64]
add edx, 1
mov dword [ebp - 0x64], edx
mov word [ebp - 0x18], 0
mov eax, dword [ebp + 0xc]
and eax, 0xffff
mov ecx, dword [ebp - 0x64]
add ecx, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x50], 0
jmp 0x406d64
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
jmp 0x406892
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0xc0
cmp ebp, esp
call sub.MSVCRT.dll__chkesp
mov esp, ebp
pop ebp
ret