Function at 0x100156c0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x334
push ebx
push esi
lea ecx, [eax + 0xc38]
mov esi, eax
push edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], ecx
cmp eax, ecx
ja 0x100158fc
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
nop
cmp esi, 0x30d
ja 0x1001586d
je 0x10015845
lea eax, [esi - 0x21f]
cmp eax, 0xcc
ja case.0x1001571a.544
movzx eax, byte [eax + 0x10015998]
jmp dword [eax*4 + 0x10015978]
mov ecx, dword [esp + 0x14]
push ecx
push 1
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov edi, eax
mov ebx, edx
jmp case.0x1001571a.544
push 0x250
lea edx, [esp + 0xf4]
push 0
push edx
call fcn.100fefe0
add esp, 0xc
mov dword [esp + 0xe4], 2
jmp case.0x1001571a.544
lea edx, [esp + 0xf0]
push edx
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [esp + 0x14]
push ecx
push 2
push ebx
push edi
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov edi, eax
mov ebx, edx
jmp case.0x1001571a.544
push 0x9c
lea edx, [esp + 0x54]
push 0
push edx
mov dword [esp + 0x20], 3
call fcn.100fefe0
add esp, 0xc
mov dword [esp + 0x50], 0x9c
jmp case.0x1001571a.544
mov dword [esp + 0x54], 5
mov dword [esp + 0x58], 1
jmp case.0x1001571a.544
xor eax, eax
mov word [esp + 0x3c], ax
lea eax, [esp + 0x3c]
add eax, 0xfffffffe
jmp 0x100157e0
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x100157e0
mov ecx, dword [0x10162c50]
mov dx, word [0x10162c54]
mov dword [eax], ecx
push 7
mov word [eax + 4], dx
lea eax, [esp + 0x44]
push str.ndFile
push eax
call fcn.100fdf85
mov ecx, 0x7270
add esp, 0xc
mov word [0x10188eb0], cx
jmp case.0x1001571a.544
mov edx, 0x6c6f
xor edi, edi
mov word [0x10188eb2], dx
mov byte [0x10188eb4], 0
xor ebx, ebx
mov byte [esp + 0xf], 1
jmp case.0x1001571a.544
mov eax, dword [esp + 0x14]
push eax
push 0x20
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
cmp dword [esp + 0x1c], 0xffffffff
mov edi, eax
mov ebx, edx
jne case.0x1001571a.544
mov byte [esp + 0xf], 0
jmp case.0x1001571a.544
cmp esi, 0x7d2
ja 0x100158e4
je 0x100158cf
mov eax, esi
sub eax, 0x32f
je 0x100158ab
sub eax, 0x22
je 0x1001588f
sub eax, 0x22
je 0x100158fc
jmp case.0x1001571a.544
cmp byte [esp + 0xf], 0
je 0x100158a1
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [esp + 0x10], 0x10188eb0
jmp case.0x1001571a.544
mov edx, dword [esp + 0x14]
push edx
push 0x10
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov ebx, edx
push ebx
mov edi, eax
push edi
push 0x33
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
jmp case.0x1001571a.544
mov eax, dword [ebp + 8]
test eax, eax
je 0x10015942
mov dword [esp + 0x28], 0x10013c00
mov dword [esp + 0x2c], eax
jmp case.0x1001571a.544
mov eax, esi
sub eax, 0x7f4
je 0x10015907
sub eax, 0x22
jne case.0x1001571a.544
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0xc]
mov byte [esp + 0x10], dl
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov ax, word [edx]
lea esi, [esp + 0x28]
mov dword [esp + 0x30], ecx
mov word [esp + 0x34], ax
call fcn.1000ad30
mov esi, dword [esp + 0x18]
add esi, 0x22
mov dword [esp + 0x18], esi
cmp esi, dword [esp + 0x20]
jbe 0x100156f0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x101613e6
push 0
push str.But_thats_how_Six_Gun_came
push str.Studying_at_BerkleeAcademic_Departments
call fcn.100fe360
push 0
call fcn.100fe15b
add esp, 0x14
call fcn.100fd9d0
pop edi
mov byte [esp + 0xc], 0xf6
mov eax, dword [esp + 0xc]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret