Function at 0x476c50
Capabilities:
Packed with generic packer
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push eax
push ebx
push ecx
push edx
push esi
push edi
cmp dword [ebp + 8], 0xba
jne 0x4769e9
push 0x4041f8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b9dd
add esp, 0xc
call fcn.0046b68c
jmp 0x476c80
cmp dword [0x405090], 0xfa
je 0x476a01
cmp dword [0x405090], 0xfb
jne 0x476a04
sub esi, 2
mov ebx, dword [0x40503c]
push esi
push ebx
cmp word [esi], 0
jne 0x476a19
cmp esi, ebx
jl 0x476a19
sub esi, 2
cmp word [esi], 0x20
je 0x476a31
cmp word [esi], 9
je 0x476a31
cmp word [esi], 0xa
je 0x476a31
cmp word [esi], 0xd
jne 0x476a36
sub esi, 2
jmp 0x476a19
mov edx, 0x4670fc
mov edi, edx
mov ecx, 0x400
xor eax, eax
rep stosd dword es:[edi], eax
mov ax, word [esi]
mov word [edx], ax
sub esi, 2
add edx, 2
cmp word [esi], 0x20
je 0x476a7c
cmp word [esi], 9
je 0x476a7c
cmp word [esi], 0xa
je 0x476a7c
cmp word [esi], 0x3a
je 0x476a7c
cmp esi, ebx
jl 0x476a7c
mov ax, word [esi]
mov word [edx], ax
sub esi, 2
add edx, 2
jmp 0x476a52
push 0x4670fc
call dword [sym.imp.msvcrt.dll__wcsrev]
add esp, 4
pop ebx
pop esi
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
cmp ebx, esi
jg 0x476bc0
push dword [0x405088]
push ebx
call fcn.004730a7
test eax, eax
je 0x476bc0
add eax, eax
add ebx, eax
add dword [ebp - 4], 1
cmp word [ebx], 0
je 0x476bc0
push 0x403f7c
push dword [0x405088]
call dword [sym.imp.shlwapi.dll_StrStrW]
cmp eax, 0
je 0x476b44
add eax, 0xa
mov edi, eax
cmp word [eax], 0
je 0x476afa
cmp word [eax], 0x23
je 0x476afa
cmp word [eax], 0xd
je 0x476afa
add eax, 2
jmp 0x476ae3
cmp word [eax], 0x23
jne 0x476bbb
mov word [eax], 0
push edi
call dword [sym.imp.shlwapi.dll_PathFindFileNameW]
push eax
push dword [0x40507c]
call dword [sym.imp.kernel32.dll_lstrcpyW]
push dword [0x405088]
push ebx
call fcn.004730a7
mov ecx, dword [ebp - 4]
sub ecx, 1
mov eax, dword [ebp - 8]
mov dword [eax*4 + 0x4450fc], ecx
mov dword [ebp - 4], 0
add dword [ebp - 8], 1
push 0x403f70
push dword [0x405088]
call dword [sym.imp.shlwapi.dll_StrStrW]
cmp eax, 0
je 0x476bbb
add eax, 0xa
mov edi, eax
cmp word [eax], 0
je 0x476b76
cmp word [eax], 0x23
je 0x476b76
cmp word [eax], 0xd
je 0x476b76
add eax, 2
jmp 0x476b5f
cmp word [eax], 0x23
jne 0x476bbb
mov word [eax], 0
push edi
call dword [sym.imp.shlwapi.dll_PathFindFileNameW]
push eax
push dword [0x40507c]
call dword [sym.imp.kernel32.dll_lstrcpyW]
push dword [0x405088]
push ebx
call fcn.004730a7
cmp dword [ebp - 8], 0
jle 0x476bab
sub dword [ebp - 8], 1
mov eax, dword [ebp - 8]
mov ecx, dword [eax*4 + 0x4450fc]
sub ecx, 1
mov dword [ebp - 4], ecx
jmp 0x476a9a
nop
call 0x476bd0
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add bh, bh
xor eax, 0x405088
call dword [sym.imp.shlwapi.dll_StrTrimW]
nop
call 0x476bec
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [eax - 4], ch
jo 0x476c36
add bh, bh
adc eax, sym.imp.shlwapi.dll_StrTrimW
push dword [0x405088]
push 0x4670fc
push dword [ebp + 8]
push dword [ebp - 4]
push dword [0x40507c]
nop
call 0x476c50
and eax, 0xd007300
add byte [edx], cl
add byte [0x25000a00], cl
add byte [eax + eax + 0x3a], ah
add byte [eax], ah
add byte [0x2c007300], ah
add byte [eax], ah
add byte [esi], ch
add byte gs:[ecx], ah
jb 0x476c38
and byte [eax], al
daa
add byte [0x27007300], ah
add byte [0xd000a00], cl
add byte [edx], cl
add byte [0x7300], ah
add bh, bh
xor eax, 0x40508c
call dword [sym.imp.user32.dll_wsprintfW]
add esp, 0x1c
push 0x1010
push 0x4041c6
push dword [0x40508c]
push dword [0x4012e8]
call dword [sym.imp.user32.dll_MessageBoxW]
jmp fcn.004743a5
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop eax
leave
ret 4