Function at 0x4018b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c8
mov ebp, ecx
mov esi, dword [esp + 0x1e0]
mov edi, dword [esp + 0x1dc]
call dword [0x408b3c]
lea ebx, [edi + 0x10]
mov ecx, ebx
push 0
call dword [method.lldb::SBDebugger.SkipLLDBInitFiles_bool_]
mov ecx, ebx
push 0
call dword [method.lldb::SBDebugger.SkipAppInitFiles_bool_]
mov ecx, esi
mov edx, 0x1c
call fcn.004028a0
test eax, eax
je 0x401915
mov ecx, ebx
push 0
call dword [method.lldb::SBDebugger.SetUseColor_bool_]
push 0x402890
call fcn.00405bd2
add esp, 4
mov byte [edi + 0x84], 1
mov ecx, esi
mov edx, 0x35
call fcn.004028a0
test eax, eax
je 0x40192c
mov byte [edi + 0x86], 1
mov ecx, esi
mov edx, 0x24
call fcn.004028a0
test eax, eax
je 0x401943
mov byte [edi + 0x87], 1
mov ecx, esi
mov edx, 0x23
call fcn.004028a0
test eax, eax
je 0x40195a
mov byte [edi + 0x88], 1
mov ecx, esi
mov edx, 0xb
call fcn.004028a0
test eax, eax
je 0x401971
mov byte [edi + 0x8b], 1
mov ecx, esi
mov edx, 0xd
call fcn.004028a0
test eax, eax
je 0x4019cc
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
lea esi, [esp + 0xc4]
mov ecx, esi
push edi
call dword [method.lldb::SBFileSpec.SBFileSpec_char_const_]
mov ecx, esi
call dword [method.lldb::SBFileSpec.Exists___const]
test al, al
je 0x401acc
mov eax, dword [esp + 0x1dc]
lea ecx, [eax + 0x30]
push edi
mov edi, eax
call fcn.00405c08
lea ecx, [esp + 0xc4]
call dword [method.lldb::SBFileSpec.SBFileSpec__]
mov esi, dword [esp + 0x1e0]
mov ecx, esi
mov edx, 0x11
call fcn.004028a0
test eax, eax
je 0x4019e3
mov byte [edi + 0x8c], 1
mov ecx, esi
mov edx, 0x1b
call fcn.004028a0
test eax, eax
je 0x401a07
mov ecx, ebx
push 1
call dword [method.lldb::SBDebugger.SkipLLDBInitFiles_bool_]
mov ecx, ebx
push 1
call dword [method.lldb::SBDebugger.SkipAppInitFiles_bool_]
mov ecx, esi
mov edx, 0x19
call fcn.004028a0
test eax, eax
je 0x401a4a
mov ecx, ebx
call dword [method.lldb::SBDebugger.GetInstanceName__]
lea esi, [esp + 0xc0]
push eax
push str.true
push str.target.load_cwd_lldbinit
push esi
call dword [method.lldb::SBDebugger.SetInternalVariable_char_const__char_const__char_const_]
add esp, 0x10
mov ecx, esi
mov esi, dword [esp + 0x1e0]
call dword [method.lldb::SBError.SBError__]
mov ecx, esi
mov edx, 0x13
call fcn.004028a0
test eax, eax
mov dword [esp + 8], ebp
je 0x401c56
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
lea esi, [esp + 0x80]
mov ecx, esi
push eax
call dword [method.lldb::SBFileSpec.SBFileSpec_char_const_]
mov ecx, esi
call dword [method.lldb::SBFileSpec.Exists___const]
test al, al
je 0x401aee
mov esi, edi
mov edi, dword [edi + 0x1c]
cmp edi, dword [esi + 0x20]
jae 0x401b56
mov ebp, dword [esp + 0x14]
push ebp
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x40287f
mov ecx, eax
cmp eax, 0xb
jae 0x401ba0
mov eax, ecx
add al, cl
mov byte [edi], al
lea esi, [edi + 1]
test ecx, ecx
jne 0x401bca
jmp 0x401bd9
push edi
push str.file_specified_in___core___c__option_doesnt_exist:__s
push ebp
call dword [method.lldb::SBError.SetErrorStringWithFormat_char_const__..._]
add esp, 0xc
lea ecx, [esp + 0xc4]
call dword [method.lldb::SBFileSpec.SBFileSpec__]
jmp 0x4023bc
lea ecx, [esp + 0x80]
call dword [method.lldb::SBFileSpec.ResolveExecutableLocation__]
test al, al
je 0x401b6b
lea ebp, [esp + 0xc4]
lea ecx, [esp + 0x80]
push 0x104
push ebp
call dword [method.lldb::SBFileSpec.GetPath_char__unsigned_int__const]
mov esi, edi
mov edi, dword [edi + 0x1c]
cmp edi, dword [esi + 0x20]
jae 0x401b90
push ebp
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x40287f
mov ecx, eax
cmp eax, 0xb
jae 0x401bf2
mov eax, ecx
add al, cl
mov byte [edi], al
lea esi, [edi + 1]
test ecx, ecx
jne 0x401c1c
jmp 0x401c2b
lea ecx, [esi + 0x18]
lea eax, [esp + 0x14]
push eax
call fcn.004047d0
mov dword [esi + 0x1c], eax
jmp 0x401c40
push dword [esp + 0x14]
push str.file_specified_in___file___f__option_doesnt_exist:__s
push ebp
call dword [method.lldb::SBError.SetErrorStringWithFormat_char_const__..._]
add esp, 0xc
lea ecx, [esp + 0x80]
call dword [method.lldb::SBFileSpec.SBFileSpec__]
jmp 0x4023bc
lea ecx, [esi + 0x18]
push ebp
call fcn.00404990
mov edi, eax
jmp 0x401c39
mov dword [esp + 0xc], ebx
mov ebx, ecx
or ebx, 7
lea eax, [ebx + 1]
push eax
mov esi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [edi + 8], eax
add ebx, 2
mov dword [edi], ebx
mov ebx, dword [esp + 0xc]
mov dword [edi + 4], ecx
push ecx
push ebp
push esi
mov ebp, ecx
call sub.msvcrt.dll_memmove
mov ecx, ebp
add esp, 0xc
mov byte [esi + ecx], 0
add edi, 0xc
mov eax, dword [esp + 0x1dc]
mov dword [eax + 0x1c], edi
mov edi, eax
mov ebp, dword [esp + 8]
jmp 0x401c42
mov dword [esp + 0xc], ebx
mov ebx, ecx
or ebx, 7
lea eax, [ebx + 1]
push eax
mov esi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [edi + 8], eax
add ebx, 2
mov dword [edi], ebx
mov ebx, dword [esp + 0xc]
mov dword [edi + 4], ecx
push ecx
push ebp
push esi
mov ebp, ecx
call sub.msvcrt.dll_memmove
mov ecx, ebp
add esp, 0xc
mov byte [esi + ecx], 0
add edi, 0xc
mov esi, dword [esp + 0x1dc]
mov dword [esi + 0x1c], edi
mov ebp, dword [esp + 8]
mov edi, esi
lea ecx, [esp + 0x80]
call dword [method.lldb::SBFileSpec.SBFileSpec__]
mov esi, dword [esp + 0x1e0]
mov ecx, esi
mov edx, 7
call fcn.004028a0
test eax, eax
je 0x401c7d
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
push esi
call dword [method.lldb::SBDebugger.SetDefaultArchitecture_char_const_]
add esp, 4
test al, al
je 0x401d41
mov esi, dword [esp + 0x1e0]
mov ecx, esi
mov edx, 0x2e
call fcn.004028a0
test eax, eax
je 0x401caa
mov eax, dword [eax + 0x1c]
mov ecx, ebx
push dword [eax]
call dword [method.lldb::SBDebugger.GetScriptingLanguage_char_const_]
mov ecx, ebx
push eax
call dword [method.lldb::SBDebugger.SetScriptLanguage_lldb::ScriptLanguage_]
mov ecx, esi
mov edx, 0x31
call fcn.004028a0
test eax, eax
je 0x401cc1
mov byte [edi + 0x85], 1
mov ecx, esi
mov edx, 8
call fcn.004028a0
test eax, eax
je 0x401cde
mov eax, dword [eax + 0x1c]
lea ecx, [edi + 0x54]
push dword [eax]
call fcn.00405c08
mov ecx, esi
mov edx, 0x37
call fcn.004028a0
test eax, eax
je 0x401cf5
mov byte [edi + 0x89], 1
mov ecx, esi
mov edx, 9
call fcn.004028a0
test eax, eax
je 0x401d53
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
lea eax, [esp + 0xc4]
push 0
push eax
push esi
call sub.msvcrt.dll_strtol
add esp, 0xc
mov dword [edi + 0x28], eax
sar eax, 0x1f
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0xc4]
cmp eax, esi
je 0x401d36
cmp byte [eax], 0
je 0x401d4c
push esi
push str.Could_not_convert_process_PID:___s__into_a_pid.
jmp 0x4023b2
push esi
push str.invalid_architecture_in_the__a_or___arch_option:__s
jmp 0x4023b2
mov esi, dword [esp + 0x1e0]
mov ecx, esi
mov edx, 0x29
call fcn.004028a0
test eax, eax
je 0x401d8d
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
push esi
call dword [method.lldb::SBLanguageRuntime.GetLanguageTypeFromString_char_const_]
add esp, 4
mov dword [edi + 0x24], eax
test eax, eax
je 0x4023ac
mov ecx, ebx
push eax
call dword [method.lldb::SBDebugger.SetREPLLanguage_lldb::LanguageType_]
mov esi, dword [esp + 0x1e0]
mov ecx, esi
mov edx, 0x2b
call fcn.004028a0
test eax, eax
je 0x401da4
mov byte [edi + 0x8a], 1
mov dword [esp + 0xc], ebx
mov ecx, esi
mov edx, 0x2a
call fcn.004028a0
test eax, eax
je 0x401dd1
mov byte [edi + 0x8a], 1
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x401dd1
lea ecx, [edi + 0x48]
push eax
call fcn.00405c08
movaps xmm0, xmmword [0x406050]
movups xmmword [esp + 0xc4], xmm0
mov dword [esp + 0xd4], 0x20
mov dword [esp + 0xd8], 0x1e
lea eax, [esp + 0xc4]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 6
sub esp, 8
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.00405bf0
mov ecx, dword [esi + 4]
lea eax, [ecx + eax*4]
lea esi, [ecx + edx*4]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], esi
movaps xmm0, xmmword [0x406050]
movups xmmword [esp + 0xcc], xmm0
mov dword [esp + 0xdc], 0x20
mov dword [esp + 0xe0], 0x1e
lea ecx, [esp + 0xc4]
call fcn.00404b40
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
movaps xmm0, xmmword [0x406050]
movups xmmword [esp + 0x1c], xmm0
mov dword [esp + 0x2c], 0x20
mov dword [esp + 0x30], 0x1e
lea ecx, [esp + 0x14]
call fcn.00404b40
movups xmm0, xmmword [esp + 0xc4]
movups xmm1, xmmword [esp + 0xd4]
movups xmmword [esp + 0x90], xmm1
movups xmmword [esp + 0x80], xmm0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], ecx
cmp eax, ecx
je 0x402391
mov ecx, dword [esp + 0x1dc]
add ecx, 0x18
mov dword [esp + 4], ecx
jmp 0x401f25
mov ecx, ebp
call dword [method.lldb::SBError.Fail___const]
test al, al
jne 0x4023bc
add dword [esp + 0x80], 4
lea ecx, [esp + 0x80]
call fcn.00404b40
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x10]
je 0x402391
mov edi, dword [eax]
mov eax, dword [edi + 0x1c]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 0xbc], 0x30
mov ecx, edi
push 0x30
call fcn.00405bea
test al, al
je 0x401fee
push dword [esp]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x402842
mov ebx, eax
cmp eax, 0xb
jae 0x401f80
mov eax, ebx
add al, bl
mov byte [esp + 0x70], al
lea esi, [esp + 0x71]
test ebx, ebx
jne 0x401fa6
jmp 0x401fb4
mov ebp, ebx
or ebp, 7
lea eax, [ebp + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov dword [esp + 0x78], eax
add ebp, 2
mov dword [esp + 0x70], ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0x74], ebx
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
mov ecx, dword [esp + 4]
push ebp
push 1
push 2
lea eax, [esp + 0x7c]
push eax
call fcn.00401550
test byte [esp + 0x70], 1
je 0x401fde
push dword [esp + 0x78]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, ebp
call dword [method.lldb::SBError.Fail___const]
test al, al
jne 0x4023bc
mov dword [esp + 0xb8], 0x1f
mov ecx, edi
push 0x1f
call fcn.00405bea
test al, al
je 0x4020ae
push dword [esp]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x40284b
mov ebx, eax
cmp eax, 0xb
jae 0x402040
mov eax, ebx
add al, bl
mov byte [esp + 0x64], al
lea esi, [esp + 0x65]
test ebx, ebx
jne 0x402066
jmp 0x402074
mov ebp, ebx
or ebp, 7
lea eax, [ebp + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov dword [esp + 0x6c], eax
add ebp, 2
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0x68], ebx
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
mov ecx, dword [esp + 4]
push ebp
push 0
push 2
lea eax, [esp + 0x70]
push eax
call fcn.00401550
test byte [esp + 0x64], 1
je 0x40209e
push dword [esp + 0x6c]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, ebp
call dword [method.lldb::SBError.Fail___const]
test al, al
jne 0x4023bc
mov dword [esp + 0xb4], 0x32
mov ecx, edi
push 0x32
call fcn.00405bea
test al, al
je 0x40216e
push dword [esp]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x402854
mov ebx, eax
cmp eax, 0xb
jae 0x402100
mov eax, ebx
add al, bl
mov byte [esp + 0x58], al
lea esi, [esp + 0x59]
test ebx, ebx
jne 0x402126
jmp 0x402134
mov ebp, ebx
or ebp, 7
lea eax, [ebp + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov dword [esp + 0x60], eax
add ebp, 2
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0x5c], ebx
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
mov ecx, dword [esp + 4]
push ebp
push 1
push 1
lea eax, [esp + 0x64]
push eax
call fcn.00401550
test byte [esp + 0x58], 1
je 0x40215e
push dword [esp + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, ebp
call dword [method.lldb::SBError.Fail___const]
test al, al
jne 0x4023bc
mov dword [esp + 0xb0], 0x2f
mov ecx, edi
push 0x2f
call fcn.00405bea
test al, al
je 0x40222e
push dword [esp]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x40285d
mov ebx, eax
cmp eax, 0xb
jae 0x4021c0
mov eax, ebx
add al, bl
mov byte [esp + 0x4c], al
lea esi, [esp + 0x4d]
test ebx, ebx
jne 0x4021e6
jmp 0x4021f4
mov ebp, ebx
or ebp, 7
lea eax, [ebp + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov dword [esp + 0x54], eax
add ebp, 2
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0x50], ebx
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
mov ecx, dword [esp + 4]
push ebp
push 1
push 0
lea eax, [esp + 0x58]
push eax
call fcn.00401550
test byte [esp + 0x4c], 1
je 0x40221e
push dword [esp + 0x54]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, ebp
call dword [method.lldb::SBError.Fail___const]
test al, al
jne 0x4023bc
mov dword [esp + 0xac], 0x20
mov ecx, edi
push 0x20
call fcn.00405bea
test al, al
je 0x4022e5
push dword [esp]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x402866
mov ebx, eax
cmp eax, 0xb
jae 0x402277
mov eax, ebx
add al, bl
mov byte [esp + 0x40], al
lea esi, [esp + 0x41]
test ebx, ebx
jne 0x40229d
jmp 0x4022ab
mov ebp, ebx
or ebp, 7
lea eax, [ebp + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov dword [esp + 0x48], eax
add ebp, 2
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0x44], ebx
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
mov ecx, dword [esp + 4]
push ebp
push 0
push 1
lea eax, [esp + 0x4c]
push eax
call fcn.00401550
test byte [esp + 0x40], 1
je 0x4022d5
push dword [esp + 0x48]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, ebp
call dword [method.lldb::SBError.Fail___const]
test al, al
jne 0x4023bc
mov dword [esp + 0xa8], 0x1e
mov ecx, edi
push 0x1e
call fcn.00405bea
test al, al
je 0x401f00
push dword [esp]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x40286f
mov ebx, eax
cmp eax, 0xb
jae 0x40232e
mov eax, ebx
add al, bl
mov byte [esp + 0x34], al
lea esi, [esp + 0x35]
test ebx, ebx
jne 0x402350
jmp 0x40235e
mov edi, ebx
or edi, 7
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov dword [esp + 0x3c], eax
add edi, 2
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebx
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
mov ecx, dword [esp + 4]
push ebp
push 0
push 0
lea eax, [esp + 0x40]
push eax
call fcn.00401550
test byte [esp + 0x34], 1
je 0x401ef0
push dword [esp + 0x3c]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x401ef0
mov esi, dword [esp + 0x1dc]
movzx eax, byte [esi + 0x54]
test al, 1
je 0x4023cb
mov eax, dword [esi + 0x58]
test eax, eax
je 0x4023d5
jmp 0x40255a
push esi
push str.Unrecognized_language_name:___s_
push ebp
call dword [method.lldb::SBError.SetErrorStringWithFormat_char_const__..._]
add esp, 0xc
mov eax, ebp
add esp, 0x1c8
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
shr eax, 1
test eax, eax
jne 0x40255a
mov eax, dword [esi + 0x2c]
or eax, dword [esi + 0x28]
jne 0x40255a
lea eax, [esi + 0x18]
mov dword [esp + 4], eax
lea ecx, [esp + 0xc4]
mov esi, dword [esp + 0x1e0]
mov edx, esi
push 5
call fcn.004029d0
add esp, 4
mov ebp, dword [esp + 0xc4]
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
cmp ebp, eax
je 0x402584
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xcc]
test edi, edi
jne 0x402446
lea eax, [ebx - 8]
mov dword [esp + 0x10], eax
jmp 0x402518
mov eax, ebx
mov ebp, eax
cmp eax, dword [esp]
je 0x402584
lea ecx, [esp + 0x14]
push esi
push dword [ebp]
call fcn.00405be4
mov esi, dword [esp + 0x1dc]
mov eax, dword [esi + 0x1c]
cmp eax, dword [esi + 0x20]
jae 0x402480
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x14]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [esi + 0x1c], eax
jmp 0x4024a4
mov ecx, dword [esp + 4]
lea eax, [esp + 0x14]
push eax
call fcn.00404c00
test byte [esp + 0x14], 1
mov dword [esi + 0x1c], eax
je 0x4024a4
push dword [esp + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
add ebp, 4
mov eax, ebx
cmp ebp, ebx
mov esi, dword [esp + 0x1e0]
jne 0x4024cb
jmp 0x40243b
add ebp, 4
cmp ebp, ebx
je 0x402439
mov ecx, dword [ebp]
test ecx, ecx
je 0x4024c0
mov dword [esp + 0x14], edi
push edi
call fcn.00405bea
test al, al
je 0x4024c0
mov eax, ebp
jmp 0x40243b
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x14]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [edi + 0x1c], eax
lea eax, [ebp + 4]
mov ecx, dword [esp + 0x10]
sub ecx, ebp
and ecx, 0xfffffffc
cmp eax, ebx
lea ebp, [ebp + ecx + 8]
cmove ebp, ebx
cmp ebp, dword [esp]
je 0x402584
lea ecx, [esp + 0x14]
push esi
push dword [ebp]
call fcn.00405be4
mov edi, dword [esp + 0x1dc]
mov eax, dword [edi + 0x1c]
cmp eax, dword [edi + 0x20]
jb 0x4024e7
mov ecx, dword [esp + 4]
lea eax, [esp + 0x14]
push eax
call fcn.00404c00
test byte [esp + 0x14], 1
mov dword [edi + 0x1c], eax
je 0x4024fe
push dword [esp + 0x1c]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x4024fe
mov ecx, dword [esp + 0x1e0]
call fcn.00402b10
test eax, eax
je 0x402660
call fcn.00405bde
mov ecx, eax
push str.program_arguments_are_ignored_when_attaching._n
call fcn.00402b80
jmp 0x402660
mov ecx, esi
call fcn.00402a80
test eax, eax
mov esi, dword [esp + 0x1dc]
je 0x402660
mov ebx, dword [eax + 0x20]
test ebx, ebx
je 0x402660
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
mov ebp, dword [esi + 0x1c]
shl ebx, 2
xor edi, edi
mov dword [esp + 0x7c], ebx
jmp 0x4025e4
mov ecx, dword [esp + 4]
lea eax, [esp + 0xc4]
push eax
call fcn.004047d0
mov ebp, eax
mov esi, dword [esp + 0x1dc]
mov dword [esi + 0x1c], ebp
add edi, 4
cmp ebx, edi
je 0x402660
mov eax, dword [esp]
mov eax, dword [eax + edi]
mov dword [esp + 0xc4], eax
cmp ebp, dword [esi + 0x20]
jae 0x4025c0
mov dword [esp + 0x10], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff8
jae 0x402878
mov ebx, eax
cmp eax, 0xb
jae 0x402623
mov eax, ebx
add al, bl
mov byte [ebp], al
lea esi, [ebp + 1]
test ebx, ebx
jne 0x402642
jmp 0x402650
mov esi, ebx
or esi, 7
lea eax, [esi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [ebp + 8], eax
add esi, 2
mov dword [ebp], esi
mov esi, eax
mov dword [ebp + 4], ebx
push ebx
push dword [esp + 0x14]
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
add ebp, 0xc
mov ebx, dword [esp + 0x7c]
jmp 0x4025d3
mov ebx, dword [esp + 0x1e4]
cmp byte [esi + 0x86], 0
je 0x4026a6
call fcn.00405bc0
mov esi, eax
call dword [method.lldb::SBDebugger.GetVersionString__]
mov ecx, esi
push eax
call fcn.00402b80
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
mov ebp, dword [esp + 8]
jae 0x40271d
lea edx, [ecx + 1]
mov dword [eax + 0x10], edx
mov byte [ecx], 0xa
mov byte [ebx], 1
jmp 0x4023bc
cmp byte [esi + 0x87], 0
mov ebp, dword [esp + 8]
je 0x40272e
lea esi, [esp + 0x14]
push esi
call dword [method.lldb::SBHostOS.GetLLDBPythonPath__]
add esp, 4
mov ecx, esi
call dword [method.lldb::SBFileSpec.IsValid___const]
test al, al
je 0x4027d6
lea ecx, [esp + 0x14]
push 0x104
lea edi, [esp + 0xc8]
push edi
call dword [method.lldb::SBFileSpec.GetPath_char__unsigned_int__const]
mov esi, eax
call fcn.00405bc0
mov ecx, eax
cmp esi, 0x103
ja 0x4027e4
push edi
call fcn.00402b80
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
jae 0x40280f
lea edx, [ecx + 1]
mov dword [eax + 0x10], edx
mov byte [ecx], 0xa
jmp 0x4027ee
mov ecx, eax
push 0xa
call fcn.00405b8a
mov byte [ebx], 1
jmp 0x4023bc
cmp byte [esi + 0x88], 0
je 0x4023bc
mov edi, dword [esp + 0xc]
mov ecx, edi
call dword [method.lldb::SBDebugger.GetScriptLanguage___const]
lea esi, [esp + 0x14]
mov ecx, esi
push eax
push edi
call dword [method.lldb::SBDebugger.GetScriptInterpreterInfo_lldb::ScriptLanguage_]
mov ecx, esi
call dword [method.lldb::SBStructuredData.operator_bool___const]
test al, al
je 0x402800
lea ecx, [esp + 0xc4]
call dword [0x408b58]
lea edi, [esp + 0x80]
mov ecx, edi
lea eax, [esp + 0xc4]
push eax
push esi
call dword [method.lldb::SBStructuredData.GetAsJSON_lldb::SBStream__const]
mov ecx, ebp
push edi
call dword [method.lldb::SBError.operator_lldb::SBError_const_]
mov ecx, edi
call dword [method.lldb::SBError.SBError__]
mov ecx, ebp
call dword [method.lldb::SBError.Success___const]
test al, al
je 0x402823
call fcn.00405bc0
mov esi, eax
lea ecx, [esp + 0xc4]
call dword [method.lldb::SBStream.GetData__]
mov ecx, esi
push eax
call fcn.00402b80
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
jae 0x40281a
lea edx, [ecx + 1]
mov dword [eax + 0x10], edx
mov byte [ecx], 0xa
jmp 0x402823
call fcn.00405bc0
mov ecx, eax
push str._COULD_NOT_FIND_PATH__n
jmp 0x4027e9
push str._PATH_TOO_LONG__n
call fcn.00402b80
mov byte [ebx], 1
lea ecx, [esp + 0x14]
call dword [method.lldb::SBFileSpec.SBFileSpec__]
jmp 0x4023bc
mov ecx, ebp
push str.no_script_interpreter.
call dword [method.lldb::SBError.SetErrorString_char_const_]
jmp 0x402830
mov ecx, eax
push 0xa
call fcn.00405b8a
jmp 0x4027ee
mov ecx, eax
push 0xa
call fcn.00405b8a
lea ecx, [esp + 0xc4]
call dword [method.lldb::SBStream.SBStream__]
mov byte [ebx], 1
lea ecx, [esp + 0x14]
call dword [method.lldb::SBStructuredData.SBStructuredData__]
jmp 0x4023bc
lea ecx, [esp + 0x70]
call fcn.00404590
lea ecx, [esp + 0x64]
call fcn.00404590
lea ecx, [esp + 0x58]
call fcn.00404590
lea ecx, [esp + 0x4c]
call fcn.00404590
lea ecx, [esp + 0x40]
call fcn.00404590
lea ecx, [esp + 0x34]
call fcn.00404590
mov ecx, ebp
call fcn.00404590
mov ecx, edi
call fcn.00404590
int3