Function at 0x476bb8
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], 0xb9
jne 0x476951
push 0x40432a
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b99f
add esp, 0xc
call fcn.0046b651
jmp 0x476be8
cmp dword [0x4051a4], 0xf9
je 0x476969
cmp dword [0x4051a4], 0xfa
jne 0x47696c
sub esi, 2
mov ebx, dword [0x405150]
push esi
push ebx
cmp word [esi], 0
jne 0x476981
cmp esi, ebx
jl 0x476981
sub esi, 2
cmp word [esi], 0x20
je 0x476999
cmp word [esi], 9
je 0x476999
cmp word [esi], 0xa
je 0x476999
cmp word [esi], 0xd
jne 0x47699e
sub esi, 2
jmp 0x476981
mov edx, 0x467210
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 0x4769e4
cmp word [esi], 9
je 0x4769e4
cmp word [esi], 0xa
je 0x4769e4
cmp word [esi], 0x3a
je 0x4769e4
cmp esi, ebx
jl 0x4769e4
mov ax, word [esi]
mov word [edx], ax
sub esi, 2
add edx, 2
jmp 0x4769ba
push 0x467210
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 0x476b28
push dword [0x40519c]
push ebx
call fcn.00472fdf
test eax, eax
je 0x476b28
add eax, eax
add ebx, eax
add dword [ebp - 4], 1
cmp word [ebx], 0
je 0x476b28
push 0x4040a8
push dword [0x40519c]
call dword [sym.imp.shlwapi.dll_StrStrW]
cmp eax, 0
je 0x476aac
add eax, 0xa
mov edi, eax
cmp word [eax], 0
je 0x476a62
cmp word [eax], 0x23
je 0x476a62
cmp word [eax], 0xd
je 0x476a62
add eax, 2
jmp 0x476a4b
cmp word [eax], 0x23
jne 0x476b23
mov word [eax], 0
push edi
call dword [sym.imp.shlwapi.dll_PathFindFileNameW]
push eax
push dword [0x405190]
call dword [sym.imp.kernel32.dll_lstrcpyW]
push dword [0x40519c]
push ebx
call fcn.00472fdf
mov ecx, dword [ebp - 4]
sub ecx, 1
mov eax, dword [ebp - 8]
mov dword [eax*4 + 0x445210], ecx
mov dword [ebp - 4], 0
add dword [ebp - 8], 1
push 0x40409c
push dword [0x40519c]
call dword [sym.imp.shlwapi.dll_StrStrW]
cmp eax, 0
je 0x476b23
add eax, 0xa
mov edi, eax
cmp word [eax], 0
je 0x476ade
cmp word [eax], 0x23
je 0x476ade
cmp word [eax], 0xd
je 0x476ade
add eax, 2
jmp 0x476ac7
cmp word [eax], 0x23
jne 0x476b23
mov word [eax], 0
push edi
call dword [sym.imp.shlwapi.dll_PathFindFileNameW]
push eax
push dword [0x405190]
call dword [sym.imp.kernel32.dll_lstrcpyW]
push dword [0x40519c]
push ebx
call fcn.00472fdf
cmp dword [ebp - 8], 0
jle 0x476b13
sub dword [ebp - 8], 1
mov eax, dword [ebp - 8]
mov ecx, dword [eax*4 + 0x445210]
sub ecx, 1
mov dword [ebp - 4], ecx
jmp 0x476a02
nop
call 0x476b38
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add bh, bh
xor eax, 0x40519c
call dword [sym.imp.shlwapi.dll_StrTrimW]
nop
call 0x476b54
or dword [eax], eax
and byte [eax], al
or eax, 0xa00
add byte [eax + 0x10], ch
jb 0x476b9e
add bh, bh
adc eax, sym.imp.shlwapi.dll_StrTrimW
push dword [0x40519c]
push 0x467210
push dword [ebp + 8]
push dword [ebp - 4]
push dword [0x405190]
nop
call 0x476bb8
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 0x476ba0
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, 0x4051a0
call dword [sym.imp.user32.dll_wsprintfW]
add esp, 0x1c
push 0x1010
push 0x4042f8
push dword [0x4051a0]
push dword [0x401208]
call dword [sym.imp.user32.dll_MessageBoxW]
jmp fcn.004742d1
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop eax
leave
ret 4