Function at 0x401000
Capabilities:
Accept command line arguments
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
mov edx, ebx
add edx, edi
add ecx, edx
add ecx, 0x7a499744
xor ecx, edx
add edx, ecx
and ecx, ebx
shl edx, 1
call main
shr edx, 0x1c
and ebx, edi
rol ebx, 0xc
rol ebx, 0x1c
sub ecx, ebx
and edx, 0x7a4e6a13
xor ebx, 0x7a4ed9fd
cmp eax, 0xffffff38
jne 0x4010b7
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.ole32.dll_GetDocumentBitStg
call sub.ole32.dll_GetDocumentBitStg
call sub.user32.dll_DefDlgProcA
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.kernel32.dll_CancelIo
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.user32.dll_DefDlgProcA
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.user32.dll_DefDlgProcA
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.ole32.dll_GetDocumentBitStg
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
ret
xchg edx, ebx
inc ecx
bswap ebx
sub edi, edx
bswap ecx
mov ecx, edx
sub edx, 0x7a5b3fe5
call main
ror ebx, 0xd
xor edi, ebx
mov edi, ebx
xor ebx, edx
shr edx, 0x1b
cmp eax, 0xffffff24
jne 0x401158
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
call sub.ole32.dll_GetDocumentBitStg
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.ole32.dll_GetDocumentBitStg
call sub.user32.dll_DefDlgProcA
call sub.user32.dll_DefDlgProcA
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
ret
or edx, ecx
xor ebx, 0x7a6639ca
add ebx, edx
neg ecx
mov edi, edx
and edx, 0x7a68033d
dec edi
or edi, ecx
call main
shl ecx, 0xa
bswap edx
cmp eax, 0xfffffee4
jne 0x4011f3
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.user32.dll_DefDlgProcA
call sub.user32.dll_DefDlgProcA
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.user32.dll_DefDlgProcA
call sub.user32.dll_DefDlgProcA
call sub.user32.dll_DefDlgProcA
call sub.user32.dll_DefDlgProcA
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
call sub.user32.dll_DefDlgProcA
call sub.ole32.dll_GetDocumentBitStg
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
call sub.ole32.dll_GetDocumentBitStg
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.ole32.dll_GetDocumentBitStg
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
ret
sub ecx, 0x7a728b69
and ebx, edx
dec ebx
mov ecx, edx
add ecx, 0x7a7446f8
and edx, ecx
or edx, edi
call sub.kernel32.dll_GetCommandLineA
shr ebx, 6
cmp eax, 0xfffffef9
jne 0x4012b2
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
call sub.ole32.dll_GetDocumentBitStg
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.ole32.dll_GetDocumentBitStg
call sub.ole32.dll_GetDocumentBitStg
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.ole32.dll_GetDocumentBitStg
call sub.user32.dll_DefDlgProcA
call sub.ole32.dll_GetDocumentBitStg
call sub.ole32.dll_GetDocumentBitStg
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.kernel32.dll_CancelIo
call sub.user32.dll_DefDlgProcA
call sub.user32.dll_DefDlgProcA
call sub.ole32.dll_GetDocumentBitStg
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.ole32.dll_GetDocumentBitStg
call sub.kernel32.dll_CancelIo
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
call sub.kernel32.dll_CancelIo
call sub.user32.dll_DefDlgProcA
call sub.kernel32.dll_CancelIo
call sub.ole32.dll_GetDocumentBitStg
call sub.ws2_32.dll_WSAAsyncGetProtoByNumber
ret
jmp 0x4b7139
xchg edi, ecx
sub ebx, ecx
jmp 0x4b9f6a
mov ecx, 0x123b2f04
and esi, ebx
add edi, 0x85da97bc
xor esi, 0x85daf3a1
and ebx, edi
not edx
add edx, ebx
xor esi, edi
ror ebx, 2
or ebx, 0x85dd89eb
jmp 0x4ba224
pop ecx
or edx, esi
xchg edi, ebx
and edi, edx
sub edi, edx
inc ebx
neg esi
shl edx, 0x16
and edi, 0x85efc393
xor ebx, edx
jmp 0x4b7586
call fcn.004ba4f7
xchg edx, edi
sub ebx, edx
ror ebx, 0x13
sub ebx, esi
mov ebx, 0x869bbdc3
xchg esi, edi
ror edx, 0x18
sub edi, ebx
and edx, 0x869e06ba
add ebx, edx
or ebx, edi
rol edx, 0xf
sub ebx, esi
inc edx
add esi, ebx
jmp 0x4b8dea
pop ecx
dec ebx
xchg ebx, edx
xor ebx, edx
or esi, 0x86ea5b96
dec edx
and ebx, edx
mov ebx, 0x86f207a6
xor ebx, edi
add ebx, edx
rol edi, 6
add edx, ebx
sub ebx, edx
or ebx, 0x86f54a04
or ebx, 0x86f5c1ff
jmp 0x4b8678
push 0x7bf8d3cb
sub edx, ebx
add edi, 0x8730ad49
mov edi, ebx
mov ebx, edx
mov esi, edi
shr edi, 0x16
xchg edx, edi
not edx
bswap edi
jmp 0x4b8c71
mov ecx, 0x123b2f04
bswap ebx
sub edx, ebx
mov ebx, 0x8756c2a2
sub ebx, edx
mov ebx, esi
jmp 0x4b7e92
push 0x7bf8192e
sub edx, ebx
xor ebx, edi
sub edi, ebx
xchg esi, ebx
xchg edi, edx
or edi, esi
sub esi, 0x87cf0a8b
xor edi, edx
shr edi, 0x1d
dec edx
not edx
ror ebx, 0xa
xchg edx, ebx
jmp 0x4b8546
mov ecx, 0x123b2f04
and esi, 0x883fb029
and ebx, esi
add edx, edi
xor edi, ebx
xchg esi, ebx
nop
xor esi, edi
bswap edi
sub esi, 0x88469189
xor edx, ebx
xchg edx, ebx
jmp 0x4b8b0d
pop ecx
add edi, 0x8848468f
xchg esi, edx
inc ebx
mov edx, esi
sub edx, edi
shl edx, 0x1c
dec edx
or esi, ebx
jmp 0x4b9d9d
push 0x7c0f45ae
and edx, ebx
and edx, ebx
sub edx, 0x88603450
xchg esi, edx
neg ebx
neg esi
not esi
jmp 0x4b8d70
jmp loc.004bf000
pop ecx
xor edx, ebx
sub edi, esi
sub edi, esi
and edx, ebx
add edx, 0x88d0d79c
or edx, 0x88d13d34
add edx, 0x88d1ae28
mov edx, edi
jmp 0x4b7203
push 0x7bf7c895
and edi, edx
xchg edx, esi
xor edx, esi
add edx, ebx
and edi, edx
not ebx
xchg edi, edx
jmp 0x4b7aa7
push 0x7c0ef4b1
or ebx, esi
shr ebx, 0x1c
xor esi, edx
and ebx, esi
or edx, esi
or edx, 0x88fea24e
ror ebx, 4
sub ebx, edi
add edi, esi
jmp 0x4b7d47
push 0x7bfc20d5
xor ebx, edi
xor edi, 0x89492e57
mov edi, esi
xor ebx, esi
xor ebx, edx
mov edi, ebx
or ebx, 0x894f90d6
sub edi, edx
or ebx, esi
and ebx, 0x89512f6d
neg esi
xor ebx, esi
inc edx
xchg ebx, esi
jmp 0x4b7193
push 0x7c03ec13
sub ebx, edx
sub esi, ebx
sub edx, edi
inc edi
mov edi, 0x89776070
mov edx, edi
jmp 0x4b9ecb
push 0x7c036552
add ebx, esi
or ebx, 0x899ddd1c
and esi, edi
and edx, esi
sub ebx, 0x899f87b9
xor esi, 0x89a032a5
sub ebx, edi
add edx, edi
mov edi, esi
mov ebx, edi
or edi, esi
jmp 0x4b837d
push 0x7c0678c3
dec edi
shl edi, 0x13
add ebx, esi
and edx, esi
xor esi, ebx
sub esi, edx
rol edi, 5
mov edx, ebx
xor ebx, esi
or edi, esi
ror esi, 0x11
nop
ror edx, 1
jmp 0x4ba464
push 0x7bf86afc
and esi, 0x89d14b2d
neg edx
xor edx, 0x89d239c4
mov esi, edi
or edx, esi
jmp 0x4b76d5
pop ecx
mov esi, 0x89eca318
xor edi, ebx
shl ebx, 0x13
mov ebx, edi
xor edi, ebx
xor edi, 0x89eeea3b
rol edi, 0x1f
xchg ebx, edi
jmp 0x4b8e14
pop ecx
mov esi, edi
mov ebx, edi
rol edx, 0x15
dec edx
neg esi
not ebx
xor ebx, esi
ror esi, 0x18
or edi, edx
add edi, esi
jmp 0x4b8b69
call fcn.004ba4f7
shr esi, 0x11
add edi, esi
add edi, edx
add esi, 0x8a6b4b01
sub edx, esi
jmp 0x4b9c54
push 0x7bfb80b2
and edx, edi
mov esi, edi
sub esi, edi
shl edi, 0x11
mov edi, ebx
shr edi, 0x13
sub ebx, 0x8ac0e08f
inc ebx
sub esi, edx
xor esi, edx
shl edi, 0x10
sub edx, edi
jmp 0x4b9e0f
push 0x7c0e3c64
sub edi, ebx
dec esi
and ebx, edx
xor edx, ebx
mov edi, esi
and esi, edi
xor edx, esi
xor ebx, esi
and edx, 0x8ac7fe04
or edx, esi
jmp 0x4b94f9
call fcn.004ba4f7
dec edx
and edx, esi
rol edi, 0x17
jmp 0x4b9b42
pop ecx
dec esi
mov edx, esi
shr edi, 7
or edx, esi
xor edi, edx
sub edi, edx
not ebx
add esi, edx
xchg esi, edx
jmp 0x4b8983
mov ecx, 0x2774562b
ror edx, 0x18
rol edx, 0xf
add ebx, esi
sub ebx, esi
add edi, edx
add edx, ebx
jmp 0x4b998e
pop ecx
add esi, 0x8b75a1ab
or esi, edi
rol edi, 0xd
add ebx, 0x8b765d1b
sub esi, edi
and edx, 0x8b76d859
or ebx, esi
and ebx, edx
and edx, ebx
mov esi, edx
sub esi, ebx
add esi, edi
jmp 0x4b907e
push 0x7c0f95f4
and esi, 0x8b78c6a9
xor edx, esi
xor ebx, 0x8b796bc8
bswap edx
or edi, ebx
inc edx
jmp 0x4b77ad
call ecx
inc edx
neg ebx
mov edi, 0x8b872fc7
shl esi, 6
xor esi, edx
or edi, ebx
jmp 0x4b913e
pop ecx
mov ebx, edi
xchg ebx, edi
sub edi, ebx
jmp 0x4b895b
pop ecx
and esi, edx
or ebx, edx
rol ebx, 0x1b
or esi, edx
xchg ebx, edi
mov edi, edx
mov esi, edx
inc edx
or edx, edi
xchg ebx, edx
and edi, edx
and edi, edx
and ebx, esi
jmp 0x4b9ee4
mov ecx, 0x123b2f04
and esi, ebx
sub ebx, edx
or edi, esi
or edi, ebx
and edx, edi
add esi, edi
mov esi, edi
xor esi, edi
mov ebx, edx
neg edx
xor esi, edi
jmp 0x4b87d8
pop ecx
xchg edi, esi
mov esi, edx
jmp 0x4b85ed
pop ecx
xchg ebx, edi
sub esi, ebx
mov ebx, edx
mov edx, 0x8c075a29
mov esi, edx
and edx, ebx
and edx, ebx
jmp 0x4ba486
call ecx
neg edi
and esi, ebx
xor edx, 0x8c211344
shl edx, 0xa
sub edi, edx
inc esi
and edi, esi
xor edx, edi
shl edx, 4
or esi, ebx
shr edi, 0xb
or edx, edi
mov ebx, edx
jmp 0x4b8d45
push 0x7c074644
mov esi, ebx
sub esi, edx
add edi, 0x8c37e894
xchg edx, ebx
shl edi, 0x18
and esi, edx
bswap ebx
jmp 0x4b9297
push 0x7c079ea2
mov esi, edx
shr ebx, 0xe
or ebx, edi
add edi, 0x8c4750b1
xchg edx, ebx
mov edx, ebx
mov edi, ebx
sub edi, edx
and ebx, 0x8c4dd262
add esi, edi
jmp 0x4b9913
push 0x7c0ea1bb
xchg edi, esi
dec edi
xor edi, 0x8cfd1c07
ror edi, 4
xor ebx, esi
or edi, 0x8cfdfa6d
sub edi, 0x8cfe4e59
xchg esi, ebx
or ebx, edx
ror esi, 0x17
and ebx, esi
jmp 0x4b8159
push 0x7c07ec12
bswap ebx
or edx, esi
xor esi, edi
xchg ebx, edi
mov edx, 0x8db6e7b6
jmp 0x4b905e
call ecx
or edi, 0x8dc00160
mov ebx, edi
xor ebx, edi
neg ebx
add edx, 0x8dc1fb76
or edi, ebx
xchg esi, edi
jmp 0x4b7d2e
call fcn.004ba4f7
add esi, ebx
mov edx, ebx
sub ebx, esi
xor ebx, edi
dec ebx
add edi, ebx
sub ebx, esi
or esi, edx
rol ebx, 0xb
add esi, ebx
or ebx, esi
or ebx, 0x8dd1bc70
xor edx, ebx
sub esi, ebx
xchg ebx, edi
add esi, edi
jmp 0x4b91b2
call ecx
or esi, ebx
rol edi, 3
mov edi, esi
not edx
xor ebx, 0x8e18a6ed
or ebx, edi
bswap edi
not edx
xor esi, 0x8e1a9b60
neg ebx
jmp 0x4b9fcb
call ecx
mov edx, esi
xor ebx, esi
sub ebx, 0x8e404ef6
dec ebx
sub esi, ebx
add edx, 0x8e42040f
neg esi
xor esi, edi
mov ebx, esi
add ebx, 0x8e43e48f
jmp 0x4b8020
pop ecx
bswap edi
xchg edi, ebx
sub ebx, edx
and esi, ebx
bswap edx
shl edx, 7
add esi, edx
jmp 0x4b8fd3
push 0x7bfbcd10
ror edi, 0x1d
neg edi
sub ebx, esi
shl edx, 0x18
rol ebx, 9
or ebx, edx
rol esi, 0x15
xor edx, esi
xchg edx, edi
or edx, ebx
and edi, esi
and edx, edi
or edi, esi
and edx, edi
sub edx, esi
sub ebx, 0x8e7ec007
jmp 0x4b82b9
mov ecx, 0x2774562b
and ebx, edx
or edi, esi
xor edi, edx
mov ebx, edx
add ebx, esi
not edi
shl edx, 0xf
jmp 0x4b7402
push 0x7c031635
and edx, esi
add esi, ebx
mov ebx, edi
sub ebx, edi
shl esi, 0xb
xchg esi, edi
mov edx, 0x8ea4df80
sub edi, 0x8ea559b2
sub esi, edi
add edx, esi
jmp 0x4b8458
pop ecx
bswap edi
inc edx
xor edx, edi
jmp 0x4b84f7
push 0x7bf380c9
sub edx, edi
dec edi
bswap edx
ror esi, 0xb
add edx, ebx
mov edi, ebx
shr esi, 8
add edi, ebx
inc ebx
xor esi, edi
shr ebx, 2
add edx, edi
rol esi, 4
or ebx, esi
xchg edx, esi
jmp 0x4b7d07
pop ecx
or edi, esi
mov edx, edi
xchg edi, ebx
xchg ebx, edx
and esi, edi
xchg edi, edx
or edi, ebx
or edi, 0x8ee1cb49
mov edi, ebx
add esi, edi
dec esi
add edx, esi
sub edx, 0x8ee32094
jmp 0x4b808b
call fcn.004ba4f7
and edx, 0x8f4d2d98
and edi, ebx
shr edi, 7
or esi, 0x8f4e86e1
and ebx, 0x8f4efd15
xor edx, 0x8f4f729c
sub esi, ebx
mov esi, 0x8f505377
and esi, 0x8f50d68b
or edx, esi
shr ebx, 0xe
nop
and ebx, edi
sub esi, edx
mov esi, edx
jmp 0x4b9944
push 0x7c06e81b
shl edx, 4
xchg edi, esi
neg esi
and ebx, esi
add esi, ebx
dec edi
and edx, 0x8f9938c3
add edx, ebx
and ebx, edi
xor edx, edi
jmp 0x4b923c
pop ecx
mov edx, ebx
add esi, edi
or edi, 0x8f9b1068
mov edi, edx
inc ebx
mov edx, edi
xchg ebx, edi
xchg edi, ebx
mov edx, ebx
nop
jmp 0x4b9f2c