Function at 0x46a201
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x348
lea eax, [esp + 0x1d8]
mov dword [esp + 0x144], 0
push 0x168
push 0
push eax
lea ebx, [esp + 0x154]
call fcn.0048ab30
push 0x84
push 0
push ebx
call fcn.0048ab30
push ebx
call fcn.00471efd
mov dword [esp + 0x1f4], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x200], eax
push eax
call fcn.0048ab98
add esp, 0x20
test eax, eax
je 0x46a287
mov eax, dword [esp + 0x144]
test eax, eax
je 0x46a4f9
mov eax, dword [esp + 0x144]
push eax
call fcn.0046ac37
jmp 0x46a354
mov eax, dword [esp + 0x1d8]
mov dword [eax], 0x41a190
push 0x168
push 0x3e
lea ebx, [esp + 0x1e0]
push ebx
call fcn.00471f60
mov dword [esp + 0x20c], 2
mov edx, dword [esp + 0x368]
mov eax, dword [edx + 4]
mov dword [esp + 0x200], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x208], 3
mov dword [esp + 0x204], eax
push ebx
call fcn.00472802
add esp, 0x10
cmp dword [esp + 0x364], 0
js 0x46a2fe
push 1
push dword [esp + 0x368]
push ebx
call fcn.00472399
add esp, 0xc
mov ebp, dword [esp + 0x35c]
cmp dword [ebp + 0x1830], 0
je 0x46a315
push ebx
call fcn.00472a05
pop edx
push dword [esp + 0x360]
push ebx
call fcn.0046a1c5
mov eax, dword [esp + 0x204]
imul eax, dword [esp + 0x1fc]
push eax
push 1
call fcn.0046ac0c
mov dword [esp + 0x154], eax
add esp, 0x10
mov eax, dword [esp + 0x144]
test eax, eax
jne 0x46a35a
push ebx
call fcn.00472034
pop eax
jmp 0x46a4f9
mov eax, dword [esp + 0x144]
mov dword [esp], eax
push 1
push ebx
call fcn.00472bb4
mov dword [esp + 0xc], 0x41455243
lea edx, [esp + 0xc]
xor eax, eax
mov dword [esp + 0x10], 0x3a524f54
mov edi, edx
cld
or ecx, 0xffffffff
mov dword [esp + 0x14], 0x6e695720
mov dword [esp + 0x18], 0x73776f64
mov byte [esp + 0x1c], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push 0xfe
push ebx
call fcn.00472142
add esp, 0x18
mov eax, dword [esp + 0x35c]
cmp dword [eax + 0x1c38], 0
je 0x46a440
xor edi, edi
cmp edi, dword [eax + 8]
jge 0x46a4d6
mov edx, dword [esp + 0x35c]
xor esi, esi
xor ebx, ebx
cmp esi, dword [edx + 4]
jge 0x46a41f
mov ebp, dword [esp + 0x35c]
mov edx, dword [esp + 0x144]
mov eax, dword [ebp + 0x1c3c]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + esi*4]
movzx eax, byte [eax + esi*4 + 2]
inc esi
mov byte [ebx + edx], al
mov edx, dword [esp + 0x144]
inc ebx
movzx eax, ch
mov byte [ebx + edx], al
mov eax, dword [esp + 0x144]
inc ebx
mov byte [ebx + eax], cl
inc ebx
cmp esi, dword [ebp + 4]
jmp 0x46a3db
push 1
inc edi
lea eax, [esp + 4]
push eax
lea eax, [esp + 0x1e0]
push eax
call fcn.00472c2b
add esp, 0xc
mov eax, dword [esp + 0x35c]
jmp 0x46a3c4
mov edx, dword [esp + 0x35c]
xor edi, edi
cmp edi, dword [edx + 8]
jge 0x46a4d6
mov ebp, dword [esp + 0x35c]
xor ebx, ebx
xor esi, esi
cmp esi, dword [ebp + 4]
jge 0x46a4af
mov edx, dword [esp + 0x35c]
mov ebp, dword [esp + 0x35c]
mov eax, dword [edx]
mov edx, dword [esp + 0x144]
mov eax, dword [eax + edi*4]
movzx ecx, byte [eax + esi]
inc esi
mov eax, dword [ebp + ecx*4 + 0x10]
mov byte [ebx + edx], al
mov edx, dword [esp + 0x144]
inc ebx
mov eax, dword [ebp + ecx*4 + 0x410]
mov byte [ebx + edx], al
mov edx, dword [esp + 0x144]
inc ebx
mov eax, dword [ebp + ecx*4 + 0x810]
mov byte [ebx + edx], al
inc ebx
jmp 0x46a45d
push 1
inc edi
lea eax, [esp + 4]
push eax
lea eax, [esp + 0x1e0]
push eax
call fcn.00472c2b
add esp, 0xc
mov eax, dword [esp + 0x35c]
cmp edi, dword [eax + 8]
jmp 0x46a44c
lea ebx, [esp + 0x1d8]
push ebx
call fcn.00472084
push ebx
call fcn.00472034
mov eax, dword [esp + 0x14c]
push eax
call fcn.0046ac37
add esp, 0xc
add esp, 0x348
pop ebx
pop esi
pop edi
pop ebp
ret