Function at 0x10054fc
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
push ebx
push esi
push edi
mov esi, 1
mov edi, dword [ebp + 8]
test edi, edi
je 0x10059fa
mov al, byte [edi]
test al, al
je 0x10059fa
test esi, esi
je 0x10059b6
cmp dword [0x101069c], 1
jle 0x1005543
movsx eax, byte [edi]
push 8
push eax
call fcn.01006038
add esp, 8
jmp 0x1005555
movsx ecx, byte [edi]
mov edx, dword [str.________________________________H]
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 8
test eax, eax
je 0x1005564
push edi
call dword [sym.imp.USER32.dll_CharNextA]
mov edi, eax
jmp 0x100552a
mov al, byte [edi]
test al, al
je 0x10059b6
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 4], 0
jne 0x10055b1
cmp dword [0x101069c], 1
jle 0x1005595
movsx eax, byte [edi]
push 8
push eax
call fcn.01006038
add esp, 8
jmp 0x10055a7
movsx edx, byte [edi]
mov ecx, dword [str.________________________________H]
xor eax, eax
mov ax, word [ecx + edx*2]
and eax, 8
test eax, eax
je 0x10055b7
cmp dword [ebp - 4], 0
je 0x10055fb
cmp dword [ebp - 0xc], 0
jne 0x10055fb
mov al, byte [edi]
cmp al, 0x22
jne 0x10055e9
inc edi
movsx ecx, byte [edi]
cmp ecx, 0x22
je 0x10055de
cmp dword [ebp - 4], 0
jne 0x10055d5
mov dword [ebp - 4], 1
jmp 0x10055f2
mov dword [ebp - 0xc], 1
jmp 0x10055f2
mov byte [ebp + ebx - 0x110], al
inc ebx
inc edi
jmp 0x10055f2
mov byte [ebp + ebx - 0x110], al
inc edi
inc ebx
cmp byte [edi], 0
jne 0x1005576
mov byte [ebp + ebx - 0x110], 0
cmp dword [ebp - 4], 0
je 0x1005619
cmp dword [ebp - 0xc], 0
jne 0x1005623
cmp dword [ebp - 4], 0
jne 0x10059b4
cmp dword [ebp - 0xc], 0
jne 0x10059b4
cmp byte [ebp - 0x110], 0x2f
je 0x1005639
cmp byte [ebp - 0x110], 0x2d
jne 0x10059b0
movsx eax, byte [ebp - 0x10f]
push eax
call fcn.010060b3
add esp, 4
cmp eax, 0x3f
je 0x1005685
cmp eax, 0x43
je 0x1005699
cmp eax, 0x44
je 0x1005763
cmp eax, 0x4e
je 0x1005819
cmp eax, 0x51
je 0x1005897
cmp eax, 0x52
je 0x10058f5
cmp eax, 0x54
je 0x1005763
jmp 0x10059a3
call fcn.010023e1
push 0
call fcn.01006220
add esp, 4
jmp 0x10059a5
cmp byte [ebp - 0x10e], 0
jne 0x10056b1
mov dword [0x1015fe4], 1
jmp 0x10059a5
cmp byte [ebp - 0x10e], 0x3a
jne 0x10059a3
mov al, byte [ebp - 0x10d]
sub al, 0x22
cmp al, 1
mov eax, 4
adc eax, 0xffffffff
mov dword [ebp - 4], eax
lea ebx, [ebp + eax - 0x110]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x10059a3
push 0x5b
push ebx
call fcn.01005e80
add esp, 8
test eax, eax
je 0x100570b
push 0x5d
push ebx
call fcn.01005e80
add esp, 8
test eax, eax
je 0x10059a3
push 0x5d
push ebx
call fcn.01005e80
add esp, 8
test eax, eax
je 0x100572d
push 0x5b
push ebx
call fcn.01005e80
add esp, 8
test eax, eax
je 0x10059a3
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push ebx
call fcn.0100544a
test eax, eax
je 0x10059a3
mov eax, dword [ebp - 8]
add eax, dword [ebp - 4]
lea ecx, [ebp + eax - 0x110]
push ecx
push 0x10161fe
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x10059a5
cmp byte [ebp - 0x10e], 0x3a
jne 0x10059a3
mov al, byte [ebp - 0x10d]
sub al, 0x22
cmp al, 1
mov eax, 4
adc eax, 0xffffffff
mov dword [ebp - 4], eax
lea ebx, [ebp + eax - 0x110]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x10059a3
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push ebx
call fcn.0100544a
test eax, eax
je 0x10059a3
movsx eax, byte [ebp - 0x10f]
push eax
call fcn.010060b3
add esp, 4
cmp eax, 0x54
mov eax, dword [ebp - 8]
jne 0x10057f2
add eax, dword [ebp - 4]
mov ebx, 0x10160fa
lea ecx, [ebp + eax - 0x110]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001338
push ebx
call fcn.010027e1
jmp 0x10059a5
add eax, dword [ebp - 4]
mov ebx, 0x1015ff6
lea ecx, [ebp + eax - 0x110]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1001338
push ebx
call fcn.010027e1
jmp 0x10059a5
cmp byte [ebp - 0x10e], 0
jne 0x1005831
mov dword [0x1015fec], 1
jmp 0x10059a5
cmp byte [ebp - 0x10e], 0x3a
jne 0x10059a3
cmp byte [ebp - 0x10d], 0
mov ebx, 3
je 0x10059a5
movsx ecx, byte [ebp + ebx - 0x110]
mov eax, ebx
push ecx
inc ebx
call fcn.010060b3
add esp, 4
cmp eax, 0x45
je 0x1005872
cmp eax, 0x47
je 0x100587e
xor esi, esi
jmp 0x1005888
mov dword [0x1015fec], 1
jmp 0x1005888
mov dword [0x1015ff0], 1
cmp byte [ebp + ebx - 0x110], 0
jne 0x1005850
jmp 0x10059a5
cmp byte [ebp - 0x10e], 0
jne 0x10058ac
or byte [0x1015ff4], 1
jmp 0x10059a5
cmp byte [ebp - 0x10e], 0x3a
jne 0x10059a3
cmp byte [ebp - 0x10d], 0
mov ecx, 3
je 0x10059a5
movsx edx, byte [ebp + ecx - 0x110]
mov eax, ecx
inc ecx
cmp edx, 0x31
je 0x10058df
xor esi, esi
jmp 0x10058e6
or byte [0x1015ff4], 2
cmp byte [ebp + ecx - 0x110], 0
jne 0x10058cb
jmp 0x10059a5
cmp byte [ebp - 0x10e], 0
jne 0x100590a
mov dword [0x1015fbc], 3
jmp 0x1005981
cmp byte [ebp - 0x10e], 0x3a
jne 0x100598d
mov dword [0x1015fbc], 1
cmp byte [ebp - 0x10d], 0
mov ebx, 3
je 0x1005981
movsx ecx, byte [ebp + ebx - 0x110]
mov eax, ebx
push ecx
inc ebx
call fcn.010060b3
add esp, 4
cmp eax, 0x41
je 0x1005955
cmp eax, 0x49
je 0x100595e
cmp eax, 0x4e
je 0x1005967
cmp eax, 0x53
je 0x1005970
jmp 0x1005977
or byte [0x1015fbc], 2
jmp 0x1005977
and byte [0x1015fbc], 0xfd
jmp 0x1005977
and byte [0x1015fbc], 0xfe
jmp 0x1005977
or byte [0x1015fbc], 4
cmp byte [ebp + ebx - 0x110], 0
jne 0x100592b
mov dword [0x1015fe8], 1
jmp 0x10059a5
lea eax, [ebp - 0x10f]
push eax
push 0x10013d0
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10059a5
xor esi, esi
cmp byte [edi], 0
jne 0x1005522
jmp 0x10059b6
xor eax, eax
jmp 0x10059ff
xor esi, esi
cmp dword [0x1015fec], 0
je 0x10059f6
cmp byte [0x10160fa], 0
jne 0x10059f6
push 0x104
mov edi, 0x10160fa
push edi
mov eax, dword [0x1016700]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x10059f4
push 0x5c
push edi
call fcn.01005f40
mov byte [eax + 1], 0
add esp, 8
jmp 0x10059f6
xor esi, esi
mov eax, esi
jmp 0x10059ff
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4