Function at 0x1039dd4
Capabilities:
Terminate process

Disassembly:
sub esp, 0x808
mov eax, dword [0x1251b5c]
xor eax, dword [esp + 0x808]
push ebx
mov dword [esp + 0x808], eax
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
push ebp
xor ebx, ebx
push esi
xor ebp, ebp
inc ebx
cmp eax, ebx
push edi
mov esi, ecx
mov dword [esp + 0x10], ebp
jne 0x1039e09
mov ebp, ebx
jle 0x103a4d7
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
mov edi, ebx
push 0x10072c0
shl edi, 2
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a4d4
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x10072bc
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a4d4
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x10072b8
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1039e8a
xor ebp, ebp
inc ebp
cmp dword [esp + 0x10], eax
mov dword [esi + 0x460], ebp
sete al
test eax, eax
mov dword [esp + 0x10], eax
jne 0x103a1e0
xor ebp, ebp
jmp 0x103a4e0
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x10072b4
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1039ec3
xor ebp, ebp
cmp dword [esp + 0x10], ebp
mov dword [esi + 0x460], ebp
sete al
cmp eax, ebp
mov dword [esp + 0x10], eax
je 0x103a4e0
jmp 0x103a1dd
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x10072b0
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a1f3
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x10072ac
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a238
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x10072a8
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1039fb6
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
dec eax
cmp ebx, eax
jge 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
inc ebx
push dword [eax + ebx*4]
lea eax, [esi + 0x56c]
push 0x10023e4
push 0x104
push eax
call dword [sym.imp.msvcrt.dll__snprintf]
xor edi, edi
inc edi
mov dword [esi + 0x884], edi
mov dword [esi + 0x87c], edi
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
add esp, 0x10
dec eax
cmp ebx, eax
jge 0x1039f9f
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
mov ecx, dword [eax + ebx*4 + 4]
cmp byte [ecx], 0x2d
je 0x1039f9f
inc ebx
push dword [eax + ebx*4]
call dword [sym.imp.msvcrt.dll_atoi]
pop ecx
mov ecx, dword [esi + 0x884]
lea eax, [eax + ecx - 1]
test eax, eax
lea ecx, [esi + 0x880]
mov dword [ecx], eax
jg 0x1039fa5
mov dword [ecx], edi
jmp 0x1039fa5
mov dword [esi + 0x880], edi
cmp ebp, 0xa
je 0x103a1e0
push 5
pop ebp
jmp 0x103a1e0
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x10072a0
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a279
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007290
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a286
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007284
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a2df
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007278
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a2e3
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x100726c
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a376
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x100725c
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103a111
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
dec eax
cmp ebx, eax
jge 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007254
inc ebx
push dword [eax + ebx*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103a09c
mov byte [esi + 0x670], al
mov byte [esi + 0x774], al
jmp 0x103a0f8
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push dword [eax + ebx*4]
mov edi, dword [sym.imp.msvcrt.dll__snprintf]
push 0x10023e4
lea eax, [esi + 0x670]
push 0x104
push eax
call edi
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
add esp, 0x10
dec eax
cmp ebx, eax
jge 0x103a0f8
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
mov ecx, dword [eax + ebx*4 + 4]
cmp byte [ecx], 0x2d
je 0x103a0f8
inc ebx
push dword [eax + ebx*4]
lea eax, [esi + 0x774]
push 0x10023e4
push 0x104
push eax
call edi
add esp, 0x10
cmp ebp, 5
je 0x103a1e0
cmp ebp, 0xa
je 0x103a1e0
push 9
jmp 0x1039fb0
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007248
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103a13a
cmp ebx, 1
jne 0x1039e83
push 0xa
jmp 0x1039fb0
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007240
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x103a463
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007238
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103a188
mov byte [esi + 0x8a0], al
mov eax, dword [sym.imp.msvcrt.dll___argc]
cmp dword [eax], 2
jne 0x103a1e0
xor ebp, ebp
inc ebp
jmp 0x103a52e
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x100722c
push dword [edi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103a1b3
test ebp, ebp
mov byte [esi + 0x8a1], 1
jne 0x103a1e0
push 0xe
jmp 0x1039fb0
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
mov edi, dword [edi + eax]
cmp byte [edi], 0x2d
je 0x103a1e0
push edi
push 0x10023e4
lea eax, [esi + 0x468]
push 0x104
push eax
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
xor ebp, ebp
inc ebp
mov eax, dword [sym.imp.msvcrt.dll___argc]
inc ebx
cmp ebx, dword [eax]
jl 0x1039e0f
jmp 0x103a4d7
cmp ebx, 1
jne 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
dec eax
cmp eax, ebx
jle 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push dword [eax + 8]
add esi, 0x468
push 0x10023e4
push 0x104
push esi
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
push 3
pop ebp
jmp 0x103a52e
cmp ebx, 1
jne 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
dec eax
cmp eax, ebx
jle 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push dword [eax + 8]
add esi, 0x468
push 0x10023e4
push 0x104
push esi
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
push 4
jmp 0x103a232
cmp ebx, 1
jne 0x1039e83
push 6
jmp 0x103a232
push 0xb
xor ebp, ebp
inc ebp
cmp ebx, ebp
pop edi
mov dword [esi + 0x890], edi
jne 0x103a52e
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
dec eax
cmp eax, ebp
jle 0x103a52e
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
mov eax, dword [eax + 8]
cmp byte [eax], 0x2d
je 0x103a52e
push eax
push 0x10023e4
push 0x104
add esi, 0x468
push esi
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
mov ebp, edi
jmp 0x103a52e
push 0xc
jmp 0x103a288
xor edi, edi
inc edi
cmp ebx, edi
jne 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
dec eax
cmp eax, edi
jle 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push dword [eax + 8]
lea eax, [esi + 0x468]
push 0x10023e4
push 0x104
push eax
call dword [sym.imp.msvcrt.dll__snprintf]
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
add esp, 0x10
push 2
dec eax
pop ebp
cmp eax, ebp
jle 0x103a369
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push 0x1007228
push dword [eax + 0xc]
call ebx
test eax, eax
je 0x103a369
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007224
push dword [eax + 0xc]
call ebx
test eax, eax
jne 0x103a36f
mov dword [esi + 0x894], ebp
jmp 0x103a36f
mov dword [esi + 0x894], edi
push 7
jmp 0x103a232
xor ebp, ebp
inc ebp
cmp ebx, ebp
jne 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
push 2
pop edi
sub eax, edi
cmp eax, ebp
jle 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push dword [eax + 8]
mov ebx, dword [sym.imp.msvcrt.dll_atoi]
call ebx
test eax, eax
pop ecx
jl 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push dword [eax + 8]
call ebx
test eax, eax
pop ecx
mov dword [esi + 0x3f4], eax
jne 0x103a3e0
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007220
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103a3e3
push 3
pop edi
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push dword [eax + edi*4]
lea eax, [esi + 0x468]
push 0x10023e4
push 0x104
push eax
call dword [sym.imp.msvcrt.dll__snprintf]
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
add esp, 0x10
dec eax
cmp edi, eax
jge 0x103a456
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push 0x1007228
lea edi, [edi*4 + 4]
push dword [edi + eax]
call ebx
test eax, eax
je 0x103a456
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007224
push dword [edi + eax]
call ebx
test eax, eax
jne 0x103a45c
mov dword [esi + 0x894], 2
jmp 0x103a45c
mov dword [esi + 0x894], ebp
push 8
jmp 0x103a232
cmp ebx, 1
jne 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
dec eax
cmp eax, ebx
jle 0x1039e83
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push 0x1007218
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
neg eax
sbb eax, eax
inc eax
mov dword [esi + 0x898], eax
mov eax, dword [sym.imp.msvcrt.dll___argc]
mov eax, dword [eax]
dec eax
cmp eax, 2
jle 0x103a4cd
mov eax, dword [sym.imp.msvcrt.dll___argv]
mov eax, dword [eax]
push dword [eax + 0xc]
add esi, 0x468
push 0x10023e4
push 0x104
push esi
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
push 0xd
jmp 0x103a232
push 2
pop ebp
test ebp, ebp
je 0x103a4e0
cmp ebp, 2
jne 0x103a52e
push 0x800
lea eax, [esp + 0x18]
push eax
push 0xa1e7
xor esi, esi
push esi
call dword [sym.imp.USER32.dll_LoadStringA]
cmp ebp, 2
lea eax, [esp + 0x14]
jne 0x103a514
push 0x40
push 0x1004dc8
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
xor ebp, ebp
jmp 0x103a52e
push 0x111
push 0x1004dc8
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ebp, eax
dec ebp
neg ebp
sbb ebp, ebp
inc ebp
mov ecx, dword [esp + 0x814]
xor ecx, dword [esp + 0x818]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x808
jmp fcn.0105b9a4