Function at 0x46ed27
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 [0x404f6c], 3
jne 0x46ed45
push 0x466fe4
call fcn.00472bbb
jmp 0x46fa35
cmp dword [0x404f6c], 0xb
jne 0x46ed9d
call fcn.0046c4a4
mov edi, dword [eax + 0x44]
cmp word [esi], 0x28
jne 0x46ed92
add esi, 2
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
push 0x29
call fcn.004767b2
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
cmp eax, 0
je 0x46ed92
mov ecx, dword [ebp - 0xc]
xor edx, edx
cmp ecx, 0
jl 0x46ed8d
cmp ecx, eax
jg 0x46ed8d
mov dx, word [edi + ecx*2]
lea edi, [ebp - 0xc]
mov dword [edi], edx
push edi
call fcn.00472bbb
jmp 0x46fa35
cmp dword [0x404f6c], 9
je 0x46edaf
cmp dword [0x404f6c], 0xa
jne 0x46eddc
lea edx, [ebp - 0xc]
push edx
call fcn.00475775
mov ecx, dword [ebp - 0xc]
mov edx, dword [eax + 0x44]
lea edx, [edx + ecx*4]
cmp dword [eax + 0x40], 0xa
jne 0x46edd0
push dword [edx]
call fcn.00472bbb
jmp 0x46edd7
push dword [edx]
call fcn.0046fa43
jmp 0x46fa35
cmp dword [0x404f6c], 0xd
jne 0x46ee03
call fcn.00476e0f
push eax
call fcn.00476cec
push dword [eax + 0x44]
call fcn.0046fa43
push eax
call fcn.00472bbb
jmp 0x46fa35
cmp eax, 0xca
jl 0x46eeb0
cmp eax, 0xcc
jg 0x46eeb0
push 0x28
call fcn.004767b2
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
push 0x29
call fcn.004767b2
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x404f70]
cmp eax, 0xca
jne 0x46ee58
push ecx
call 0x46ee4c
and eax, 0x6300
add byte [edx - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
jmp 0x46ee93
cmp eax, 0xcb
jne 0x46ee78
push ecx
nop
call 0x46ee6c
and eax, 0x7800
add byte [edx - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
jmp 0x46ee93
cmp eax, 0xcc
jne 0x46ee93
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.0046bf84
push dword [0x404f70]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46fa35
cmp eax, 0xe1
jl 0x46fa03
cmp eax, 0xf4
jg 0x46fa03
push 0x28
call fcn.004767b2
cmp eax, 0xe1
jne 0x46ef18
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
push dword [ebp - 0xc]
nop
call 0x46eeec
and eax, 0x6400
add bh, bh
xor eax, 0x404f70
call dword [sym.imp.user32.dll_wsprintfW]
add esp, 0xc
add eax, 1
add eax, eax
push eax
call fcn.0046bf84
push dword [0x404f70]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f9fa
cmp eax, 0xe2
jne 0x46ef96
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
lea edx, [ebp - 4]
push edx
call fcn.004759ae
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 0x46ef91
cmp ecx, edx
jbe 0x46ef91
mov eax, ecx
sub eax, edx
push eax
add edx, ecx
add edx, 1
add edx, edx
push edx
call fcn.0046bf84
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 0x46f9fa
cmp eax, 0xe3
jne 0x46f066
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.0046eb6f
mov ebx, dword [ebp - 8]
cmp word [ebx], 0
je 0x46f05f
mov eax, dword [ebp - 0xc]
cmp eax, 1
jne 0x46f008
push esi
push ebx
call fcn.00472bbb
mov esi, eax
push esi
lodsw ax, word [esi]
cmp ax, 9
je 0x46efd9
cmp ax, 0x20
je 0x46efd9
cmp ax, 0xd
je 0x46efd9
cmp ax, 0xa
je 0x46efd9
sub esi, 2
push esi
push ebx
call dword [sym.imp.kernel32.dll_lstrcpyW]
pop esi
push esi
call fcn.0046bff1
pop esi
jmp 0x46f05f
cmp eax, 2
jne 0x46f043
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
sub eax, 1
add eax, eax
push esi
mov esi, ebx
add esi, eax
std
lodsw ax, word [esi]
cmp ax, 9
je 0x46f01f
cmp ax, 0x20
je 0x46f01f
cmp ax, 0xd
je 0x46f01f
cmp ax, 0xa
je 0x46f01f
mov word [esi + 4], 0
pop esi
cld
jmp 0x46f05f
cmp eax, 0
jne 0x46f05f
nop
call 0x46f058
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [ebx - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
mov eax, ebx
jmp 0x46f9fa
cmp eax, 0xe4
je 0x46f074
cmp eax, 0xe5
jne 0x46f09e
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
mov edi, dword [ebp - 0xc]
cmp eax, 0xe4
jne 0x46f090
push edi
call dword [sym.imp.user32.dll_CharUpperW]
jmp 0x46f097
push edi
call dword [sym.imp.user32.dll_CharLowerW]
mov eax, edi
jmp 0x46f9fa
cmp eax, 0xe6
je 0x46f0b0
cmp eax, 0xe7
jne 0x46f15f
mov dword [ebp - 4], eax
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.004759ae
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 0x46f0f6
push eax
call fcn.00472bbb
push eax
push eax
call dword [sym.imp.shlwapi.dll_PathStripPathW]
pop eax
jmp 0x46f15a
cmp ecx, 0xfffffffe
jne 0x46f10c
push eax
call fcn.00472bbb
push eax
push eax
call dword [sym.imp.shlwapi.dll_PathRemoveExtensionW]
pop eax
jmp 0x46f15a
cmp ecx, 0
jle 0x46f15a
cmp ecx, edx
jle 0x46f117
mov ecx, edx
mov eax, ecx
add eax, 1
add eax, eax
push eax
call fcn.0046bf84
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
cmp eax, ecx
jl 0x46f135
cmp ecx, 1
jge 0x46f13f
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f15a
cmp dword [ebp - 4], 0xe7
jne 0x46f14e
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 0x46f9fa
cmp eax, 0xe8
jne 0x46f1f8
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.004759ae
push 0x2c
call fcn.004767b2
lea edx, [ebp - 4]
push edx
call fcn.004759ae
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 0x46f1f3
cmp edx, 0
jle 0x46f1f3
cmp edx, ecx
jg 0x46f1f3
add ecx, 1
add ecx, ecx
push ecx
call fcn.0046bf84
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 0x46f1dd
cmp edi, 1
jge 0x46f1e7
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f1f3
add edi, 1
push edi
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpynW]
jmp 0x46f9fa
cmp eax, 0xe9
jne 0x46f30f
lea edx, [ebp - 8]
push edx
call fcn.004759ae
push 0x2c
call fcn.004767b2
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push esi
mov ebx, dword [ebp - 0xc]
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
test eax, eax
je 0x46f307
mov edi, dword [ebp - 8]
cmp edi, 0
jle 0x46f27e
mov ecx, eax
push 4
call fcn.0046bf84
mov ebx, eax
mov eax, edi
add eax, 1
add eax, eax
push eax
push ebx
call fcn.0046bfa7
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 0x46f257
jmp 0x46f307
cmp edi, 0
jne 0x46f2b0
mov edi, eax
xor ecx, ecx
cmp ecx, edi
jge 0x46f2ae
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 0x46f287
jmp 0x46f307
cmp edi, 0xffffffff
jne 0x46f2ea
mov ecx, eax
lea eax, [ecx - 1]
xor esi, esi
cmp esi, eax
jae 0x46f2e8
lea edi, [esi + 1]
cmp edi, ecx
jae 0x46f2e3
push eax
mov ax, word [ebx + esi*2]
mov dx, word [ebx + edi*2]
cmp ax, dx
jle 0x46f2dd
mov word [ebx + esi*2], dx
mov word [ebx + edi*2], ax
pop eax
add edi, 1
jmp 0x46f2c3
add esi, 1
jmp 0x46f2bc
jmp 0x46f307
cmp edi, 0xfffffffe
jne 0x46f307
call fcn.00476eb7
push 0x100000
call fcn.0046bf84
push eax
push ebx
call fcn.00476f10
mov ebx, eax
pop esi
mov eax, ebx
jmp 0x46f9fa
cmp eax, 0xea
jne 0x46f607
xor ecx, ecx
call fcn.00472bfb
cmp word [esi], 0x29
je 0x46f386
call fcn.00474395
mov esi, dword [0x404fac]
cmp dword [0x404f6c], 3
je 0x46f364
cmp dword [0x404f6c], 0xb
je 0x46f364
cmp dword [0x404f6c], 8
jne 0x46f35b
cmp eax, 0xe1
jl 0x46f35b
cmp eax, 0xf4
jle 0x46f364
cmp dword [0x404f6c], 0xa
jne 0x46f374
lea edx, [ebp - 8]
push edx
call fcn.0046eb6f
mov ecx, 0xffffffff
jmp 0x46f386
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
push 0x1000
call fcn.0046bf84
mov edi, eax
cmp ecx, 0
jne 0x46f3a8
push edi
push 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
jmp 0x46f5ef
cmp ecx, 1
jne 0x46f3be
push 0x464fe4
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f5ef
cmp ecx, 2
jne 0x46f3d5
push dword [0x404f28]
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f5ef
cmp ecx, 3
jne 0x46f3ec
push dword [0x404f64]
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f5ef
cmp ecx, 4
jne 0x46f402
push 0x104
push edi
call dword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
jmp 0x46f5ef
cmp ecx, 5
jne 0x46f424
call 0x46f418
xor dword [eax], eax
add byte cs:[ecx], bh
add byte [esi], ch
add byte [edx], dh
add byte [eax], al
add byte [edi - 1], dl
adc eax, sym.imp.kernel32.dll_lstrcpyW
jmp 0x46f5ef
cmp ecx, 6
jne 0x46f455
push dword [0x401590]
push dword [0x40158c]
call 0x46f446
and eax, 0x2e007500
add byte [0x7500], ah
add byte [edi - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0x10
jmp 0x46f5ef
cmp ecx, 7
je 0x46f45f
cmp ecx, 8
jne 0x46f4c0
mov dword [0x404fdc], 0x104
push 0x404fdc
push edi
call dword [sym.imp.kernel32.dll_GetComputerNameW]
cmp dword [ebp - 0xc], 8
jne 0x46f4bb
push 0x469384
push 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
cmp eax, 0
jne 0x46f4bb
mov dword [ebp - 0xc], 0x10
mov dword [ebp - 4], 0x401
push edi
call fcn.0046d285
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 0x46f5ef
cmp ecx, 9
jne 0x46f4d2
push 0
push edi
call fcn.0046bc82
jmp 0x46f5ef
cmp ecx, 0xa
jne 0x46f52f
push edi
call dword [sym.imp.kernel32.dll_GetLocalTime]
movzx eax, word [edi + 8]
movzx ebx, word [edi + 0xa]
movzx ecx, word [edi + 0xc]
movzx edx, word [edi + 0xe]
push edx
push ecx
push ebx
push eax
nop
call 0x46f520
and eax, 0x32002e00
add byte [eax + eax + 0x3a], ah
add byte [0x32002e00], ah
add byte [eax + eax + 0x3a], ah
add byte [0x32002e00], ah
add byte [eax + eax + 0x3a], ah
add byte [0x33002e00], ah
add byte [eax + eax], ah
add byte [edi - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0x18
jmp 0x46f5ef
cmp ecx, 0xffffffff
jne 0x46f5ef
mov ebx, dword [ebp - 8]
push 0x403e42
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f559
push 1
push edi
call fcn.00472adb
jmp 0x46f5ef
push 0x403e4c
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f574
push 0
push edi
call fcn.00472adb
jmp 0x46f5ef
push 0x403e56
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f5b2
call 0x46f5aa
push ebx
add byte [ebp], ah
insb byte es:[edi], dx
add byte [ebp], ah
arpl word [eax], ax
je 0x46f596
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 0x46f5a8
add byte [eax], al
push edi
call fcn.00472a4a
jmp 0x46f5ef
push 0x403e64
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f5cb
push edi
call fcn.004729c4
jmp 0x46f5ef
push 0x464fe4
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
call 0x46f5e0
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.0046bfa7
jmp 0x46f9fa
cmp eax, 0xeb
jne 0x46f671
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.004759ae
mov eax, dword [0x404f70]
mov word [eax], 0
mov ecx, dword [ebp - 8]
cmp ecx, 2
jl 0x46f66c
cmp ecx, 0x24
jg 0x46f66c
mov edx, dword [ebp - 0xc]
push ecx
push eax
push edx
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.0046bf84
push dword [0x404f70]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f9fa
cmp eax, 0xec
jne 0x46f736
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.004759ae
mov eax, dword [ebp - 0xc]
cmp eax, 0
jne 0x46f6e1
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.0046bf84
mov edi, eax
push 0xa
push ebx
push ecx
push edi
call dword [sym.imp.shlwapi.dll_StrFromTimeIntervalW]
call 0x46f6d6
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 0x46f731
mov dword [ebp - 4], 0
mov edi, dword [0x404f70]
push 0x104
push edi
push dword [ebp - 4]
push dword [ebp - 8]
call dword [sym.imp.shlwapi.dll_StrFormatByteSizeW]
nop
call 0x46f710
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.0046bf84
push edi
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f9fa
cmp eax, 0xed
jne 0x46f788
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.0046eb6f
push 0x10000
call fcn.0046bf84
mov edi, eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push ecx
push edi
push edx
call fcn.00472dfe
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
push edi
call fcn.0046bfa7
jmp 0x46f9fa
cmp eax, 0xee
jne 0x46f7c6
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
mov dword [ebp - 8], 0
call fcn.00472bfb
cmp word [esi], 0x2c
jne 0x46f7b6
add esi, 2
lea edx, [ebp - 8]
push edx
call fcn.004759ae
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0047325c
jmp 0x46f9fa
cmp eax, 0xef
jne 0x46f849
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
call fcn.00474395
mov esi, dword [0x404fac]
cmp dword [0x404f6c], 3
je 0x46f81a
cmp dword [0x404f6c], 0xb
je 0x46f81a
cmp dword [0x404f6c], 8
jne 0x46f811
cmp eax, 0xe1
jl 0x46f811
cmp eax, 0xf4
jle 0x46f81a
cmp dword [0x404f6c], 0xa
jne 0x46f830
lea edx, [ebp - 8]
push edx
call fcn.0046eb6f
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0047285e
jmp 0x46f844
lea edx, [ebp - 8]
push edx
call fcn.004759ae
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0047279f
jmp 0x46f9fa
cmp eax, 0xf0
jne 0x46f89d
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
lea edx, [ebp - 4]
push edx
call fcn.0046eb6f
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
cmp word [eax], 0
je 0x46f898
cmp word [ebx], 0
je 0x46f898
mov ecx, dword [ebp - 4]
push 0
push ecx
push ebx
push eax
call fcn.0046ea9b
jmp 0x46f9fa
cmp eax, 0xf1
jne 0x46f8be
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push dword [ebp - 0xc]
call dword [sym.imp.msvcrt.dll__wcsrev]
add esp, 4
jmp 0x46f9fa
cmp eax, 0xf2
jne 0x46f955
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.004759ae
push 0x2c
call fcn.004767b2
lea edx, [ebp - 4]
push edx
call fcn.0046eb6f
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.0046bf84
mov edx, ebx
mov ebx, eax
mov ecx, dword [ebp - 8]
cmp ecx, 0
jle 0x46f946
cmp ecx, edx
jbe 0x46f92c
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 0x46f9fa
cmp eax, 0xf3
jne 0x46f9c6
lea edx, [ebp - 0xc]
push edx
call fcn.0046eb6f
push 0x2c
call fcn.004767b2
lea edx, [ebp - 8]
push edx
call fcn.0046eb6f
push 0x208
call fcn.0046bf84
mov edi, eax
push eax
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.0046c03e
mov edx, dword [0x404f2c]
push eax
pop dword [edx + 0x44]
add edx, 0x58
nop
call 0x46f9aa
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.0046bfa7
jmp 0x46f9fa
cmp eax, 0xd8
jne 0x46f9d4
call fcn.004702e4
jmp 0x46f9fa
cmp eax, 0xf4
jne 0x46f9fa
call fcn.00472bfb
xor eax, eax
cmp word [esi], 0x29
je 0x46f9f4
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046d140
push 0x29
call fcn.004767b2
jmp 0x46fa35
cmp dword [0x404f6c], 8
jne 0x46fa1e
cmp eax, 0
jne 0x46fa1e
call fcn.0046d346
push eax
call fcn.0046fa43
jmp 0x46fa35
mov esi, dword [0x404fac]
lea edx, [ebp - 0xc]
push edx
call fcn.004759ae
push dword [ebp - 0xc]
call fcn.0046fa43
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
call fcn.00474395
leave
ret 4