Function at 0x100359c
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x100b2d0]
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
inc edi
test eax, eax
mov dword [ebp - 0x10c], edi
je 0x1003a8b
cmp byte [eax], 0
je 0x1003a8b
mov ebx, eax
cmp dword [ebp - 0x10c], 0
je 0x10036a4
mov eax, ebx
mov cl, byte [eax]
cmp cl, 0x20
je 0x1003600
cmp cl, 9
je 0x1003600
cmp cl, 0xd
je 0x1003600
cmp cl, 0xa
je 0x1003600
cmp cl, 0xb
je 0x1003600
cmp cl, 0xc
jne 0x1003609
push eax
call dword [sym.imp.USER32.dll_CharNextA]
jmp 0x10035e0
cmp byte [eax], 0
je 0x10036a4
xor ecx, ecx
xor edx, edx
mov ebx, eax
xor esi, esi
test edx, edx
jne 0x100363a
mov al, byte [ebx]
cmp al, 0x20
je 0x100368d
cmp al, 9
je 0x100368d
cmp al, 0xd
je 0x100368d
cmp al, 0xa
je 0x100368d
cmp al, 0xb
je 0x100368d
cmp al, 0xc
je 0x100368d
jmp 0x100363e
test esi, esi
jne 0x100368d
mov al, byte [ebx]
cmp al, 0x22
jne 0x1003673
lea eax, [ebx + 1]
cmp byte [eax], 0x22
je 0x100365a
test edx, edx
jne 0x1003654
mov edx, edi
jmp 0x1003656
mov esi, edi
mov ebx, eax
jmp 0x1003688
cmp ecx, 0x103
jae 0x10039a1
mov byte [ebp + ecx - 0x108], 0x22
inc ecx
inc ebx
inc ebx
jmp 0x1003688
cmp ecx, 0x103
jae 0x10039a1
mov byte [ebp + ecx - 0x108], al
inc ecx
inc ebx
cmp byte [ebx], 0
jne 0x100361a
test edx, edx
mov byte [ebp + ecx - 0x108], 0
je 0x10036ee
test esi, esi
jne 0x10036f2
and dword [ebp - 0x10c], 0
cmp dword [0x100c88c], 0
je 0x1003a83
cmp byte [0x100c99e], 0
jne 0x1003a83
push 0x104
mov esi, 0x100c99e
push esi
push dword [0x100c4a4]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x1003a7c
push 0x5c
push esi
call fcn.01006752
mov byte [eax + 1], 0
jmp 0x1003a83
test esi, esi
jne 0x100369d
cmp byte [ebp - 0x108], 0x2f
je 0x1003708
cmp byte [ebp - 0x108], 0x2d
jne 0x10039a1
movsx eax, byte [ebp - 0x107]
mov esi, dword [sym.imp.USER32.dll_CharUpperA]
push eax
call esi
movsx eax, al
sub eax, 0x3f
je 0x1003a5f
sub eax, 4
je 0x10039a8
dec eax
je 0x10038fb
sub eax, 0xa
je 0x1003882
push 3
pop ecx
sub eax, ecx
je 0x1003838
dec eax
je 0x1003768
dec eax
dec eax
je 0x10038fb
and dword [ebp - 0x10c], 0
cmp byte [ebx], 0
jne 0x10035d1
jmp 0x10036a4
cmp byte [ebp - 0x106], 0
jne 0x100377f
mov dword [0x100c48c], ecx
mov dword [0x100c888], edi
jmp 0x100375a
cmp byte [ebp - 0x106], 0x3a
jne 0x1003819
cmp byte [ebp - 0x105], 0
mov dword [0x100c48c], edi
je 0x100375a
lea esi, [ebp - 0x105]
movsx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
inc esi
sub eax, 0x41
je 0x1003802
sub eax, 3
je 0x10037f9
sub eax, 5
je 0x10037f0
sub eax, 5
je 0x10037e7
dec eax
dec eax
je 0x10037de
sub eax, 3
je 0x10037d5
and dword [ebp - 0x10c], 0
jmp 0x100380f
or dword [0x100c48c], 4
jmp 0x1003809
or byte [0x100cba8], 0x80
jmp 0x100380f
and dword [0x100c48c], 0xfffffffe
jmp 0x1003809
and dword [0x100c48c], 0xfffffffd
jmp 0x1003809
or dword [0x100cba8], 0x40
jmp 0x100380f
or dword [0x100c48c], 2
mov dword [0x100c888], edi
cmp byte [esi], 0
jne 0x10037a1
jmp 0x100375a
lea eax, [ebp - 0x107]
push eax
push 0x1001374
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100375a
jmp 0x1003753
cmp byte [ebp - 0x106], 0
je 0x1003868
cmp byte [ebp - 0x106], 0x3a
jne 0x1003753
movsx eax, byte [ebp - 0x105]
push eax
call esi
cmp al, 0x31
je 0x1003868
cmp al, 0x41
je 0x1003876
cmp al, 0x55
jne 0x1003753
mov word [0x100c898], 2
jmp 0x100375a
mov word [0x100c898], di
jmp 0x100375a
cmp byte [ebp - 0x106], 0
jne 0x1003896
mov dword [0x100c88c], edi
jmp 0x100375a
cmp byte [ebp - 0x106], 0x3a
jne 0x1003753
cmp byte [ebp - 0x105], 0
je 0x100375a
lea esi, [ebp - 0x105]
movsx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
inc esi
sub eax, 0x45
je 0x10038eb
dec eax
dec eax
je 0x10038e3
sub eax, 0xf
je 0x10038db
and dword [ebp - 0x10c], 0
jmp 0x10038f1
mov dword [0x100c894], edi
jmp 0x10038f1
mov dword [0x100c890], edi
jmp 0x10038f1
mov dword [0x100c88c], edi
cmp byte [esi], 0
jne 0x10038b6
jmp 0x100375a
cmp byte [ebp - 0x106], 0x3a
jne 0x1003753
xor eax, eax
cmp byte [ebp - 0x105], 0x22
sete al
add eax, 3
mov esi, eax
lea edi, [ebp + esi - 0x108]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x1003a33
lea eax, [ebp - 0x110]
push eax
push edi
mov dword [ebp - 0x110], esi
call fcn.01003517
test eax, eax
je 0x1003a33
movsx eax, byte [ebp - 0x107]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
mov eax, dword [ebp - 0x110]
jne 0x100396b
add eax, esi
mov esi, 0x100c99e
jmp 0x1003972
add eax, esi
mov esi, 0x100c89a
lea eax, [ebp + eax - 0x108]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001271
push 0x104
push esi
call fcn.010066cf
mov eax, esi
push eax
call fcn.01002c57
test eax, eax
jne 0x1003a3a
xor eax, eax
jmp 0x1003a8d
cmp byte [ebp - 0x106], 0
jne 0x10039bc
mov dword [0x100c884], edi
jmp 0x100375a
cmp byte [ebp - 0x106], 0x3a
jne 0x1003753
xor eax, eax
cmp byte [ebp - 0x105], 0x22
sete al
add eax, 3
mov esi, eax
lea edi, [ebp + esi - 0x108]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x1003a33
push 0x5b
push edi
call fcn.0100662b
test eax, eax
je 0x1003a04
push 0x5d
push edi
call fcn.0100662b
test eax, eax
je 0x1003a33
push 0x5d
push edi
call fcn.0100662b
test eax, eax
je 0x1003a1c
push 0x5b
push edi
call fcn.0100662b
test eax, eax
je 0x1003a33
lea eax, [ebp - 0x110]
push eax
push edi
mov dword [ebp - 0x110], esi
call fcn.01003517
test eax, eax
jne 0x1003a42
and dword [ebp - 0x10c], 0
xor edi, edi
inc edi
jmp 0x100375a
mov eax, dword [ebp - 0x110]
add eax, esi
lea eax, [ebp + eax - 0x108]
push eax
push 0x100caa2
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x1003a3a
call fcn.010019a7
mov eax, dword [0x100ba54]
test eax, eax
je 0x1003a74
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
jmp 0x1003a8d
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.010064de
leave
ret 4