Function at 0x46eea3
Capabilities:
Check for software breakpoints
Get common file path
Get hostname
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x405084], 3
jne 0x46eec1
push 0x4670fc
call fcn.00472db1
jmp 0x46fc27
cmp dword [0x405084], 0xb
jne 0x46ef19
call fcn.0046c4bd
mov edi, dword [eax + 0x44]
cmp word [esi], 0x28
jne 0x46ef0e
add esi, 2
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
push 0x29
call fcn.0047695d
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
cmp eax, 0
je 0x46ef0e
mov ecx, dword [ebp - 0xc]
xor edx, edx
cmp ecx, 0
jl 0x46ef09
cmp ecx, eax
jg 0x46ef09
mov dx, word [edi + ecx*2]
lea edi, [ebp - 0xc]
mov dword [edi], edx
push edi
call fcn.00472db1
jmp 0x46fc27
cmp dword [0x405084], 9
je 0x46ef2b
cmp dword [0x405084], 0xa
jne 0x46ef58
lea edx, [ebp - 0xc]
push edx
call fcn.00475942
mov ecx, dword [ebp - 0xc]
mov edx, dword [eax + 0x44]
lea edx, [edx + ecx*4]
cmp dword [eax + 0x40], 0xa
jne 0x46ef4c
push dword [edx]
call fcn.00472db1
jmp 0x46ef53
push dword [edx]
call fcn.0046fc35
jmp 0x46fc27
cmp dword [0x405084], 0xd
jne 0x46ef7f
call fcn.00476fd3
push eax
call fcn.00476eaa
push dword [eax + 0x44]
call fcn.0046fc35
push eax
call fcn.00472db1
jmp 0x46fc27
cmp eax, 0xcc
jl 0x46f02c
cmp eax, 0xce
jg 0x46f02c
push 0x28
call fcn.0047695d
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
push 0x29
call fcn.0047695d
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x405088]
cmp eax, 0xcc
jne 0x46efd4
push ecx
call 0x46efc8
and eax, 0x6300
add byte [edx - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
jmp 0x46f00f
cmp eax, 0xcd
jne 0x46eff4
push ecx
nop
call 0x46efe8
and eax, 0x7800
add byte [edx - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
jmp 0x46f00f
cmp eax, 0xce
jne 0x46f00f
push 2
push edx
push ecx
call dword [sym.imp.msvcrt.dll__itow]
add esp, 0xc
push eax
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
call fcn.0046bf6e
push dword [0x405088]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46fc27
cmp eax, 0xe2
jl 0x46fbf5
cmp eax, 0xf5
jg 0x46fbf5
push 0x28
call fcn.0047695d
cmp eax, 0xe2
jne 0x46f090
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
mov eax, dword [ebp - 0xc]
mov edi, dword [0x405088]
push eax
call 0x46f06e
and eax, 0x6400
add byte [edi - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
add eax, 1
add eax, eax
push eax
call fcn.0046bf6e
push edi
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46fbec
cmp eax, 0xe3
jne 0x46f10e
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
lea edx, [ebp - 4]
push edx
call fcn.00475b7f
push dword [ebp - 0xc]
call dword [sym.imp.kernel32.dll_lstrlenW]
mov edx, eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
cmp ecx, 0
jle 0x46f109
cmp ecx, edx
jbe 0x46f109
mov eax, ecx
sub eax, edx
push eax
add edx, ecx
add edx, 1
add edx, edx
push edx
call fcn.0046bf6e
mov ebx, eax
mov edi, eax
mov eax, dword [ebp - 8]
mov ax, word [eax]
pop ecx
rep stosw word es:[edi], ax
mov word [edi], 0
push dword [ebp - 0xc]
push ebx
call dword [sym.imp.kernel32.dll_lstrcatW]
jmp 0x46fbec
cmp eax, 0xe4
jne 0x46f202
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.0046eceb
mov edi, dword [ebp - 8]
cmp word [edi], 0
je 0x46f1fb
mov eax, dword [ebp - 0xc]
cmp eax, 0
jne 0x46f162
call 0x46f156
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [edi - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
jmp 0x46f1fb
cmp eax, 1
jne 0x46f1a0
push esi
push edi
call fcn.00472db1
mov esi, eax
push esi
lodsw ax, word [esi]
cmp ax, 9
je 0x46f171
cmp ax, 0x20
je 0x46f171
cmp ax, 0xd
je 0x46f171
cmp ax, 0xa
je 0x46f171
sub esi, 2
push esi
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
pop esi
push esi
call fcn.0046bfdb
pop esi
jmp 0x46f1fb
cmp eax, 2
jne 0x46f1db
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
sub eax, 1
add eax, eax
push esi
mov esi, edi
add esi, eax
std
lodsw ax, word [esi]
cmp ax, 9
je 0x46f1b7
cmp ax, 0x20
je 0x46f1b7
cmp ax, 0xd
je 0x46f1b7
cmp ax, 0xa
je 0x46f1b7
mov word [esi + 4], 0
pop esi
cld
jmp 0x46f1fb
cmp eax, 3
jne 0x46f1fb
nop
call 0x46f1f4
or dword [eax], eax
and byte [eax], al
or eax, 0x22000a00
add byte [edi], ah
add byte [eax], al
add byte [edi - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
mov eax, edi
jmp 0x46fbec
cmp eax, 0xe5
je 0x46f210
cmp eax, 0xe6
jne 0x46f23a
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
mov edi, dword [ebp - 0xc]
cmp eax, 0xe5
jne 0x46f22c
push edi
call dword [sym.imp.user32.dll_CharUpperW]
jmp 0x46f233
push edi
call dword [sym.imp.user32.dll_CharLowerW]
mov eax, edi
jmp 0x46fbec
cmp eax, 0xe7
je 0x46f24c
cmp eax, 0xe8
jne 0x46f2fb
mov dword [ebp - 4], eax
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.00475b7f
push dword [ebp - 0xc]
call dword [sym.imp.kernel32.dll_lstrlenW]
mov dword [ebp - 0x10], eax
mov edx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp ecx, 0xffffffff
jne 0x46f292
push eax
call fcn.00472db1
push eax
push eax
call dword [sym.imp.shlwapi.dll_PathStripPathW]
pop eax
jmp 0x46f2f6
cmp ecx, 0xfffffffe
jne 0x46f2a8
push eax
call fcn.00472db1
push eax
push eax
call dword [sym.imp.shlwapi.dll_PathRemoveExtensionW]
pop eax
jmp 0x46f2f6
cmp ecx, 0
jle 0x46f2f6
cmp ecx, edx
jle 0x46f2b3
mov ecx, edx
mov eax, ecx
add eax, 1
add eax, eax
push eax
call fcn.0046bf6e
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
cmp eax, ecx
jl 0x46f2d1
cmp ecx, 1
jge 0x46f2db
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f2f6
cmp dword [ebp - 4], 0xe8
jne 0x46f2ea
sub eax, ecx
add eax, eax
add edx, eax
add ecx, 1
push ecx
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpynW]
jmp 0x46fbec
cmp eax, 0xe9
jne 0x46f394
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.00475b7f
push 0x2c
call fcn.0047695d
lea edx, [ebp - 4]
push edx
call fcn.00475b7f
push dword [ebp - 0xc]
call dword [sym.imp.kernel32.dll_lstrlenW]
mov dword [ebp - 0x10], eax
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp ecx, 0
je 0x46f38f
cmp edx, 0
jle 0x46f38f
cmp edx, ecx
jg 0x46f38f
add ecx, 1
add ecx, ecx
push ecx
call fcn.0046bf6e
mov ebx, eax
mov eax, edx
sub edx, 1
add edx, edx
add edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
add eax, edi
mov ecx, dword [ebp - 0x10]
cmp eax, ecx
jg 0x46f379
cmp edi, 1
jge 0x46f383
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f38f
add edi, 1
push edi
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpynW]
jmp 0x46fbec
cmp eax, 0xea
jne 0x46f4ab
lea edx, [ebp - 8]
push edx
call fcn.00475b7f
push 0x2c
call fcn.0047695d
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push esi
mov ebx, dword [ebp - 0xc]
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
test eax, eax
je 0x46f4a3
mov edi, dword [ebp - 8]
cmp edi, 0
jle 0x46f41a
mov ecx, eax
push 4
call fcn.0046bf6e
mov ebx, eax
mov eax, edi
add eax, 1
add eax, eax
push eax
push ebx
call fcn.0046bf91
mov ebx, eax
mov edi, eax
mov esi, dword [ebp - 0xc]
push ecx
call dword [sym.imp.msvcrt.dll_rand]
pop ecx
xor edx, edx
div ecx
add edx, edx
mov ax, word [esi + edx]
mov word [edi], ax
add edi, 2
sub dword [ebp - 8], 1
cmp dword [ebp - 8], 0
jne 0x46f3f3
jmp 0x46f4a3
cmp edi, 0
jne 0x46f44c
mov edi, eax
xor ecx, ecx
cmp ecx, edi
jge 0x46f44a
rdtsc
xor eax, edx
mov esi, edi
sub esi, ecx
xor edx, edx
div esi
add edx, ecx
mov ax, word [ebx + edx*2]
mov si, word [ebx + ecx*2]
mov word [ebx + edx*2], si
mov word [ebx + ecx*2], ax
add ecx, 1
jmp 0x46f423
jmp 0x46f4a3
cmp edi, 0xffffffff
jne 0x46f486
mov ecx, eax
lea eax, [ecx - 1]
xor esi, esi
cmp esi, eax
jae 0x46f484
lea edi, [esi + 1]
cmp edi, ecx
jae 0x46f47f
push eax
mov ax, word [ebx + esi*2]
mov dx, word [ebx + edi*2]
cmp ax, dx
jle 0x46f479
mov word [ebx + esi*2], dx
mov word [ebx + edi*2], ax
pop eax
add edi, 1
jmp 0x46f45f
add esi, 1
jmp 0x46f458
jmp 0x46f4a3
cmp edi, 0xfffffffe
jne 0x46f4a3
call fcn.0047707b
push 0x100000
call fcn.0046bf6e
push eax
push ebx
call fcn.004770d4
mov ebx, eax
pop esi
mov eax, ebx
jmp 0x46fbec
cmp eax, 0xeb
jne 0x46f76d
xor ecx, ecx
call fcn.00472df1
cmp word [esi], 0x29
je 0x46f522
call fcn.004745ed
mov esi, dword [0x4050c4]
cmp dword [0x405084], 3
je 0x46f500
cmp dword [0x405084], 0xb
je 0x46f500
cmp dword [0x405084], 8
jne 0x46f4f7
cmp eax, 0xe2
jl 0x46f4f7
cmp eax, 0xf5
jle 0x46f500
cmp dword [0x405084], 0xa
jne 0x46f510
lea edx, [ebp - 8]
push edx
call fcn.0046eceb
mov ecx, 0xffffffff
jmp 0x46f522
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
push 0x1000
call fcn.0046bf6e
mov edi, eax
cmp ecx, 0
jne 0x46f544
push edi
push 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
jmp 0x46f755
cmp ecx, 1
jne 0x46f55a
push 0x4650fc
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f755
cmp ecx, 2
jne 0x46f571
push dword [0x405040]
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f755
cmp ecx, 3
jne 0x46f588
push dword [0x40507c]
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f755
cmp ecx, 4
jne 0x46f59e
push 0x104
push edi
call dword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
jmp 0x46f755
cmp ecx, 5
jne 0x46f5c0
call 0x46f5b4
xor dword [eax], eax
add byte cs:[ecx], bh
add byte [esi], ch
add byte [esi], dh
add byte [eax], al
add byte [edi - 1], dl
adc eax, sym.imp.kernel32.dll_lstrcpyW
jmp 0x46f755
cmp ecx, 6
jne 0x46f5f1
push dword [0x401590]
push dword [0x40158c]
call 0x46f5e2
and eax, 0x2e007500
add byte [0x7500], ah
add byte [edi - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0x10
jmp 0x46f755
cmp ecx, 7
je 0x46f5fb
cmp ecx, 8
jne 0x46f65c
mov dword [0x4050f4], 0x104
push 0x4050f4
push edi
call dword [sym.imp.kernel32.dll_GetComputerNameW]
cmp dword [ebp - 0xc], 8
jne 0x46f657
push 0x46949c
push 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
cmp eax, 0
jne 0x46f657
mov dword [ebp - 0xc], 0x10
mov dword [ebp - 4], 0x401
push edi
call fcn.0046d2a3
lea edx, [ebp - 4]
push edx
push edi
push 0
push dword [ebp - 0xc]
push eax
call dword [sym.imp.ws2_32.dll_WSAAddressToStringW]
call dword [sym.imp.ws2_32.dll_WSACleanup]
jmp 0x46f755
cmp ecx, 9
jne 0x46f66e
push 0
push edi
call fcn.0046bc6c
jmp 0x46f755
cmp ecx, 0xa
je 0x46f678
cmp ecx, 0xb
jne 0x46f695
sub ecx, 0xa
push 1
push ecx
call fcn.00472f96
push dword [0x405088]
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f755
cmp ecx, 0xffffffff
jne 0x46f755
mov ebx, dword [ebp - 8]
push 0x403e8e
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f6bf
push 1
push edi
call fcn.00472cd1
jmp 0x46f755
push 0x403e98
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f6da
push 0
push edi
call fcn.00472cd1
jmp 0x46f755
push 0x403ea2
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f718
call 0x46f710
push ebx
add byte [ebp], ah
insb byte es:[edi], dx
add byte [ebp], ah
arpl word [eax], ax
je 0x46f6fc
and byte [eax], al
popal
add byte [eax], ah
add byte [esi], ah
outsd dx, dword [esi]
add byte [eax + eax + 0x64], ch
add byte [ebp], ah
jb 0x46f70e
add byte [eax], al
push edi
call fcn.00472c40
jmp 0x46f755
push 0x403eb0
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f731
push edi
call fcn.00472bba
jmp 0x46f755
push 0x4650fc
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
call 0x46f746
pop esp
add byte [eax], al
add byte [edi - 1], dl
adc eax, sym.imp.kernel32.dll_lstrcatW
push ebx
push edi
call dword [sym.imp.kernel32.dll_lstrcatW]
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
push edi
call fcn.0046bf91
jmp 0x46fbec
cmp eax, 0xec
jne 0x46f7d3
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.00475b7f
mov ecx, dword [ebp - 8]
mov edi, dword [0x405088]
cmp ecx, 2
jl 0x46f7a0
cmp ecx, 0x24
jle 0x46f7a5
mov ecx, 0xa
mov eax, dword [ebp - 0xc]
push ecx
push edi
push eax
call dword [sym.imp.msvcrt.dll__itow]
add esp, 0xc
push eax
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
call fcn.0046bf6e
push edi
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46fbec
cmp eax, 0xed
jne 0x46f92b
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.00475b7f
mov eax, dword [ebp - 0xc]
cmp eax, 0
jne 0x46f846
mov ebx, dword [ebp - 8]
push 0xa
push ebx
push 0
push 0
call dword [sym.imp.shlwapi.dll_StrFromTimeIntervalW]
add eax, 1
mov ecx, eax
add eax, eax
push eax
call fcn.0046bf6e
mov edi, eax
push 0xa
push ebx
push ecx
push edi
call dword [sym.imp.shlwapi.dll_StrFromTimeIntervalW]
call 0x46f838
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [edi - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
mov eax, edi
jmp 0x46f926
cmp eax, 1
jne 0x46f8a0
mov dword [ebp - 4], 0
mov edi, dword [0x405088]
push 0x104
push edi
push dword [ebp - 4]
push dword [ebp - 8]
call dword [sym.imp.shlwapi.dll_StrFormatByteSizeW]
nop
call 0x46f87a
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [edi - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
call fcn.0046bf6e
push edi
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f926
push esi
mov eax, dword [ebp - 8]
mov esi, dword [0x405088]
mov edi, dword [0x40508c]
mov ebx, edi
push 0x1000
push edi
call fcn.0046bff6
push eax
nop
call 0x46f8ca
and eax, 0x6400
add byte [esi - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
push esi
call dword [sym.imp.msvcrt.dll__wcsrev]
add esp, 4
xor ecx, ecx
lodsw ax, word [esi]
stosw word es:[edi], ax
test ax, ax
je 0x46f901
add ecx, 1
cmp ecx, 3
jne 0x46f8e0
cmp word [esi], 0
je 0x46f901
xor ecx, ecx
mov ax, 0x2e
stosw word es:[edi], ax
jmp 0x46f8e0
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
call fcn.0046bf6e
push ebx
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
push eax
call dword [sym.imp.msvcrt.dll__wcsrev]
add esp, 4
pop esi
jmp 0x46fbec
cmp eax, 0xee
jne 0x46f97d
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.0046eceb
push 0x10000
call fcn.0046bf6e
mov edi, eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push ecx
push edi
push edx
call fcn.0047300a
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
push edi
call fcn.0046bf91
jmp 0x46fbec
cmp eax, 0xef
jne 0x46f9b8
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
xor eax, eax
mov edi, dword [ebp - 0xc]
call fcn.00472df1
cmp word [esi], 0x2c
jne 0x46f9ac
add esi, 2
lea edx, [ebp - 8]
push edx
call fcn.00475b7f
mov eax, dword [ebp - 8]
push eax
push edi
call fcn.00473468
jmp 0x46fbec
cmp eax, 0xf0
jne 0x46fa3b
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
call fcn.004745ed
mov esi, dword [0x4050c4]
cmp dword [0x405084], 3
je 0x46fa0c
cmp dword [0x405084], 0xb
je 0x46fa0c
cmp dword [0x405084], 8
jne 0x46fa03
cmp eax, 0xe2
jl 0x46fa03
cmp eax, 0xf5
jle 0x46fa0c
cmp dword [0x405084], 0xa
jne 0x46fa22
lea edx, [ebp - 8]
push edx
call fcn.0046eceb
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00472a51
jmp 0x46fa36
lea edx, [ebp - 8]
push edx
call fcn.00475b7f
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0047298e
jmp 0x46fbec
cmp eax, 0xf1
jne 0x46fa8f
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
lea edx, [ebp - 4]
push edx
call fcn.0046eceb
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
cmp word [eax], 0
je 0x46fa8a
cmp word [ebx], 0
je 0x46fa8a
mov ecx, dword [ebp - 4]
push 0
push ecx
push ebx
push eax
call fcn.0046ec17
jmp 0x46fbec
cmp eax, 0xf2
jne 0x46fab0
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push dword [ebp - 0xc]
call dword [sym.imp.msvcrt.dll__wcsrev]
add esp, 4
jmp 0x46fbec
cmp eax, 0xf3
jne 0x46fb47
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.00475b7f
push 0x2c
call fcn.0047695d
lea edx, [ebp - 4]
push edx
call fcn.0046eceb
push esi
push edi
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
push esi
call dword [sym.imp.kernel32.dll_lstrlenW]
mov ebx, eax
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, ebx
add eax, 1
add eax, eax
push eax
call fcn.0046bf6e
mov edx, ebx
mov ebx, eax
mov ecx, dword [ebp - 8]
cmp ecx, 0
jle 0x46fb38
cmp ecx, edx
jbe 0x46fb1e
mov ecx, edx
add ecx, 1
push ecx
push ecx
push esi
push ebx
call dword [sym.imp.kernel32.dll_lstrcpynW]
push edi
push eax
call dword [sym.imp.kernel32.dll_lstrcatW]
pop ecx
sub ecx, 1
add ecx, ecx
add esi, ecx
push esi
push ebx
call dword [sym.imp.kernel32.dll_lstrcatW]
pop edi
pop esi
jmp 0x46fbec
cmp eax, 0xf4
jne 0x46fbb8
lea edx, [ebp - 0xc]
push edx
call fcn.0046eceb
push 0x2c
call fcn.0047695d
lea edx, [ebp - 8]
push edx
call fcn.0046eceb
push 0x208
call fcn.0046bf6e
mov edi, eax
push eax
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.0046c028
mov edx, dword [0x405044]
push eax
pop dword [edx + 0x44]
add edx, 0x58
nop
call 0x46fb9c
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [edi - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
push edi
call fcn.0046bf91
jmp 0x46fbec
cmp eax, 0xd9
jne 0x46fbc6
call fcn.004704bf
jmp 0x46fbec
cmp eax, 0xf5
jne 0x46fbec
call fcn.00472df1
xor eax, eax
cmp word [esi], 0x29
je 0x46fbe6
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046d15e
push 0x29
call fcn.0047695d
jmp 0x46fc27
cmp dword [0x405084], 8
jne 0x46fc10
cmp eax, 0
jne 0x46fc10
call fcn.0046d364
push eax
call fcn.0046fc35
jmp 0x46fc27
mov esi, dword [0x4050c4]
lea edx, [ebp - 0xc]
push edx
call fcn.00475b7f
push dword [ebp - 0xc]
call fcn.0046fc35
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
call fcn.004745ed
leave
ret 4