Function at 0x1009950
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov ebx, 1
lea eax, [edx - 2]
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], ebx
mov dword [edi], ebx
cmp eax, 9
ja 0x1009efb
cmp edx, 2
jne 0x10099a7
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 4]
movzx eax, word [ecx]
cmp eax, 0x2d
je 0x1009991
cmp eax, 0x2f
jne 0x10099a7
movzx eax, word [ecx + 2]
cmp eax, 0x3f
je 0x1009efb
cmp eax, 0x68
je 0x1009efb
lea eax, [edx - 1]
push eax
push 0x1002e48
push 2
push 0x10130b0
mov dword [ebp - 0xc], 0
call fcn.01007a00
mov eax, dword [ebp + 8]
add esp, 0x10
mov esi, ebx
cmp eax, 1
jle 0x10099fb
mov edi, dword [ebp + 0xc]
mov ebx, eax
push dword [edi + esi*4]
push esi
push 0x1002e84
push 2
push 0x10130b0
call fcn.01007a00
inc esi
add esp, 0x14
cmp esi, ebx
jl 0x10099d5
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x10], esi
test eax, eax
jle 0x1009d08
mov edx, dword [sym.imp.MSVCR100.dll_wcstoul]
mov ecx, dword [sym.imp.MSVCR100.dll_swscanf_s]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + esi*4]
cmp word [ebx], 0x2d
jne 0x1009b98
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
cmp eax, 0x49
jne 0x1009a3e
lea eax, [ebx + 4]
mov dword [edi + 0x1168], eax
jmp 0x1009cf5
cmp eax, 0x53
jne 0x1009a51
lea eax, [ebx + 4]
mov dword [edi + 0x116c], eax
jmp 0x1009cf5
mov ecx, 0x1002ea8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1009a7e
test dx, dx
je 0x1009a7a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1009a7e
add eax, 4
add ecx, 4
test dx, dx
jne 0x1009a58
xor eax, eax
jmp 0x1009a83
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1009a93
or dword [edi + 0x1d7f4], 3
jmp 0x1009ce9
mov ecx, 0x1002ed0
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1009ac6
test dx, dx
je 0x1009ac2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1009ac6
add eax, 4
add ecx, 4
test dx, dx
jne 0x1009aa0
xor eax, eax
jmp 0x1009acb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1009adb
or dword [edi + 0x1d7f4], 0x25
jmp 0x1009ce9
mov ecx, 0x1002ef8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1009b08
test dx, dx
je 0x1009b04
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1009b08
add eax, 4
add ecx, 4
test dx, dx
jne 0x1009ae2
xor eax, eax
jmp 0x1009b0d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1009b1d
or dword [edi + 0x1d7f4], 0x29
jmp 0x1009ce9
mov ecx, 0x1002f24
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1009b4a
test dx, dx
je 0x1009b46
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1009b4a
add eax, 4
add ecx, 4
test dx, dx
jne 0x1009b24
xor eax, eax
jmp 0x1009b4f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1009b5f
or dword [edi + 0x1d7f4], 0x31
jmp 0x1009ce9
push 0x1a
push 0x1002f50
push esi
call dword [sym.imp.MSVCR100.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x1009b8c
push ebx
mov ecx, edi
call fcn.0100d960
mov esi, eax
mov dword [ebp - 4], esi
mov dword [edi + 0x1d7f8], esi
jmp 0x1009ce9
mov ecx, dword [sym.imp.MSVCR100.dll_swscanf_s]
mov edx, dword [sym.imp.MSVCR100.dll_wcstoul]
mov eax, dword [ebp - 0xc]
cmp eax, 8
ja case.default.0x1009ba4
jmp dword [eax*4 + 0x100a044]
push 0xa
lea eax, [ebp - 8]
push eax
push ebx
call edx
add esp, 0xc
mov dword [edi + 0x1150], eax
cmp ebx, dword [ebp - 8]
jne case.0x1009ba4.0
push ebx
push 0x1002f88
jmp 0x1009cd0
push 0xa
lea eax, [ebp - 8]
push eax
push ebx
call edx
add esp, 0xc
mov dword [edi + 0x1154], eax
cmp ebx, dword [ebp - 8]
jne case.0x1009ba4.0
xor eax, eax
push ebx
mov dword [ebp - 4], eax
push 0x1002fd0
jmp 0x1009cd7
lea eax, [edi + 0x654]
push eax
lea esi, [edi + 0x650]
push esi
push 0x1003014
push ebx
call ecx
add esp, 0x10
test eax, eax
jne 0x1009c27
push ebx
mov dword [ebp - 4], eax
push 0x1003020
jmp 0x1009cd7
mov eax, dword [esi]
push 1
push eax
mov ecx, edi
mov dword [edi + 0x114c], eax
call fcn.0100a070
test byte [esi], 1
je case.0x1009ba4.0
call dword [sym.imp.KERNEL32.dll_DebugBreak]
jmp case.0x1009ba4.0
lea esi, [edi + 0x1148]
push esi
push 0x1003068
push ebx
call ecx
add esp, 0xc
test eax, eax
jne case.0x1009ba4.0
push ebx
mov dword [esi], eax
mov dword [ebp - 4], eax
push 0x1003070
jmp 0x1009cd7
mov dword [edi + 0x1158], ebx
jmp case.0x1009ba4.0
lea esi, [edi + 0x115c]
push esi
push 0x1003068
push ebx
call ecx
add esp, 0xc
test eax, eax
jne case.0x1009ba4.0
push ebx
mov dword [esi], eax
mov dword [ebp - 4], eax
push 0x10030b8
jmp 0x1009cd7
lea esi, [edi + 0x1160]
push esi
push 0x1003068
push ebx
call ecx
add esp, 0xc
test eax, eax
jne case.0x1009ba4.0
push ebx
mov dword [esi], eax
mov dword [ebp - 4], eax
push 0x1003110
jmp 0x1009cd7
mov dword [edi + 0x1164], ebx
jmp case.0x1009ba4.0
push ebx
push 0x1003164
mov dword [ebp - 4], 0
push 1
push 0x10130b0
call fcn.01007a00
add esp, 0x10
inc dword [ebp - 0xc]
mov edx, dword [sym.imp.MSVCR100.dll_wcstoul]
mov ecx, dword [sym.imp.MSVCR100.dll_swscanf_s]
mov esi, dword [ebp - 0x10]
inc esi
mov dword [ebp - 0x10], esi
cmp esi, dword [ebp + 8]
jl 0x1009a14
mov ebx, dword [ebp - 4]
mov ecx, dword [edi + 0x1d7f4]
and ecx, 0xffffffde
lea eax, [ecx - 1]
test ecx, eax
je 0x1009d2e
push 0x1003198
push 1
push 0x10130b0
call fcn.01007a00
add esp, 0xc
xor ebx, ebx
cmp dword [edi + 0x1d7f4], 0
je 0x1009ee8
test dword [edi + 0x650], 0x40000
je 0x1009ee8
push 0x1003208
push 1
push 0x10130b0
call fcn.01007a00
add esp, 0xc
xor ebx, ebx
or dword [section..data], 0x20001000
push 0x1003284
push 1
push 0x10130b0
call fcn.01007a00
add esp, 0xc
test dword [edi + 0x650], 0x100
je 0x1009d95
mov dword [0x10174c8], 1
push 0x10032a4
push 2
push 0x10130b0
call fcn.01007a00
push dword [edi + 0x1150]
push 0x10032cc
push 2
push 0x10130b0
call fcn.01007a00
push dword [edi + 0x1154]
push 0x10032f4
push 2
push 0x10130b0
call fcn.01007a00
push dword [edi + 0x650]
push 0x1003318
push 2
push 0x10130b0
call fcn.01007a00
push dword [edi + 0x654]
push 0x100333c
push 2
push 0x10130b0
call fcn.01007a00
add esp, 0x4c
push dword [edi + 0x1148]
push 0x1003370
push 2
push 0x10130b0
call fcn.01007a00
mov eax, dword [edi + 0x1158]
add esp, 0x10
test eax, eax
jne 0x1009e2e
mov eax, 0x100339c
push eax
push 0x10033ac
push 2
push 0x10130b0
call fcn.01007a00
push dword [edi + 0x115c]
push 0x10033d0
push 2
push 0x10130b0
call fcn.01007a00
push dword [edi + 0x1160]
push 0x100340c
push 2
push 0x10130b0
call fcn.01007a00
mov eax, dword [edi + 0x1164]
add esp, 0x30
test eax, eax
jne 0x1009e80
mov eax, 0x100339c
push eax
push 0x1003438
push 2
push 0x10130b0
call fcn.01007a00
mov eax, dword [edi + 0x1168]
add esp, 0x10
test eax, eax
jne 0x1009ea4
mov eax, 0x100339c
push eax
push 0x1003460
push 2
push 0x10130b0
call fcn.01007a00
mov eax, dword [edi + 0x116c]
add esp, 0x10
test eax, eax
jne 0x1009ec8
mov eax, 0x100339c
push eax
push 0x1003490
push 2
push 0x10130b0
call fcn.01007a00
add esp, 0x10
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 8
test ebx, ebx
je 0x1009d61
mov dword [edi], 2
jmp 0x1009d7f
mov ebx, dword [ebp + 0xc]
push dword [ebx]
mov esi, dword [sym.imp.MSVCR100.dll_wprintf]
push 0x1002050
call esi
add esp, 8
cmp dword [ebp + 8], 2
jne 0x100a037
mov ecx, dword [ebx + 4]
movzx eax, word [ecx]
cmp eax, 0x2d
je 0x1009f2e
cmp eax, 0x2f
jne 0x100a037
movzx eax, word [ecx + 2]
cmp eax, 0x3f
je 0x1009f40
cmp eax, 0x68
jne 0x100a037
push 0x1002268
call esi
push 0x1002280
call esi
push 0x10022e0
call esi
push 0x1002340
call esi
push 0x10023a0
call esi
push 0x1002400
call esi
push 0x1002460
call esi
push 0x10024c0
call esi
push 0x1002520
call esi
push 0x1002580
call esi
push 0x10025e0
call esi
push 0x1002640
call esi
push 0x10026a0
call esi
push 0x1002700
call esi
push 0x1002760
call esi
push 0x10027c0
call esi
add esp, 0x40
push 0x1002820
call esi
push 0x1002880
call esi
push 0x10028e0
call esi
push 0x10028e4
call esi
push 0x1002908
call esi
push 0x1002968
call esi
push 0x10029c8
call esi
push 0x1002a28
call esi
push 0x1002a88
call esi
push 0x1002ae8
call esi
add edi, edi
salc
push 0x1002b48
call esi
dec eax
sub eax, dword [eax]
add edi, edi
salc
push 0x1002ba8
call esi
push 0x1002c08
call esi
push 0x1002c68
call esi
push 0x1002cc8
call esi
push 0x1002d28
call esi
add esp, 0x40
push 0x1002d88
call esi
push 0x1002de8
call esi
add esp, 8
push 0x20001000
call dword [sym.imp.MSVCR100.dll_exit]
mov edi, edi
out 0x9c, al
add byte [ecx], al
stosd dword es:[edi], eax
wait
add byte [ecx], al
rcr dword [ebx - 0x6403ff00], 1
add byte [ecx], al
dec ebp
pushfd
add byte [ecx], al
je 0x1009ff6
add byte [ecx], al
jl 0x1009ffa
add byte [ecx], al
lahf
pushfd
add byte [ecx], al
ret 0x9c