Function at 0x5181a0
Capabilities:
Accept command line arguments

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
mov esi, ecx
sub esp, 0x48
mov eax, dword [ecx + 4]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], eax
call fcn.00509cf0
mov dword [esp + 0xc], 0x401eb0
mov dword [esp + 8], 0x401e60
mov dword [esp + 4], 0x401e20
mov dword [esp], fcn.00517870
call fcn.00435fa0
mov eax, dword [esi]
mov edi, eax
mov dword [ebp - 0x34], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea edx, [ebp - 0x1c]
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [sym.imp.SHELL32.DLL_CommandLineToArgvW]
sub esp, 8
cmp edi, dword [ebp - 0x1c]
mov esi, eax
je 0x51822b
mov dword [esp + 8], 0xcc
mov dword [esp + 4], str..._.._src_xml.c
mov dword [esp], str.nArgs__argc
call fcn.0050a600
mov edx, dword [ebp - 0x34]
xor ebx, ebx
test edx, edx
jle 0x5182f0
nop
lea esi, [esi]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov eax, dword [esi + ebx*4]
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
sub esp, 0x20
test eax, eax
jle 0x51853c
mov dword [esp], eax
mov dword [ebp - 0x2c], eax
call sub.msvcrt.dll_malloc
mov edx, dword [ebp - 0x2c]
mov edi, eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x14], edx
mov eax, dword [esi + ebx*4]
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x30]
sub esp, 0x20
mov dword [eax + ebx*4], edi
add ebx, 1
cmp ebx, dword [ebp - 0x34]
jne 0x518240
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x30]
sub esp, 4
mov dword [0x620200], 0
mov dword [esp], 0x620200
mov dword [0x620204], 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x38]
mov dword [esp + 4], eax
call fcn.00401f90
mov dword [esp + 4], 0x401b90
mov dword [esp], 0x519004
call fcn.00470180
mov eax, dword [0x620200]
test eax, eax
jne 0x5184ba
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
cmp eax, 1
mov dword [ebp - 0x2c], eax
jle 0x5184f4
mov eax, dword [ebp - 0x30]
mov edi, 0x51a219
mov ecx, 3
mov ebx, dword [eax + 4]
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x518386
mov dword [esp + 4], str.edit
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5183a0
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00403ed0
mov dword [esp], eax
call sub.msvcrt.dll_exit
mov dword [esp + 4], 0x51a221
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5184a3
mov dword [esp + 4], 0x51a225
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5184a3
mov dword [esp + 4], 0x51a22c
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5184dd
mov dword [esp + 4], 0x51a22f
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5184dd
mov dword [esp + 4], 0x51a239
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x51850e
mov dword [esp + 4], 0x51a23c
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x51850e
mov dword [esp + 4], 0x51a243
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x518525
mov dword [esp + 4], str.validate
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x518525
mov dword [esp + 4], 0x51a250
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x51848c
mov dword [esp + 4], 0x51a253
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x518564
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.004049d0
jmp 0x518398
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00408550
jmp 0x518398
mov dword [esp + 4], 0x401b20
mov dword [esp], 0
call fcn.00470150
mov dword [0x51900c], 0
jmp 0x51834b
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00408d40
jmp 0x518398
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00401ef0
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00405ba0
jmp 0x518398
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00409400
jmp 0x518398
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error_decoding_argument__d_n
add eax, 0x40
mov dword [esp], eax
call fcn.00401b30
mov dword [esp], 2
call sub.msvcrt.dll_exit
mov dword [esp + 4], str.c14n
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5185cb
mov dword [esp + 4], str.canonic
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5185cb
mov dword [esp + 4], 0x51a269
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5185b4
mov dword [esp + 4], 0x51a26c
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5185e2
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00406060
jmp 0x518398
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00402850
jmp 0x518398
mov dword [esp + 4], 0x51a271
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x51860a
mov dword [esp + 4], str.xmln
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x518621
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00406740
jmp 0x518398
mov dword [esp + 4], str.depyx
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x518649
mov dword [esp + 4], 0x51a280
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x518660
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.004030c0
jmp 0x518398
mov dword [esp + 4], 0x51a284
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x518688
mov dword [esp + 4], str.escape
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5186a7
mov dword [esp + 8], 1
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.004051c0
jmp 0x518398
mov dword [esp + 4], str.unesc
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5186d3
mov dword [esp + 4], str.unescape
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5184f4
mov dword [esp + 8], 0
jmp 0x518690