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

Disassembly:
jmp 0x5c4e00
sub esp, 0x24c
movups xmm0, xmmword [esp + 0x250]
movzx edx, byte [esp + 0x264]
push ebx
push esi
push edi
sub esp, 0x10
mov edi, ecx
mov eax, esp
mov dword [esp + 0x1c], edi
movups xmmword [eax], xmm0
movzx eax, byte [esp + 0x27c]
xor eax, 1
lea eax, [eax + edx*2]
add eax, 0x10
push eax
call fcn.004142e5
mov dword [edi], 0x941314
lea ecx, [edi + 0x38]
lea eax, [ecx + 0xc]
mov dword [ecx + 4], 0
mov dword [ecx], eax
lea eax, [edi + 0x48]
mov dword [esp + 0x64], eax
lea eax, [edi + 0x54]
mov dword [edi + 0x48], eax
mov dword [ecx + 8], 1
mov dword [esp + 0xc4], ecx
lea ecx, [edi + 0x58]
lea eax, [ecx + 0xc]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov dword [ecx + 8], 4
mov dword [esp + 0x80], ecx
lea ecx, [edi + 0x94]
lea eax, [ecx + 0xc]
mov dword [edi + 0x4c], 0
mov dword [ecx], eax
lea eax, [edi + 0xb0]
mov dword [edi + 0xa4], eax
lea eax, [edi + 0xbc]
mov dword [esp + 0xd8], eax
mov dword [edi + 0x50], 1
mov dword [ecx + 4], 0
mov dword [ecx + 8], 1
mov dword [edi + 0xa8], 0
mov dword [edi + 0xac], 1
mov dword [edi + 0xb8], 0
mov dword [eax], 0
lea eax, [edi + 0xc0]
mov dword [esp + 0xdc], eax
mov dword [eax], 0
lea eax, [edi + 0xc4]
mov dword [esp + 0x170], eax
mov dword [eax], 0
lea eax, [edi + 0xc8]
mov dword [esp + 0x17c], eax
mov dword [eax], 0
lea eax, [edi + 0xcc]
mov dword [esp + 0xbc], eax
mov dword [eax], 0
lea eax, [edi + 0xd4]
mov dword [esp + 0xc0], eax
mov byte [eax], 0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x13c], ecx
mov ecx, eax
mov dword [edi + 0xd0], 0
mov edi, dword [esp + 0x274]
mov dword [esp + 0x10], edi
lea esi, [eax + 0x18]
call fcn.00403a76
push edi
push esi
mov esi, dword [esp + 0x14]
push esi
test al, al
je 0x5c4f92
call fcn.005c12f0
mov dword [esp + 0x84], 0x20
jmp 0x5c4fa2
call fcn.005c11e0
mov dword [esp + 0x84], 0x1c
mov ebx, dword [esi + 0x1c]
add esp, 0xc
cmp dword [edi], 0
jne 0x5c727e
mov ecx, esi
call fcn.004010af
mov ecx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb8], ecx
add eax, dword [ecx + 0x14]
mov ecx, esi
mov dword [esp + 0x78], eax
mov eax, 0
adc eax, eax
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x28]
push eax
call fcn.0040f678
mov ecx, dword [esp + 0xc]
mov esi, dword [eax + 4]
add esi, dword [eax]
lea eax, [esp + 0x34]
push eax
call fcn.0040f678
mov eax, dword [eax]
add eax, dword [esp + 0x78]
cmp eax, esi
jbe 0x5c505d
mov dword [esp + 0x58], str.load_commands_extend_past_the_end_of_the_file
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x78]
mov word [esp + 0x64], 0x103
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x5c503c
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [edi], 0
mov esi, dword [esp + 0xc]
jne 0x5c727e
mov dword [edi], 0
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 0x24c
ret 0x24
mov eax, dword [esp + 0x278]
test eax, eax
je 0x5c50c4
cmp ebx, eax
je 0x5c50c4
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
mov word [esp + 0x48], 0x103
mov dword [esp + 0x40], str.s_cputype_does_not_match_object_files_mach_header
mov dword [esp + 0x58], str.universal_header_architecture:
mov word [esp + 0x3c], 0x109
mov dword [esp + 0x18], str.universal_header_architecture:
mov word [esp + 0x20], 0x903
mov dword [esp + 0x2c], str.s_cputype_does_not_match_object_files_mach_header
mov word [esp + 0x30], 0x302
jmp 0x5c500f
push 0x20
call fcn.00405e93
mov ebx, eax
mov dword [esp + 0xac], str.Mach_O_headers
mov eax, dword [esp + 0x7c]
xorps xmm0, xmm0
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xb4]
push 0x20
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
mov dword [esp + 0x30], ebx
movlpd qword [esp + 0xa0], xmm0
mov dword [esp + 0xac], eax
call fcn.00405e93
movups xmm0, xmmword [esp + 0xa0]
add esp, 8
mov dword [esp + 0x2c], 1
movups xmmword [eax + 8], xmm0
movq xmm0, qword [esp + 0xa8]
movq qword [eax + 0x18], xmm0
mov ecx, dword [ebx + 4]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [ebx + 4], eax
mov dword [ecx], eax
mov eax, dword [esp + 0xb8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xb4], eax
test eax, eax
je 0x5c5233
push dword [esp + 0xc]
lea eax, [esp + 0x9c]
push eax
call fcn.005d13a0
mov cl, byte [esp + 0xac]
add esp, 8
mov al, cl
not al
test al, 1
je 0x5c51bc
movq xmm0, qword [esp + 0x98]
mov eax, dword [esp + 0xa0]
movq qword [esp + 0x18], xmm0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x20], eax
test cl, 1
je 0x5c523b
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x5c523b
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x5c523b
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x9c]
call fcn.00405a10
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x5c51e5
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [esp + 0xa4], 1
je 0x5c5200
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x5c5200
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c5223
nop
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5210
push 0x20
push ebx
call fcn.004036ca
add esp, 8
jmp 0x5c503c
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], eax
xor esi, esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x14], esi
cmp dword [esp + 0xb4], esi
jbe 0x5c68e3
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
call fcn.00403a76
test al, al
je 0x5c53b9
mov al, byte [esp + 0x20]
test al, 7
je 0x5c53c4
mov ecx, dword [esp + 0xb8]
cmp dword [ecx + 0xc], 4
jne 0x5c530a
cmp ebx, 4
jne 0x5c530a
test al, 3
je 0x5c53c4
lea eax, [esp + 0x18]
mov word [esp + 0x48], 0x103
mov dword [esp + 0x58], eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x44], str._cmdsize_not_a_multiple_of_8
push eax
mov word [esp + 0x78], 0x103
mov dword [esp + 0x70], str.load_command
mov word [esp + 0x5c], 0x109
mov dword [esp + 0x20], str.load_command
mov dword [esp + 0x24], esi
mov word [esp + 0x28], 0x903
mov dword [esp + 0x64], str._cmdsize_not_a_multiple_of_8
mov word [esp + 0x68], 0x302
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5c5383
mov eax, dword [ecx]
push 1
call dword [eax]
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c53a9
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5396
push 0x20
push ebx
call fcn.004036ca
add esp, 8
jmp 0x5c503c
test byte [esp + 0x20], 3
jne 0x5c6da1
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jb 0x5c53ec
push 0xc
push 0
lea eax, [ecx + 0xc]
push eax
call fcn.00405e1b
mov edx, dword [esp + 0x80]
mov eax, dword [edx + 4]
jmp 0x5c53ee
mov edx, ecx
movq xmm0, qword [esp + 0x18]
lea ecx, [eax + eax*2]
mov eax, dword [edx]
mov edx, dword [esp + 0x7c]
movq qword [eax + ecx*4], xmm0
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [esp + 0x80]
inc dword [eax + 4]
cmp ebx, 2
jne 0x5c54a3
lea eax, [esp + 0x28]
push eax
push dword [esp + 0xdc]
lea eax, [esp + 0x20]
push esi
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x11c]
push eax
call fcn.005cda70
add esp, 0x18
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x108]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c5464
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c5493
nop
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5480
push 0x20
push ebx
call fcn.004036ca
add esp, 8
jmp 0x5c503c
cmp ebx, 0xb
jne 0x5c5535
lea eax, [esp + 0x28]
push eax
push dword [esp + 0xe0]
lea eax, [esp + 0x20]
push esi
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x164]
push eax
call fcn.005ca320
add esp, 0x18
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x150]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c54f7
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c5525
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5512
push 0x20
push ebx
call fcn.004036ca
add esp, 8
jmp 0x5c503c
cmp ebx, 0x29
jne 0x5c55e9
push str.data_in_code_info
lea eax, [esp + 0x2c]
push eax
push str.LC_DATA_IN_CODE
push dword [esp + 0x17c]
lea eax, [esp + 0x28]
push esi
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x190]
push eax
call fcn.005cb130
add esp, 0x20
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x174]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c5593
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c55b0
push 0x20
push edi
call fcn.004036ca
add esp, 8
lea ecx, [esp + 0x10]
call fcn.0040e683
mov esi, dword [esp + 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 0x24c
ret 0x24
cmp ebx, 0x2e
jne 0x5c567e
push str.linker_optimization_hints
lea eax, [esp + 0x2c]
push eax
push str.LC_LINKER_OPTIMIZATION_HINT
push dword [esp + 0x188]
lea eax, [esp + 0x28]
push esi
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x19c]
push eax
call fcn.005cb130
add esp, 0x20
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x180]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c5647
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5666
jmp 0x5c55c3
cmp ebx, 0x26
jne 0x5c5718
push str.function_starts_data
lea eax, [esp + 0x2c]
push eax
push str.LC_FUNCTION_STARTS
lea eax, [esp + 0x190]
push eax
push esi
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x1a4]
push eax
call fcn.005cb130
add esp, 0x20
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x188]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c56dd
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5700
jmp 0x5c55c3
cmp ebx, 0x1e
jne 0x5c57ae
push str.split_info_data
lea eax, [esp + 0x2c]
push eax
push str.LC_SEGMENT_SPLIT_INFO
lea eax, [esp + 0x198]
push eax
push esi
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x1ac]
push eax
call fcn.005cb130
add esp, 0x20
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x190]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c5777
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5796
jmp 0x5c55c3
cmp ebx, 0x2b
jne 0x5c5848
push str.code_signing_RDs_data
lea eax, [esp + 0x2c]
push eax
push str.LC_DYLIB_CODE_SIGN_DRS
lea eax, [esp + 0xec]
push eax
push esi
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x100]
push eax
call fcn.005cb130
add esp, 0x20
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0xe4]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c580d
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5830
jmp 0x5c55c3
cmp ebx, 0x1d
jne 0x5c58de
push str.code_signature_data
lea eax, [esp + 0x2c]
push eax
push str.LC_CODE_SIGNATURE
lea eax, [esp + 0xf4]
push eax
push esi
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x108]
push eax
call fcn.005cb130
add esp, 0x20
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0xec]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c58a7
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c58c6
jmp 0x5c55c3
cmp ebx, 0x22
jne 0x5c596e
lea eax, [esp + 0x28]
push eax
push str.LC_DYLD_INFO
push dword [esp + 0xc4]
lea eax, [esp + 0x24]
push esi
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x108]
push eax
call fcn.005c8e20
add esp, 0x1c
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0xf0]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c5937
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5956
jmp 0x5c55c3
cmp ebx, 0x80000022
jne 0x5c5a08
lea eax, [esp + 0x28]
push eax
push str.LC_DYLD_INFO_ONLY
push dword [esp + 0xc4]
lea eax, [esp + 0x24]
push esi
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x10c]
push eax
call fcn.005c8e20
add esp, 0x1c
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0xf4]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c59ca
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c59f0
jmp 0x5c55c3
cmp ebx, 0x1b
jne 0x5c5a36
cmp edx, 0x18
jne 0x5c69d8
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xd0], 0
jne 0x5c6973
mov eax, dword [esp + 0x18]
mov dword [ecx + 0xd0], eax
jmp 0x5c685f
cmp ebx, 0x19
jne 0x5c5ab1
lea eax, [esp + 0x28]
push eax
push dword [esp + 0xb4]
lea eax, [esp + 0x20]
push dword [esp + 0x80]
push str.LC_SEGMENT_64
push esi
push dword [esp + 0xd4]
push dword [esp + 0xdc]
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0x11c]
push eax
call fcn.005c2c70
add esp, 0x28
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0xf8]
mov ebx, dword [edi]
test ecx, ecx
je 0x5c5a98
mov eax, dword [ecx]
push 1
call dword [eax]
test ebx, ebx
jne 0x5c6a7b
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
jmp 0x5c685b
cmp ebx, 1
jne 0x5c5b2c
lea eax, [esp + 0x28]
push eax
push dword [esp + 0xb4]
lea eax, [esp + 0x20]
push dword [esp + 0x80]
push str.LC_SEGMENT
push esi
push dword [esp + 0xd4]
push dword [esp + 0xdc]
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0x120]
push eax
call fcn.005c13f0
add esp, 0x28
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0xfc]
mov ebx, dword [edi]
test ecx, ecx
je 0x5c5b13
mov eax, dword [ecx]
push 1
call dword [eax]
test ebx, ebx
jne 0x5c6aaa
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
jmp 0x5c685b
cmp ebx, 0xd
jne 0x5c5bac
lea eax, [esp + 0x74]
push eax
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x110]
push eax
call fcn.005ca250
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x100]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5c5b75
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5b94
jmp 0x5c55c3
cmp ebx, 0xc
jne 0x5c5c38
push str.LC_LOAD_DYLIB
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x114]
push eax
call fcn.005c9bb0
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x104]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c5bf9
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x5c6ad9
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jb 0x5c5c23
push 4
push 0
lea eax, [edx + 0xc]
mov ecx, edx
push eax
call fcn.00405e1b
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4], esi
inc dword [edx + 4]
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x80000018
jne 0x5c5cbb
push str.LC_LOAD_WEAK_DYLIB
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x11c]
push eax
call fcn.005c9bb0
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x10c]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c5c84
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c5c01
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5ca3
jmp 0x5c55c3
cmp ebx, 0x20
jne 0x5c5d3b
push str.LC_LAZY_LOAD_DYLIB
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x120]
push eax
call fcn.005c9bb0
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x110]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c5d04
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c5c01
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5d23
jmp 0x5c55c3
cmp ebx, 0x8000001f
jne 0x5c5dbe
push str.LC_REEXPORT_DYLIB
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x124]
push eax
call fcn.005c9bb0
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x114]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c5d87
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c5c01
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5da6
jmp 0x5c55c3
cmp ebx, 0x80000023
jne 0x5c5e48
push str.LC_LOAD_UPWARD_DYLIB
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x128]
push eax
call fcn.005c9bb0
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x118]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c5e0e
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c5c01
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5e30
jmp 0x5c55c3
cmp ebx, 0xf
jne 0x5c5ec8
push str.LC_ID_DYLINKER
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x12c]
push eax
call fcn.005c8780
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x11c]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c5e91
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5eb0
jmp 0x5c55c3
cmp ebx, 0xe
jne 0x5c5f48
push str.LC_LOAD_DYLINKER
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x130]
push eax
call fcn.005c8780
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x120]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c5f11
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5f30
jmp 0x5c55c3
cmp ebx, 0x27
jne 0x5c5fc8
push str.LC_DYLD_ENVIRONMENT
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x134]
push eax
call fcn.005c8780
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x124]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c5f91
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c5fb0
jmp 0x5c55c3
cmp ebx, 0x24
jne 0x5c6058
push str.LC_VERSION_MIN_MACOSX
lea eax, [esp + 0x88]
push eax
push esi
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x13c]
push eax
call fcn.005cf9d0
add esp, 0x18
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x128]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c601d
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6040
jmp 0x5c55c3
cmp ebx, 0x25
jne 0x5c60e8
push str.LC_VERSION_MIN_IPHONEOS
lea eax, [esp + 0x88]
push eax
push esi
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x140]
push eax
call fcn.005cf9d0
add esp, 0x18
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x12c]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c60ad
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c60d0
jmp 0x5c55c3
cmp ebx, 0x2f
jne 0x5c6178
push str.LC_VERSION_MIN_TVOS
lea eax, [esp + 0x88]
push eax
push esi
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x144]
push eax
call fcn.005cf9d0
add esp, 0x18
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x130]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c613d
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6160
jmp 0x5c55c3
cmp ebx, 0x30
jne 0x5c6208
push str.LC_VERSION_MIN_WATCHOS
lea eax, [esp + 0x88]
push eax
push esi
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x148]
push eax
call fcn.005cf9d0
add esp, 0x18
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x134]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x5c61cd
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c685b
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c61f0
jmp 0x5c55c3
cmp ebx, 0x31
jne 0x5c6255
lea eax, [esp + 0x28]
push eax
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x148]
push eax
call fcn.005cbb70
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x138]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x32
jne 0x5c62a4
push esi
push dword [esp + 0x140]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x150]
push eax
call fcn.005d6bf0
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x140]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x8000001c
jne 0x5c62ef
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x150]
push eax
call fcn.005cc7c0
add esp, 0x10
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x144]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x2a
jne 0x5c631b
cmp edx, 0x10
jne 0x5c6b49
cmp dword [esp + 0xc8], 0
jne 0x5c6b08
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc8], eax
jmp 0x5c685b
cmp ebx, 0x80000028
jne 0x5c634a
cmp edx, 0x18
jne 0x5c6bb7
cmp dword [esp + 0xcc], 0
jne 0x5c6bad
mov eax, dword [esp + 0x18]
mov dword [esp + 0xcc], eax
jmp 0x5c685b
cmp ebx, 0x21
jne 0x5c63e9
cmp edx, 0x14
jne 0x5c6bcc
push dword [esp + 0x18]
lea eax, [esp + 0x198]
push dword [esp + 0x10]
push eax
call fcn.005be530
push str.LC_ENCRYPTION_INFO
movups xmm1, xmmword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1b4], eax
lea eax, [esp + 0xe0]
push eax
movaps xmm0, xmm1
psrldq xmm1, 8
push 0
psrldq xmm0, 0xc
movd eax, xmm0
push eax
push 0
movd eax, xmm1
push eax
push esi
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x38]
lea eax, [esp + 0x178]
push eax
call fcn.005cad70
add esp, 0x34
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x148]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x2c
jne 0x5c648c
cmp edx, 0x18
jne 0x5c6be4
push dword [esp + 0x18]
lea eax, [esp + 0x198]
push dword [esp + 0x10]
push eax
call fcn.005be5f0
push str.LC_ENCRYPTION_INFO_64
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
lea eax, [esp + 0xe0]
push eax
movq qword [esp + 0x1b8], xmm0
movaps xmm0, xmm1
push 0
psrldq xmm0, 0xc
movd eax, xmm0
psrldq xmm1, 8
push eax
push 0
movd eax, xmm1
push eax
push esi
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x38]
lea eax, [esp + 0x17c]
push eax
call fcn.005cad70
add esp, 0x34
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x14c]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x2d
jne 0x5c64d4
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x184]
push eax
call fcn.005cb790
add esp, 0x10
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x178]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x12
jne 0x5c655c
cmp edx, 0xc
jb 0x5c6bfc
push dword [esp + 0x18]
lea eax, [esp + 0x50]
push dword [esp + 0x10]
push eax
call fcn.005bf380
push str.umbrella
push dword [eax + 8]
movq xmm0, qword [eax]
lea eax, [esp + 0x2c]
push str.sub_framework_command
push 0xc
push str.LC_SUB_FRAMEWORK
push esi
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x180]
movq qword [esp + 0x94], xmm0
push eax
call fcn.005ccc30
add esp, 0x30
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x154]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x13
jne 0x5c65e4
cmp edx, 0xc
jb 0x5c6c14
push dword [esp + 0x18]
lea eax, [esp + 0x44]
push dword [esp + 0x10]
push eax
call fcn.005bf4e0
push str.sub_umbrella
push dword [eax + 8]
movq xmm0, qword [eax]
lea eax, [esp + 0x2c]
push str.sub_umbrella_command
push 0xc
push str.LC_SUB_UMBRELLA
push esi
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x184]
movq qword [esp + 0x94], xmm0
push eax
call fcn.005ccc30
add esp, 0x30
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x158]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x15
jne 0x5c666c
cmp edx, 0xc
jb 0x5c6c2c
push dword [esp + 0x18]
lea eax, [esp + 0x5c]
push dword [esp + 0x10]
push eax
call fcn.005bf430
push str.sub_library
push dword [eax + 8]
movq xmm0, qword [eax]
lea eax, [esp + 0x2c]
push str.sub_library_command
push 0xc
push str.LC_SUB_LIBRARY
push esi
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x188]
movq qword [esp + 0x94], xmm0
push eax
call fcn.005ccc30
add esp, 0x30
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x15c]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x14
jne 0x5c66f7
cmp edx, 0xc
jb 0x5c6c44
push dword [esp + 0x18]
lea eax, [esp + 0x90]
push dword [esp + 0x10]
push eax
call fcn.005bf2d0
push str.client
push dword [eax + 8]
movq xmm0, qword [eax]
lea eax, [esp + 0x2c]
push str.sub_client_command
push 0xc
push str.LC_SUB_CLIENT
push esi
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x18c]
movq qword [esp + 0x94], xmm0
push eax
call fcn.005ccc30
add esp, 0x30
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x160]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x11
jne 0x5c6723
cmp edx, 0x28
jne 0x5c6c66
cmp dword [esp + 0x88], 0
jne 0x5c6c5c
mov edx, dword [esp + 0x18]
mov dword [esp + 0x88], edx
jmp 0x5c685b
cmp ebx, 0x1a
jne 0x5c674f
cmp edx, 0x48
jne 0x5c6c88
cmp dword [esp + 0x88], 0
jne 0x5c6c7e
mov eax, dword [esp + 0x18]
mov dword [esp + 0x88], eax
jmp 0x5c685b
cmp ebx, 5
jne 0x5c67b4
push str.LC_UNIXTHREAD
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x174]
push eax
call fcn.005cdfb0
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x164]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
cmp dword [esp + 0xd4], esi
jne 0x5c6ca0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
jmp 0x5c685b
cmp ebx, 4
jne 0x5c67fe
push str.LC_THREAD
push esi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x178]
push eax
call fcn.005cdfb0
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x168]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
cmp ebx, 0x16
jne 0x5c684a
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x170]
push eax
push esi
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x48]
push eax
call fcn.005cf700
add esp, 0x18
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
mov esi, dword [edi]
call fcn.0040cbc6
test esi, esi
jne 0x5c6b3b
mov esi, dword [esp + 0x14]
jmp 0x5c685b
push ebx
call fcn.005d4830
add esp, 4
test al, al
jne 0x5c6d09
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xb4]
dec eax
cmp esi, eax
jae 0x5c68cd
lea eax, [esp + 0x18]
push eax
push esi
push ecx
lea eax, [esp + 0xa4]
push eax
call fcn.005d1cb0
mov cl, byte [esp + 0xb4]
add esp, 0x10
mov al, cl
not al
test al, 1
je 0x5c6caa
movq xmm0, qword [esp + 0x98]
mov eax, dword [esp + 0xa0]
movq qword [esp + 0x18], xmm0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x20], eax
test cl, 1
je 0x5c68c9
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x5c68c9
mov eax, dword [ecx]
push 1
call dword [eax]
mov ebx, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [esp + 0xb4]
jb 0x5c52d3
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
cmp dword [esi], 0
mov eax, dword [eax]
je 0x5c719c
test eax, eax
jne 0x5c6e53
lea eax, [esp + 0x40]
mov word [esp + 0x48], 0x103
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x44], str.contains_LC_DYSYMTAB_load_command_without_a_LC_SYMTAB_load_command
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5c693d
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c6963
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6950
push 0x20
push ebx
call fcn.004036ca
add esp, 8
jmp 0x5c503c
lea eax, [esp + 0x58]
mov word [esp + 0x60], 0x103
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x5c], str.more_than_one_LC_UUID_command
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
nop
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c69c0
jmp 0x5c55c3
lea eax, [esp + 0x58]
mov word [esp + 0x60], 0x103
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x5c], str._has_incorrect_cmdsize
push eax
lea eax, [esp + 0x48]
mov word [esp + 0x50], 0x103
push eax
lea eax, [esp + 0x98]
mov dword [esp + 0x4c], str.LC_UUID_command
push eax
mov word [esp + 0x30], 0x109
mov dword [esp + 0x28], esi
call fcn.00405f47
add esp, 0xc
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00405f47
push eax
lea eax, [esp + 0x44]
push eax
call fcn.005d4c60
add esp, 0x14
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6a63
jmp 0x5c55c3
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6a92
jmp 0x5c55c3
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6ac1
jmp 0x5c55c3
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6af0
jmp 0x5c55c3
push str.more_than_one_LC_SOURCE_VERSION_command
lea ecx, [esp + 0x50]
call fcn.00415f82
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
lea ecx, [esp + 0x28]
call fcn.00401fa0
jmp 0x5c55ce
push str._has_incorrect_cmdsize
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.LC_SOURCE_VERSION_command
lea ecx, [esp + 0x6c]
call fcn.00415f82
lea eax, [esp + 0x4c]
mov word [esp + 0x48], 0x109
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x44], esi
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.00405f47
add esp, 0xc
push eax
lea eax, [esp + 0x60]
push eax
call fcn.00405f47
push eax
lea eax, [esp + 0x44]
push eax
call fcn.005d4c60
add esp, 0x14
jmp 0x5c6b28
push str.more_than_one_LC_MAIN_command
jmp 0x5c6b0d
push str._has_incorrect_cmdsize
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.LC_MAIN_command
jmp 0x5c6b5c
push str._has_incorrect_cmdsize
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.LC_ENCRYPTION_INFO_command
jmp 0x5c6b5c
push str._has_incorrect_cmdsize
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.LC_ENCRYPTION_INFO_64_command
jmp 0x5c6b5c
push str._LC_SUB_FRAMEWORK_cmdsize_too_small
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.load_command
jmp 0x5c6b5c
push str._LC_SUB_UMBRELLA_cmdsize_too_small
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.load_command
jmp 0x5c6b5c
push str._LC_SUB_LIBRARY_cmdsize_too_small
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.load_command
jmp 0x5c6b5c
push str._LC_SUB_CLIENT_cmdsize_too_small
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.load_command
jmp 0x5c6b5c
push str.more_than_one_LC_ROUTINES_and_or_LC_ROUTINES_64_command
jmp 0x5c6b0d
push str._has_incorrect_cmdsize
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.LC_ROUTINES_command
jmp 0x5c6b5c
push str.more_than_one_LC_ROUTINES_64_and_or_LC_ROUTINES_command
jmp 0x5c6b0d
push str._has_incorrect_cmdsize
lea ecx, [esp + 0x50]
call fcn.00415f82
push str.LC_ROUTINES_64_command
jmp 0x5c6b5c
push str.more_than_one_LC_UNIXTHREAD_command
jmp 0x5c6b0d
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x9c]
call fcn.00405a10
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
lea ecx, [esp + 0x98]
call fcn.0040ff42
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x5c55c3
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6cf1
jmp 0x5c55c3
push str._is_obsolete_and_not_supported
lea ecx, [esp + 0x50]
call fcn.00415f82
push str._for_cmd_value_of:
lea ecx, [esp + 0x6c]
call fcn.00415f82
push str.load_command
lea ecx, [esp + 0x1c]
call fcn.00415f82
lea eax, [esp + 0x4c]
mov word [esp + 0x48], 0x109
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x44], ebx
push eax
lea eax, [esp + 0x70]
mov word [esp + 0x68], 0x109
push eax
lea eax, [esp + 0x64]
mov dword [esp + 0x64], esi
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.00405f47
add esp, 0xc
push eax
lea eax, [esp + 0x20c]
push eax
call fcn.00405f47
add esp, 0xc
push eax
lea eax, [esp + 0x1a0]
push eax
call fcn.00405f47
add esp, 0xc
push eax
lea eax, [esp + 0xa0]
jmp 0x5c6b94
lea eax, [esp + 0x58]
mov word [esp + 0x54], 0x103
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x50], str._cmdsize_not_a_multiple_of_4
push eax
mov word [esp + 0x78], 0x103
mov dword [esp + 0x70], str.load_command
mov word [esp + 0x50], 0x109
mov dword [esp + 0x60], str.load_command
mov dword [esp + 0x64], esi
mov word [esp + 0x68], 0x903
mov dword [esp + 0x24], str._cmdsize_not_a_multiple_of_4
mov word [esp + 0x28], 0x302
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5c6e1a
mov eax, dword [ecx]
push 1
call dword [eax]
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c6e43
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6e30
push 0x20
push ebx
call fcn.004036ca
add esp, 8
jmp 0x5c503c
push eax
push dword [esp + 0x10]
lea eax, [esp + 0x19c]
push eax
call fcn.005bf590
push dword [esi]
push dword [esp + 0x1c]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xac], xmm0
movq xmm0, qword [eax + 0x10]
lea eax, [esp + 0x21c]
push eax
movq qword [esp + 0xc0], xmm0
call fcn.005be470
mov ecx, dword [esp + 0xbc]
add esp, 0x18
movups xmm0, xmmword [eax + 0x10]
movups xmm1, xmmword [eax]
movups xmmword [esp + 0x1bc], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esp + 0x1ac], xmm1
movups xmmword [esp + 0x1cc], xmm0
movups xmm0, xmmword [eax + 0x30]
psrldq xmm1, 0xc
movups xmmword [esp + 0x1dc], xmm0
movups xmm0, xmmword [eax + 0x40]
movd esi, xmm1
movups xmmword [esp + 0x1ec], xmm0
test esi, esi
je 0x5c6fbc
mov edx, dword [esp + 0x1b4]
cmp edx, ecx
jbe 0x5c6f4f
push str.ilocalsym_in_LC_DYSYMTAB_load_command_extends_past_the_end_of_the_symbol_table
lea ecx, [esp + 0x50]
call fcn.00415f82
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c6f47
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6f34
push 0x20
push ebx
jmp 0x5c55c6
xor eax, eax
add edx, esi
adc eax, eax
test eax, eax
jb 0x5c6fbc
ja 0x5c6f5f
cmp edx, ecx
jbe 0x5c6fbc
push str.ilocalsym_plus_nlocalsym_in_LC_DYSYMTAB_load_command_extends_past_the_end_of_the_symbol_table
lea ecx, [esp + 0x50]
call fcn.00415f82
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c6f47
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c6fa1
push 0x20
push ebx
jmp 0x5c55c6
mov esi, dword [esp + 0x1c0]
test esi, esi
je 0x5c70ac
mov edx, dword [esp + 0x1bc]
cmp edx, ecx
jbe 0x5c703b
push str.iextdefsym_in_LC_DYSYMTAB_load_command_extends_past_the_end_of_the_symbol_table
lea ecx, [esp + 0x50]
call fcn.00415f82
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c6f47
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c7020
push 0x20
push ebx
jmp 0x5c55c6
xor eax, eax
add edx, esi
adc eax, eax
test eax, eax
jb 0x5c70ac
ja 0x5c704b
cmp edx, ecx
jbe 0x5c70ac
push str.iextdefsym_plus_nextdefsym_in_LC_DYSYMTAB_load_command_extends_past_the_end_of_the_symbol_table
lea ecx, [esp + 0x50]
call fcn.00415f82
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c6f47
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c7091
push 0x20
push ebx
jmp 0x5c55c6
mov esi, dword [esp + 0x1c8]
test esi, esi
je 0x5c719c
mov edx, dword [esp + 0x1c4]
cmp edx, ecx
jbe 0x5c712b
push str.iundefsym_in_LC_DYSYMTAB_load_command_extends_past_the_end_of_the_symbol_table
lea ecx, [esp + 0x50]
call fcn.00415f82
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c6f47
nop dword [eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c7110
push 0x20
push ebx
jmp 0x5c55c6
xor eax, eax
add edx, esi
adc eax, eax
test eax, eax
jb 0x5c719c
ja 0x5c713b
cmp edx, ecx
jbe 0x5c719c
push str.iundefsym_plus_nundefsym_in_LC_DYSYMTAB_load__command_extends_past_the_end_of_the_symbol_table
lea ecx, [esp + 0x50]
call fcn.00415f82
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
lea ecx, [esp + 0x34]
mov dword [eax], 0
call fcn.0040cbc6
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c6f47
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c7181
push 0x20
push ebx
jmp 0x5c55c6
mov eax, dword [esp + 0xb8]
mov eax, dword [eax + 0xc]
cmp eax, 6
je 0x5c71b4
cmp eax, 9
jne 0x5c7226
cmp dword [esp + 0x74], 0
jne 0x5c7226
lea eax, [esp + 0x40]
mov word [esp + 0x48], 0x103
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x44], str.no_LC_ID_DYLIB_load_command_in_dynamic_library_filetype
push eax
call fcn.005d4c60
add esp, 8
mov ecx, dword [eax]
mov dword [edi], ecx
mov dword [eax], 0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5c71f4
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c7216
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c7203
push 0x20
push ebx
call fcn.004036ca
add esp, 8
jmp 0x5c503c
mov dword [edi], 0
mov eax, dword [ebx + 4]
mov dword [eax], 0
mov eax, dword [ebx]
test eax, eax
je 0x5c7253
nop dword [eax + eax]
mov esi, dword [eax]
push 0x20
push eax
call fcn.004036ca
add esp, 8
mov eax, esi
test esi, esi
jne 0x5c7240
push 0x20
push ebx
call fcn.004036ca
add esp, 8
cmp dword [edi], 0
jne 0x5c727a
lea ecx, [esp + 0x34]
mov dword [edi], 0
mov dword [esp + 0x34], 0
call fcn.00403049
mov esi, dword [esp + 0xc]
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x24c
ret 0x24