Function at 0x46ed9b
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 [0x405198], 3
jne 0x46edb9
push 0x467210
call fcn.00472ced
jmp 0x46fa9f
cmp dword [0x405198], 0xb
jne 0x46ee11
call fcn.0046c37b
mov edi, dword [eax + 0x44]
cmp word [esi], 0x28
jne 0x46ee06
add esi, 2
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
push 0x29
call fcn.004768c5
push edi
call dword [sym.imp.kernel32.dll_lstrlenW]
cmp eax, 0
je 0x46ee06
mov ecx, dword [ebp - 0xc]
xor edx, edx
cmp ecx, 0
jl 0x46ee01
cmp ecx, eax
jg 0x46ee01
mov dx, word [edi + ecx*2]
lea edi, [ebp - 0xc]
mov dword [edi], edx
push edi
call fcn.00472ced
jmp 0x46fa9f
cmp dword [0x405198], 9
je 0x46ee23
cmp dword [0x405198], 0xa
jne 0x46ee50
lea edx, [ebp - 0xc]
push edx
call fcn.00475897
mov ecx, dword [ebp - 0xc]
mov edx, dword [eax + 0x44]
lea edx, [edx + ecx*4]
cmp dword [eax + 0x40], 0xa
jne 0x46ee44
push dword [edx]
call fcn.00472ced
jmp 0x46ee4b
push dword [edx]
call fcn.0046faad
jmp 0x46fa9f
cmp dword [0x405198], 0xd
jne 0x46ee77
call fcn.00476f3e
push eax
call fcn.00476e18
push dword [eax + 0x44]
call fcn.0046faad
push eax
call fcn.00472ced
jmp 0x46fa9f
cmp eax, 0xcb
jl 0x46ef24
cmp eax, 0xcd
jg 0x46ef24
push 0x28
call fcn.004768c5
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
push 0x29
call fcn.004768c5
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x40519c]
cmp eax, 0xcb
jne 0x46eecc
push ecx
call 0x46eec0
and eax, 0x6300
add byte [edx - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
jmp 0x46ef07
cmp eax, 0xcc
jne 0x46eeec
push ecx
nop
call 0x46eee0
and eax, 0x7800
add byte [edx - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
jmp 0x46ef07
cmp eax, 0xcd
jne 0x46ef07
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.0046bf2c
push dword [0x40519c]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46fa9f
cmp eax, 0xe1
jl 0x46fa6d
cmp eax, 0xf4
jg 0x46fa6d
push 0x28
call fcn.004768c5
cmp eax, 0xe1
jne 0x46ef88
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
mov eax, dword [ebp - 0xc]
mov ebx, dword [0x40519c]
push eax
call 0x46ef66
and eax, 0x6400
add byte [ebx - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0xc
add eax, 1
add eax, eax
push eax
call fcn.0046bf2c
push ebx
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46fa64
cmp eax, 0xe2
jne 0x46f006
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
lea edx, [ebp - 4]
push edx
call fcn.00475ad4
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 0x46f001
cmp ecx, edx
jbe 0x46f001
mov eax, ecx
sub eax, edx
push eax
add edx, ecx
add edx, 1
add edx, edx
push edx
call fcn.0046bf2c
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 0x46fa64
cmp eax, 0xe3
jne 0x46f0fa
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.0046ebe3
mov edi, dword [ebp - 8]
cmp word [edi], 0
je 0x46f0f3
mov eax, dword [ebp - 0xc]
cmp eax, 0
jne 0x46f05a
call 0x46f04e
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [edi - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
jmp 0x46f0f3
cmp eax, 1
jne 0x46f098
push esi
push edi
call fcn.00472ced
mov esi, eax
push esi
lodsw ax, word [esi]
cmp ax, 9
je 0x46f069
cmp ax, 0x20
je 0x46f069
cmp ax, 0xd
je 0x46f069
cmp ax, 0xa
je 0x46f069
sub esi, 2
push esi
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
pop esi
push esi
call fcn.0046bf99
pop esi
jmp 0x46f0f3
cmp eax, 2
jne 0x46f0d3
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 0x46f0af
cmp ax, 0x20
je 0x46f0af
cmp ax, 0xd
je 0x46f0af
cmp ax, 0xa
je 0x46f0af
mov word [esi + 4], 0
pop esi
cld
jmp 0x46f0f3
cmp eax, 3
jne 0x46f0f3
nop
call 0x46f0ec
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 0x46fa64
cmp eax, 0xe4
je 0x46f108
cmp eax, 0xe5
jne 0x46f132
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
mov ebx, dword [ebp - 0xc]
cmp eax, 0xe4
jne 0x46f124
push ebx
call dword [sym.imp.user32.dll_CharUpperW]
jmp 0x46f12b
push ebx
call dword [sym.imp.user32.dll_CharLowerW]
mov eax, ebx
jmp 0x46fa64
cmp eax, 0xe6
je 0x46f144
cmp eax, 0xe7
jne 0x46f1f3
mov dword [ebp - 4], eax
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.00475ad4
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 0x46f18a
push eax
call fcn.00472ced
push eax
push eax
call dword [sym.imp.shlwapi.dll_PathStripPathW]
pop eax
jmp 0x46f1ee
cmp ecx, 0xfffffffe
jne 0x46f1a0
push eax
call fcn.00472ced
push eax
push eax
call dword [sym.imp.shlwapi.dll_PathRemoveExtensionW]
pop eax
jmp 0x46f1ee
cmp ecx, 0
jle 0x46f1ee
cmp ecx, edx
jle 0x46f1ab
mov ecx, edx
mov eax, ecx
add eax, 1
add eax, eax
push eax
call fcn.0046bf2c
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
cmp eax, ecx
jl 0x46f1c9
cmp ecx, 1
jge 0x46f1d3
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f1ee
cmp dword [ebp - 4], 0xe7
jne 0x46f1e2
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 0x46fa64
cmp eax, 0xe8
jne 0x46f28c
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.00475ad4
push 0x2c
call fcn.004768c5
lea edx, [ebp - 4]
push edx
call fcn.00475ad4
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 0x46f287
cmp edx, 0
jle 0x46f287
cmp edx, ecx
jg 0x46f287
add ecx, 1
add ecx, ecx
push ecx
call fcn.0046bf2c
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 0x46f271
cmp edi, 1
jge 0x46f27b
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f287
add edi, 1
push edi
push edx
push ebx
call dword [sym.imp.kernel32.dll_lstrcpynW]
jmp 0x46fa64
cmp eax, 0xe9
jne 0x46f2fe
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.0046ebe3
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
cmp eax, 0
jle 0x46f2c0
push ebx
push eax
call fcn.00472880
jmp 0x46f2f9
cmp eax, 0
jne 0x46f2cd
push ebx
call fcn.00472836
jmp 0x46f2f9
cmp eax, 0xffffffff
jne 0x46f2da
push ebx
call fcn.004727e2
jmp 0x46f2f9
cmp eax, 0xfffffffe
jne 0x46f2f7
call fcn.00476fe6
push 0x100000
call fcn.0046bf2c
push eax
push ebx
call fcn.0047703f
jmp 0x46f2f9
mov eax, ebx
jmp 0x46fa64
cmp eax, 0xea
jne 0x46f5c1
xor ecx, ecx
call fcn.00472d2d
cmp word [esi], 0x29
je 0x46f375
call fcn.0047452b
mov esi, dword [0x4051d8]
cmp dword [0x405198], 3
je 0x46f353
cmp dword [0x405198], 0xb
je 0x46f353
cmp dword [0x405198], 8
jne 0x46f34a
cmp eax, 0xe1
jl 0x46f34a
cmp eax, 0xf4
jle 0x46f353
cmp dword [0x405198], 0xa
jne 0x46f363
lea edx, [ebp - 8]
push edx
call fcn.0046ebe3
mov ecx, 0xffffffff
jmp 0x46f375
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
push 0x1000
call fcn.0046bf2c
mov edi, eax
cmp ecx, 0
jne 0x46f397
push edi
push 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
jmp 0x46f5a9
cmp ecx, 1
jne 0x46f3ad
push 0x465210
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f5a9
cmp ecx, 2
jne 0x46f3c4
push dword [0x405154]
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f5a9
cmp ecx, 3
jne 0x46f3db
push dword [0x405190]
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f5a9
cmp ecx, 4
jne 0x46f3f1
push 0x104
push edi
call dword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
jmp 0x46f5a9
cmp ecx, 5
jne 0x46f414
nop
call 0x46f408
xor al, byte [eax]
add byte cs:[eax], dh
add byte [esi], ch
add byte [eax], dh
add byte [eax], al
add byte [edi - 1], dl
adc eax, sym.imp.kernel32.dll_lstrcpyW
jmp 0x46f5a9
cmp ecx, 6
jne 0x46f445
push dword [0x401480]
push dword [0x40147c]
call 0x46f436
and eax, 0x2e007500
add byte [0x7500], ah
add byte [edi - 1], dl
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0x10
jmp 0x46f5a9
cmp ecx, 7
je 0x46f44f
cmp ecx, 8
jne 0x46f4b0
mov dword [0x405208], 0x104
push 0x405208
push edi
call dword [sym.imp.kernel32.dll_GetComputerNameW]
cmp dword [ebp - 0xc], 8
jne 0x46f4ab
push 0x4695b0
push 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
cmp eax, 0
jne 0x46f4ab
mov dword [ebp - 0xc], 0x10
mov dword [ebp - 4], 0x401
push edi
call fcn.0046d18f
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 0x46f5a9
cmp ecx, 9
jne 0x46f4c2
push 0
push edi
call fcn.0046bc2a
jmp 0x46f5a9
cmp ecx, 0xa
je 0x46f4cc
cmp ecx, 0xb
jne 0x46f4e9
sub ecx, 0xa
push 1
push ecx
call fcn.00472ece
push dword [0x40519c]
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f5a9
cmp ecx, 0xffffffff
jne 0x46f5a9
mov ebx, dword [ebp - 8]
push 0x404052
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f513
push 1
push edi
call fcn.00472c0d
jmp 0x46f5a9
push 0x40405c
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f52e
push 0
push edi
call fcn.00472c0d
jmp 0x46f5a9
push 0x404066
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f56c
call 0x46f564
push ebx
add byte [ebp], ah
insb byte es:[edi], dx
add byte [ebp], ah
arpl word [eax], ax
je 0x46f550
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 0x46f562
add byte [eax], al
push edi
call fcn.00472b7c
jmp 0x46f5a9
push 0x404074
push ebx
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46f585
push edi
call fcn.00472af6
jmp 0x46f5a9
push 0x465210
push edi
call dword [sym.imp.kernel32.dll_lstrcpyW]
call 0x46f59a
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.0046bf4f
jmp 0x46fa64
cmp eax, 0xeb
jne 0x46f627
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.00475ad4
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov ebx, dword [0x40519c]
cmp eax, 2
jl 0x46f5f7
cmp eax, 0x24
jle 0x46f5fc
mov eax, 0xa
push eax
push ebx
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.0046bf2c
push ebx
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46fa64
cmp eax, 0xec
jne 0x46f77f
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.00475ad4
mov eax, dword [ebp - 0xc]
cmp eax, 0
jne 0x46f69a
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.0046bf2c
mov edi, eax
push 0xa
push ebx
push ecx
push edi
call dword [sym.imp.shlwapi.dll_StrFromTimeIntervalW]
call 0x46f68c
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 0x46f77a
cmp eax, 1
jne 0x46f6f4
mov dword [ebp - 4], 0
mov ebx, dword [0x40519c]
push 0x104
push ebx
push dword [ebp - 4]
push dword [ebp - 8]
call dword [sym.imp.shlwapi.dll_StrFormatByteSizeW]
nop
call 0x46f6ce
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [ebx - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
call fcn.0046bf2c
push ebx
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
jmp 0x46f77a
push esi
mov eax, dword [ebp - 8]
mov esi, dword [0x40519c]
mov edi, dword [0x4051a0]
mov ebx, edi
push 0x1000
push edi
call fcn.0046bfb4
push eax
nop
call 0x46f71e
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 0x46f755
add ecx, 1
cmp ecx, 3
jne 0x46f734
cmp word [esi], 0
je 0x46f755
xor ecx, ecx
mov ax, 0x2e
stosw word es:[edi], ax
jmp 0x46f734
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
call fcn.0046bf2c
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 0x46fa64
cmp eax, 0xed
jne 0x46f7d1
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.0046ebe3
push 0x1000
call fcn.0046bf2c
mov ebx, eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push ecx
push ebx
push edx
call fcn.00472f42
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
push ebx
call fcn.0046bf4f
jmp 0x46fa64
cmp eax, 0xee
jne 0x46f80c
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
xor eax, eax
mov ebx, dword [ebp - 0xc]
call fcn.00472d2d
cmp word [esi], 0x2c
jne 0x46f800
add esi, 2
lea edx, [ebp - 8]
push edx
call fcn.00475ad4
mov eax, dword [ebp - 8]
push eax
push ebx
call fcn.004733a0
jmp 0x46fa64
cmp eax, 0xef
jne 0x46f88f
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
call fcn.0047452b
mov esi, dword [0x4051d8]
cmp dword [0x405198], 3
je 0x46f860
cmp dword [0x405198], 0xb
je 0x46f860
cmp dword [0x405198], 8
jne 0x46f857
cmp eax, 0xe1
jl 0x46f857
cmp eax, 0xf4
jle 0x46f860
cmp dword [0x405198], 0xa
jne 0x46f876
lea edx, [ebp - 8]
push edx
call fcn.0046ebe3
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00472990
jmp 0x46f88a
lea edx, [ebp - 8]
push edx
call fcn.00475ad4
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.004728d1
jmp 0x46fa64
cmp eax, 0xf0
jne 0x46f8e3
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
lea edx, [ebp - 4]
push edx
call fcn.0046ebe3
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
cmp word [eax], 0
je 0x46f8de
cmp word [ebx], 0
je 0x46f8de
mov ecx, dword [ebp - 4]
push 0
push ecx
push ebx
push eax
call fcn.0046eb0f
jmp 0x46fa64
cmp eax, 0xf1
jne 0x46f904
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
push dword [ebp - 0xc]
call dword [sym.imp.msvcrt.dll__wcsrev]
add esp, 4
jmp 0x46fa64
cmp eax, 0xf2
jne 0x46f99b
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.00475ad4
push 0x2c
call fcn.004768c5
lea edx, [ebp - 4]
push edx
call fcn.0046ebe3
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.0046bf2c
mov edx, ebx
mov ebx, eax
mov ecx, dword [ebp - 8]
cmp ecx, 0
jle 0x46f98c
cmp ecx, edx
jbe 0x46f972
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 0x46fa64
cmp eax, 0xf3
jne 0x46fa30
lea edx, [ebp - 0xc]
push edx
call fcn.0046ebe3
push 0x2c
call fcn.004768c5
lea edx, [ebp - 8]
push edx
call fcn.0046ebe3
mov dword [ebp - 4], 0
call fcn.00472d2d
cmp word [esi], 0x2c
jne 0x46f9dd
add esi, 2
lea edx, [ebp - 4]
push edx
call fcn.0046ebe3
push 0x1000
call fcn.0046bf2c
mov ebx, eax
push eax
push dword [ebp - 4]
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0046bfe6
mov edx, dword [0x405158]
push eax
pop dword [edx + 0x44]
add edx, 0x58
call 0x46fa14
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [ebx - 1], dl
adc eax, sym.imp.shlwapi.dll_StrTrimW
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
add eax, 1
add eax, eax
push eax
push ebx
call fcn.0046bf4f
jmp 0x46fa64
cmp eax, 0xd8
jne 0x46fa3e
call fcn.00470199
jmp 0x46fa64
cmp eax, 0xf4
jne 0x46fa64
call fcn.00472d2d
xor eax, eax
cmp word [esi], 0x29
je 0x46fa5e
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046d04b
push 0x29
call fcn.004768c5
jmp 0x46fa9f
cmp dword [0x405198], 8
jne 0x46fa88
cmp eax, 0
jne 0x46fa88
call fcn.0046d250
push eax
call fcn.0046faad
jmp 0x46fa9f
mov esi, dword [0x4051d8]
lea edx, [ebp - 0xc]
push edx
call fcn.00475ad4
push dword [ebp - 0xc]
call fcn.0046faad
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
call fcn.0047452b
leave
ret 4