Function at 0x517000
Capabilities:
Accept command line arguments

Disassembly:
imul esi, dword [esi + eax + 0x53], 0x65747379
insd dword es:[edi], dx
push cs
push edi
imul ebp, dword [esi + 0x61], 0x572e6970
imul ebp, dword [esi + 0x64], 0xe73776f
push ebx
jns 0x516bd8
je 0x516bcc
insd dword es:[edi], dx
push ebp
dec ecx
push esp
jns 0x516bde
jae 0x516b7d
push ebx
jns 0x516be7
je 0x516bdb
insd dword es:[edi], dx
push esp
jns 0x516beb
jae 0x516b8c
push cs
push ebx
jns 0x516bf4
je 0x516be8
insd dword es:[edi], dx
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x516bf8
jb 0x516bff
or edx, dword [ebx + 0x79]
jae 0x516c05
insd dword es:[edi], dx
dec ebp
popal
je 0x516c00
rcpps xmm7, xmmword [ecx + 0x73]
je 0x516c03
insd dword es:[edi], dx
push ebx
jns 0x516c16
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x516c1c
rcpps xmm7, xmmword [ecx + 0x73]
je 0x516c13
insd dword es:[edi], dx
push ebx
jns 0x516c26
push ebp
je 0x516c1f
insb byte es:[edi], dx
jae 0x516bd1
push ebx
jns 0x516c2f
je 0x516c23
insd dword es:[edi], dx
dec ecx
outsb dx, byte [esi]
je 0x516c29
jb 0x516c34
popal
insb byte es:[edi], dx
inc ebp
js 0x516c2f
push ebp
je 0x516c38
insb byte es:[edi], dx
jae 0x516be2
adc byte [ebx + 0x79], dl
jae 0x516c4a
push ebx
jns 0x516c48
je 0x516c3c
insd dword es:[edi], dx
insd dword es:[edi], dx
inc ebx
push 0x63617261
je 0x516c46
popal
jb 0x516c3f
arpl word [ebp + 0x72], si
jb 0x516bef
or al, 0x57
push edi
imul ebp, dword [esi + 0x61], 0x502e6970
jo 0x516c52
imul ebp, dword [esi], 0x50417350
push eax
jae 0x516c2e
push eax
dec ecx
xorps xmm5, xmmword [ecx + 0x6e]
popal
jo 0x516c5f
push ebx
dec eax
inc esi
outsd dx, dword [esi]
insb byte es:[edi], dx
jb 0x516c0f
xorps xmm5, xmmword [ecx + 0x6e]
push edi
imul ebp, dword [esi + 0x61], 0x492e6970
popal
jo 0x516c6f
imul ebp, dword [esi], 0x67616d49
dec eax
dec ecx
insd dword es:[edi], dx
popal
dec eax
insb byte es:[edi], dx
jo 0x516c1e
push cs
push ebx
jns 0x516c86
je 0x516c7a
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
popal
jae 0x516c8f
jae 0x516c2d
push cs
push ebx
jns 0x516c95
je 0x516c89
insd dword es:[edi], dx
insd dword es:[edi], dx
push esp
push esp
jns 0x516c99
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
rcpps xmm7, xmmword [ecx + 0x73]
push ebx
jns 0x516ca4
je 0x516c98
insd dword es:[edi], dx
push esi
popal
jb 0x516ca2
imul esp, dword [ecx + 0x6e], 0x530f7374
popal
outsb dx, byte [esi]
je 0x516cb0
jae 0x516c4d
rcpps xmm7, xmmword [ecx + 0x73]
push ebx
jns 0x516cb4
je 0x516ca8
insd dword es:[edi], dx
push esi
popal
jb 0x516c9e
push ebp
je 0x516cb4
imul ebp, dword [ebx + esi*2 + 0xe], 0x616e6957
insb byte es:[edi], dx
jae 0x516c5c
push cs
push edi
imul ebp, dword [esi + 0x61], 0x412e6970
jo 0x516cbd
inc ecx
arpl word [ecx + ebp*2 + 0x76], si
pop eax
xorps xmm5, xmmword [ecx + 0x6e]
outsb dx, byte [esi]
popal
jo 0x516ccc
dec ebp
jae 0x516cdb
popal
jae 0x516c7c
push edi
imul ebp, dword [esi + 0x61], 0x4d2e6970
outsb dx, byte [esi]
popal
jo 0x516cdc
dec ebp
jne 0x516ce3
je 0x516ce2
dec ebp
outsd dx, dword [esi]
outsb dx, byte [esi]
rcpps xmm7, xmmword [ecx + 0x73]
je 0x516ce7
insd dword es:[edi], dx
push ebx
je 0x516cf9
jb 0x516cdd
push ebp
je 0x516cf3
imul ebp, dword [ebx + esi*2 + 0xa], 0x2e6c6356
push esp
insb byte es:[edi], dx
jae 0x516c97
push esi
arpl word [esi + ebp + 0x54], bp
insb byte es:[edi], dx
push esp
push 0x73656d65
jae 0x516cb3
sbb edx, dword [ebx + 0x79]
jae 0x516d10
push ebx
jns 0x516d0e
je 0x516d02
insd dword es:[edi], dx
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
jb 0x516d0e
imul esp, dword [ebx + 0x73], 0x6c6f432e
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x516ccc
sbb byte [ebx + 0x79], dl
jae 0x516d2c
push ebx
jns 0x516d2a
je 0x516d1e
insd dword es:[edi], dx
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
jb 0x516d2a
arpl word [ebx + 0x2e], si
inc esp
popaw
jne 0x516d36
je 0x516d3f
or al, 0x56
arpl word [esi + ebp + 0x45], bp
js 0x516d48
inc ebx
je 0x516d49
insb byte es:[edi], dx
jae 0x516ce9
push edi
imul ebp, dword [esi + 0x61], 0x432e6970
outsb dx, byte [esi]
popal
jo 0x516d49
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
inc ebx
je 0x516d5a
jb 0x516d55
insb byte es:[edi], dx
or eax, 0x616e6957
jo 0x516d59
inc esp
ja 0x516d61
insd dword es:[edi], dx
popal
jo 0x516d60
push cs
push edi
imul ebp, dword [esi + 0x61], 0x552e6970
js 0x516d56
push 0xf656d65
push ebx
jns 0x516d7d
je 0x516d71
insd dword es:[edi], dx
push ebx
push ebx
jns 0x516d7f
outsb dx, byte [esi]
arpl word [edi + 0x62], cx
push 0x73
adc dl, byte [ebx + 0x79]
jae 0x516d8f
insd dword es:[edi], dx
inc esp
inc esp
imul esp, dword [ecx + 0x67], 0x74736f6e
imul esp, dword [ebx + 0x73], 0x7379530f
push ebx
jns 0x516da0
jae 0x516da2
je 0x516d94
insd dword es:[edi], dx
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x6e617053
jo 0x516d99
outsb dx, byte [esi]
or dl, byte [esi + 0x63]
insb byte es:[edi], dx
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x516db7
jae 0x516d54
push edi
imul ebp, dword [esi + 0x61], 0x532e6970
popal
jo 0x516db4
push ebx
push 0x416c6c65
push eax
dec ecx
xorps xmm5, xmmword [ecx + 0x6e]
popal
push edi
imul ebp, dword [esi + 0x61], 0x492e6970
jo 0x516dc4
imul ebp, dword [esi], 0x78457049
dec ecx
jo 0x516da4
js 0x516dd1
jo 0x516dd1
outsd dx, dword [esi]
jb 0x516dd8
xorps xmm5, xmmword [ecx + 0x6e]
popal
jo 0x516dd4
push edi
imul ebp, dword [esi + 0x73], 0x326b636f
arpl word [ebx + 0x32], bp
or dl, byte [edi + 0x69]
outsb dx, byte [esi]
popal
jo 0x516de4
push ecx
outsd dx, dword [esi]
jae 0x516d8b
or edx, dword [esi + 0x63]
insb byte es:[edi], dx
dec ecx
push esi
arpl word [esi + ebp + 0x49], bp
insd dword es:[edi], dx
dec esp
imul esi, dword [ebx + 0x74], 0x6c635609
or dword [esi + 0x63], edx
insb byte es:[edi], dx
inc esi
outsd dx, dword [esi]
jb 0x516e01
jae 0x516da2
push esi
arpl word [esi + ebp + 0x53], bp
push ebx
je 0x516e01
inc ebx
je 0x516e12
insb byte es:[edi], dx
jae 0x516daf
or al, 0x56
push esi
arpl word [esi + ebp + 0x41], bp
arpl word [esi + ebp*2 + 0x4c], si
imul esi, dword [ebx + 0x74], 0x6c63560c
inc ebx
or al, 0x56
arpl word [esi + ebp + 0x43], bp
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x516e2b
outsd dx, dword [esi]
insb byte es:[edi], dx
jae 0x516dca
push esi
arpl word [esi + ebp + 0x47], bp
jb 0x516e25
jo 0x516e2e
push ebp
je 0x516e32
insb byte es:[edi], dx
or edx, dword [ebx + 0x79]
jae 0x516e43
insd dword es:[edi], dx
pop edx
dec esp
imul esp, dword [edx + 0xf], 0x74737953
insd dword es:[edi], dx
jns 0x516e4d
je 0x516e41
insd dword es:[edi], dx
push edi
imul ebp, dword [esi + 0x2e], 0x6c747243
je 0x516e52
or al, 0x56
arpl word [esi + ebp + 0x47], bp
jb 0x516e4f
jo 0x516e58
imul esp, dword [ebx + 0x73], 0x7379530f
je 0x516e5e
insd dword es:[edi], dx
push ebp
dec ecx
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x516e76
je 0x516e76
jae 0x516e17
adc edx, dword [ebx + 0x79]
jae 0x516e7c
push ebx
jns 0x516e7a
je 0x516e6e
insd dword es:[edi], dx
insd dword es:[edi], dx
push edi
imul ebp, dword [esi + 0x2e], 0x69676552
jae 0x516e89
imul esi, dword [ebx + 0x74], 0x530f7972
jns 0x516e8e
jb 0x516e90
rcpps xmm7, xmmword [ecx + 0x73]
je 0x516e82
insd dword es:[edi], dx
dec ecx
outsb dx, byte [esi]
imul eax, dword [esi + 0x69], 0xe73656c
jae 0x516e36
push ebx
jns 0x516e9e
je 0x516e92
insd dword es:[edi], dx
dec ecx
dec edi
push ebp
je 0x516e9d
insb byte es:[edi], dx
jae 0x516e43
or al, 0x53
push ebx
jns 0x516ead
je 0x516ea1
insd dword es:[edi], dx
dec ebp
popal
jae 0x516ead
imul esi, dword [ebx + 0x10], 0x53
jae 0x516e54
adc byte [ebx + 0x79], dl
jae 0x516ebc
push ebx
jns 0x516eba
je 0x516eae
insd dword es:[edi], dx
insd dword es:[edi], dx
inc esp
popal
je 0x516eb4
push ebp
je 0x516ebb
insb byte es:[edi], dx
jae 0x516e67
adc dl, byte [ebx + 0x79]
jae 0x516ecd
push ebx
jns 0x516ecb
je 0x516ebf
insd dword es:[edi], dx
insd dword es:[edi], dx
inc ecx
outsb dx, byte [esi]
jae 0x516ec9
push ebx
je 0x516ed5
imul ebp, dword [esi + 0x67], 0x69570f73
outsb dx, byte [esi]
xorps xmm5, xmmword [ecx + 0x6e]
popal
jo 0x516ed7
push edi
imul ebp, dword [esi + 0x63], 0x6365646f
push cs
arpl word [esi], cx
push edi
imul ebp, dword [esi + 0x61], 0x542e6970
outsb dx, byte [esi]
popal
jo 0x516ee7
push esp
jo 0x516ee5
push ebx
push 0x570a6472
imul ebp, dword [esi + 0x61], 0x492e6970
outsb dx, byte [esi]
popal
jo 0x516ef6
dec ecx
dec ecx
insd dword es:[edi], dx
insd dword es:[edi], dx
or dword [esi + 0x63], edx
insb byte es:[edi], dx
dec ebp
push esi
arpl word [esi + ebp + 0x4d], bp
outsb dx, byte gs:[esi]
jne 0x516f0e
or al, 0x56
arpl word [esi + ebp + 0x53], bp
insb byte es:[edi], dx
push ebx
je 0x516f07
inc ecx
arpl word [esi + ebp*2 + 0x73], si
or al, 0x56
arpl word [esi + ebp + 0x43], bp
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
inc ebx
je 0x516f25
insb byte es:[edi], dx
jae 0x516ec4
push edi
imul ebp, dword [esi + 0x61], 0x432e6970
jo 0x516f25
imul ebp, dword [esi], 0x6d6d6f43
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
inc esp
insb byte es:[edi], dx
or eax, 0x616e6957
or eax, 0x616e6957
jo 0x516f34
push ebx
push 0x6a624f6c
or al, 0x57
imul ebp, dword [esi + 0x61], 0x6d2e6970
outsb dx, byte [esi]
popal
jo 0x516f42
insd dword es:[edi], dx
jae 0x516f55
insd dword es:[edi], dx
insb byte es:[edi], dx
adc dword [ebx + 0x79], edx
jae 0x516f58
insd dword es:[edi], dx
insd dword es:[edi], dx
push edi
push edi
imul ebp, dword [esi + 0x2e], 0x4f6d6f43
bound ebp, qword [edx + 0x13]
push ebx
jns 0x516f68
je 0x516f5c
insd dword es:[edi], dx
insd dword es:[edi], dx
push edi
imul ebp, dword [esi + 0x2e], 0x436d6f43
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x516f79
pop ds
push edi
imul ebp, dword [esi + 0x61], 0x532e6970
je 0x516f82
jne 0x516f75
je 0x516f89
jb 0x516f7b
push ecx
jne 0x516f7f
jb 0x516f95
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
imul esi, dword fs:[ecx + ebp*2 + 0x6f], 0x69570e6e
outsb dx, byte [esi]
popal
jo 0x516f95
push cs
push edi
imul ebp, dword [esi + 0x61], 0x502e6970
push eax
jb 0x516f9f
jo 0x516f85
jns 0x516fa7
adc dl, byte [edi + 0x69]
outsb dx, byte [esi]
popal
jo 0x516fa4
dec edi
bound ebp, qword [edx + 0x65]
arpl word [ecx + eax*2 + 0x72], si
jb 0x516fa7
inc ecx
jb 0x516fb7
popal
jns 0x516f55
push edi
imul ebp, dword [esi + 0x61], 0x552e6970
jb 0x516fbe
dec ebp
outsd dx, dword [esi]
outsb dx, byte [esi]
push cs
push edi
imul ebp, dword [esi + 0x61], 0x572e6970
outsb dx, byte [esi]
popal
jo 0x516fc5
push edi
imul ebp, dword [esi + 0x49], 0xd74656e
push edi
imul ebp, dword [esi + 0x61], 0x522e6970
popal
jo 0x516fd4
push edx
push ebx
je 0x516fe4
or edx, dword [esi + 0x63]
insb byte es:[edi], dx
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
push ebx
je 0x516fef
jae 0x516f8b
push esi
arpl word [esi + ebp + 0x50], bp
push eax
jb 0x516fef
imul ebp, dword [esi + 0x74], 0xf737265
push edi
imul ebp, dword [esi + 0x61], 0x572e6970
outsb dx, byte [esi]
je 0x516fee
jb 0x516ffe
xorps xmm5, xmmword [ecx + 0x6e]
popal
jo 0x516ffb
push edi
imul ebp, dword [esi + 0x53], 0x6c6f6f70
outsb dx, byte [esi]
push ebx
jo 0x517008
outsd dx, dword [esi]
insb byte es:[edi], dx
or eax, 0x2e6c6356
dec esp
dec esp
imul esi, dword [ebx + 0x74], 0x6e746341
inc ecx
arpl word [esi + ebp*2 + 0x73], si
or edx, dword [esi + 0x63]
insb byte es:[edi], dx
push esp
outsb dx, byte [esi]
jae 0x516fb5
push esi
arpl word [esi + ebp + 0x54], bp
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
push edi
imul ebp, dword [esi + 0xf], 0x616e6957
xorps xmm5, xmmword [ecx + 0x6e]
popal
imul ebp, dword [esi + 0x61], 0x522e6970
jo 0x517025
push edx
imul esp, dword [ebx + 0x68], 0x74696445
or edx, dword [esi + 0x63]
insb byte es:[edi], dx
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x570d6472
imul ebp, dword [esi + 0x61], 0x462e6970
outsb dx, byte [esi]
popal
jo 0x517041
inc esi
insb byte es:[edi], dx
popal
je 0x517031
inc edx
or edx, dword [edi + 0x69]
outsb dx, byte [esi]
popal
jo 0x51704f
inc esp
insb byte es:[edi], dx
jae 0x516fff
push ebx
jns 0x517062
jae 0x517064
je 0x517056
insd dword es:[edi], dx
insd dword es:[edi], dx
push edi
imul esp, dword [ebp + 0x53], 0x74557274
imul ebp, dword [ebx + esi*2 - 0x70], 0xe90c2d83
sub dword [0x51e90c], 1
je 0x517066
insb byte es:[edi], dx
jae 0x516f90
nop
sub dword [0x51e90c], 1
jae 0x5170b3
and dword [esi + 0x68000000], 0
add al, 0
add al, ch
lea edi, [eax - 0x73170012]
shr dh, cl
invalid
push 0x400
call sub.kernel32.dll_SetThreadLocale
call fcn.004042a8
call fcn.00408d24
mov byte [0x51900c], 2
push ecx
add byte [edx], al
mov dword [0x51e018], 0x402814
mov dword [0x51e01c], 0x40281c
mov byte [0x51e05a], 2
add bh, al
add eax, 0x51e01c
sbb al, 0x28
inc eax
add dh, al
add eax, 0x51e05a
add ch, al
adc byte [0x60a3ffef], dh
loopne 0x51709d
add byte [edx], al
call fcn.0040a558
mov dword [0x51e060], eax
mov dword [0x51e004], 0x408418
add bh, al
add eax, 0x51e004
sbb byte [eax + eax*2 - 0x23171800], al
out dx, al
invalid
add al, 0xe0
push ecx
add byte [eax], bl
test byte [eax], al
add al, ch
call 0xe9515f39
invalid
call fcn.00404d44
call fcn.00404d60
mov word [0x51e068], 0xd7b0
mov dword [0x51e068], 0xc766d7b0
add eax, 0x51e344
mov al, 0xd7
push 0xb00051e0
xlatb
push ecx
add byte [eax + 0x5c766d7], dh
inc esp
jecxz 0x5170c1
mov word [0x51e344], 0xd7b0
add byte [eax + 0x5c766d7], dh
and dh, ah
push ecx
add byte [eax - 0x483c1729], dh
out dx, al
jmp dword [ebx + 0x51e04c]
mov word [0x51e620], 0xd7b0
call sub.kernel32.dll_GetCommandLineW
mov dword [0x51e04c], eax
call fcn.0040295c
mov dword [0x51e048], eax
call sub.kernel32.dll_GetACP
mov dword [0x51e8fc], eax
mov dword [0x51e900], 0x4b0
call sub.kernel32.dll_GetCurrentThreadId
mov dword [0x51e040], eax
call fcn.0040a56c
jmp 0x50170f3
ret
add byte [ecx], al
jae 0x5170d1
call fcn.0040e818
xor eax, eax
mov dword [0x520c70], eax
ret