Function at 0x4046e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x450bb9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa68
push ebx
push ebp
xor ebx, ebx
push esi
mov esi, ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0xa7c], 1
mov eax, dword [0x4f3c44]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
push 0x4c99bc
lea ecx, [esp + 0x24]
mov byte [esp + 0xa80], 7
call fcn.00436c17
lea eax, [esp + 0x5c]
mov byte [esp + 0xa7c], 8
push eax
call fcn.0041a58f
mov word [esp + 0x5c], bx
push 1
lea ecx, [esp + 0x30]
push 0x4c99b8
push ecx
mov byte [esp + 0xa88], 9
call fcn.004300f9
add esp, 0xc
add esi, 0x404
mov ecx, esi
push ebx
call fcn.00403b80
push ebx
mov ecx, esi
call fcn.00403b40
push ebx
mov ecx, esi
call fcn.00403ba0
lea edx, [esp + 0xa8c]
lea eax, [esp + 0x14]
push edx
push str.00FF
push eax
call fcn.00436eb2
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x44]
push ecx
push eax
push edx
mov byte [esp + 0xa88], 0xa
call fcn.00436dd8
lea ecx, [esp + 0xa88]
lea edx, [esp + 0x40]
push ecx
push eax
push edx
mov byte [esp + 0xa88], 0xb
call fcn.00436dd8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xa80], 0xc
call fcn.00436ce2
lea ecx, [esp + 0x40]
mov byte [esp + 0xa7c], 0xb
call fcn.00436ba9
lea ecx, [esp + 0x44]
mov byte [esp + 0xa7c], 0xa
call fcn.00436ba9
lea ecx, [esp + 0x14]
mov byte [esp + 0xa7c], 9
call fcn.00436ba9
lea eax, [esp + 0x74]
lea ecx, [esp + 0x10]
push eax
push ebx
call fcn.00436fd9
push eax
call fcn.004109b0
add esp, 8
lea ecx, [esp + 0x74]
push 0xa
push 0xd
push ecx
push ebx
lea ecx, [esp + 0x20]
call fcn.00436fd9
push eax
push 5
lea edx, [esp + 0x3c]
push str._c_s_s_c_c
push edx
call fcn.004300f9
add esp, 0x1c
lea eax, [esp + 0x28]
lea ecx, [esp + 0x30]
mov word [esp + 0x30], bx
push eax
call fcn.0041a32a
lea ecx, [esp + 0x30]
mov byte [esp + 0xa7c], 0xd
push ecx
mov ecx, esi
call fcn.00403c40
mov ebp, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x30]
push edx
mov byte [esp + 0xa80], 9
call ebp
mov eax, dword [0xe58900]
mov word [eax + 0xf4], bx
mov eax, dword [0xe58900]
mov ecx, esi
inc word [eax + 0xf4]
call fcn.00403b60
cmp ax, word [esp + 0xa90]
jl 0x4048a8
lea ecx, [esp + 0x30]
push edi
push ecx
mov ecx, esi
call fcn.00403c60
mov edx, dword [eax]
mov dword [esp + 0x50], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x50]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x5c], edx
lea ecx, [esp + 0x64]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x60], eax
call fcn.0041a310
lea ecx, [esp + 0x60]
call fcn.0041a517
mov edi, eax
xor eax, eax
cmp edi, ebx
mov dword [esp + 0x20], eax
jle 0x404933
lea edx, [esp + eax + 0x278]
lea eax, [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x68]
call fcn.0041a575
mov eax, dword [esp + 0x20]
inc eax
cmp eax, edi
mov dword [esp + 0x20], eax
jl 0x404910
xor eax, eax
cmp edi, ebx
mov dword [esp + 0x20], eax
jle 0x404980
mov cl, byte [esp + eax + 0x278]
lea eax, [esp + 0x1c]
mov byte [esp + 0x18], cl
mov edx, dword [esp + 0x18]
and edx, 0xff
push edx
push 0x4c99a0
push eax
call fcn.004300f9
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00436fc1
mov eax, dword [esp + 0x20]
inc eax
cmp eax, edi
mov dword [esp + 0x20], eax
jl 0x40493d
mov edx, dword [esp + 0xa90]
push 0x4c999c
push edx
call fcn.0042087f
add esp, 8
test eax, eax
pop edi
je 0x404ad9
mov eax, dword [esp + 0xa8c]
push 0x4c9998
push eax
call fcn.0042087f
add esp, 8
test eax, eax
je 0x404ad9
mov ecx, dword [esp + 0xa8c]
push 0x4c9994
push ecx
call fcn.0042087f
add esp, 8
test eax, eax
je 0x4049f1
mov edx, dword [esp + 0xa8c]
push 0x4c9990
push edx
call fcn.0042087f
add esp, 8
test eax, eax
jne 0x404b3e
push 2
lea eax, [esp + 0x14]
push str._c00FF
push eax
call fcn.004300f9
add esp, 0xc
lea ecx, [esp + 0x14]
push 5
push ebx
push ecx
lea ecx, [esp + 0x30]
call fcn.0042fc22
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
push edx
push eax
call fcn.0042087f
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
sete byte [esp + 0xf]
call fcn.00436ba9
cmp byte [esp + 0xf], bl
je 0x404b24
push 6
lea eax, [esp + 0x1c]
push str._c00FF
push eax
call fcn.004300f9
add esp, 0xc
lea ecx, [esp + 0x18]
mov word [esp + 0x30], bx
push ecx
lea ecx, [esp + 0x34]
call fcn.0041a32a
lea edx, [esp + 0x30]
mov ecx, esi
push edx
mov byte [esp + 0xa80], 0xe
call fcn.00403c40
lea eax, [esp + 0x30]
mov byte [esp + 0xa7c], 9
push eax
call ebp
movsx ecx, word [esp + 0xa90]
sub ecx, 6
lea edx, [esp + 0x14]
push ecx
push 5
push edx
lea ecx, [esp + 0x30]
call fcn.0042fc22
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xa80], 0xf
call fcn.00436ce2
lea ecx, [esp + 0x14]
mov byte [esp + 0xa7c], 9
call fcn.00436ba9
lea eax, [esp + 0x18]
lea ecx, [esp + 0x20]
push eax
call fcn.00436ce2
jmp 0x404b3e
push 6
lea ecx, [esp + 0x14]
push str._c00FF
push ecx
call fcn.004300f9
add esp, 0xc
lea edx, [esp + 0x14]
lea ecx, [esp + 0x24]
push 5
push ebx
push edx
call fcn.0042fc22
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
push ecx
push eax
call fcn.0042087f
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
setne byte [esp + 0xf]
call fcn.00436ba9
cmp byte [esp + 0xf], bl
je 0x404b3e
mov eax, dword [0xe58900]
push 0x4c9984
lea ecx, [esp + 0x24]
inc word [eax + 0xf6]
call fcn.00436d32
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.00437028
push 0xffffffffffffffff
lea ecx, [esp + 0x2c]
call fcn.00437028
mov esi, dword [esp + 0xa84]
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call fcn.0043691e
mov dword [esp + 0x48], 1
lea eax, [esp + 0x5c]
push eax
call ebp
lea ecx, [esp + 0x20]
mov byte [esp + 0xa7c], 7
call fcn.00436ba9
lea ecx, [esp + 0x24]
mov byte [esp + 0xa7c], 6
call fcn.00436ba9
lea ecx, [esp + 0x18]
mov byte [esp + 0xa7c], 5
call fcn.00436ba9
lea ecx, [esp + 0x2c]
mov byte [esp + 0xa7c], 4
call fcn.00436ba9
lea ecx, [esp + 0x28]
mov byte [esp + 0xa7c], 3
call fcn.00436ba9
lea ecx, [esp + 0x10]
mov byte [esp + 0xa7c], 2
call fcn.00436ba9
lea ecx, [esp + 0xa88]
mov byte [esp + 0xa7c], 1
call fcn.00436ba9
lea ecx, [esp + 0xa8c]
mov byte [esp + 0xa7c], bl
call fcn.00436ba9
mov ecx, dword [esp + 0xa74]
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xa74
ret 0x10