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

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
push edi
mov edi, eax
mov eax, dword [ebp]
push 0x168
xor ebx, ebx
push ebx
call eax
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x53bd89
mov ecx, dword [ebp + 8]
push 5
push ebx
push ebp
call ecx
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
push ebp
push edi
mov dword [esi + 0x158], 1
mov dword [esi + 0x15c], ebx
mov dword [esi + 0xc], ebp
mov byte [esi + 0xa0], bl
mov dword [esi + 0x54], ebx
mov dword [esi + 8], esi
call fcn.00549440
add esp, 8
mov dword [esi + 0x64], eax
cmp eax, ebx
jne 0x53bddd
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 8]
push edi
push 6
push esi
push ebx
call eax
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 4]
push esi
push ebx
call edx
add esp, 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
mov ecx, dword [esi + 0xc]
cmp byte [ecx + 0x1ad], bl
jne 0x53bdf0
mov eax, dword [ecx + 8]
push edi
push 7
jmp 0x53bdc2
cmp dword [eax + 8], ebx
jne 0x53bdfd
mov eax, dword [ecx + 8]
push edi
push 8
jmp 0x53bdc2
lea eax, [esi + 0x20]
push eax
lea edi, [esi + 0x54]
lea eax, [esp + 0x14]
mov ecx, str.Apple:OpenStream
mov edx, esi
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x18], ebx
mov dword [edi], ebx
call fcn.0053ba50
mov byte [esp + 0x40], al
lea eax, [esi + 0x24]
push eax
lea eax, [esp + 0x18]
mov ecx, str.Apple:CloseStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x44], al
lea eax, [esi + 0x28]
push eax
lea eax, [esp + 0x20]
mov ecx, str.Apple:FlushStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x48], al
lea ecx, [esi + 0x2c]
push ecx
lea eax, [esp + 0x20]
mov ecx, str.Apple:SetPosStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x4c], al
lea edx, [esi + 0x30]
push edx
lea eax, [esp + 0x24]
mov ecx, str.Apple:GetPosStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x50], al
mov ebp, dword [esp + 0x44]
add esp, 0x14
and ebp, 6
lea eax, [esp + 0x10]
je 0x53be9a
lea eax, [esp + 0x14]
lea ecx, [esi + 0x34]
push ecx
mov ecx, str.Apple:ReadStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x40], al
add esp, 4
lea eax, [esp + 0x10]
cmp bp, bx
jne 0x53bebe
lea eax, [esp + 0x14]
lea edx, [esi + 0x38]
push edx
mov ecx, str.Apple:WriteStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x40], al
lea eax, [esi + 0x3c]
push eax
lea eax, [esp + 0x1c]
mov ecx, str.Apple:EofStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x44], al
lea ecx, [esi + 0x40]
push ecx
lea eax, [esp + 0x20]
mov ecx, str.Apple:TruncateStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x48], al
lea eax, [esi + 0x44]
push eax
lea eax, [esp + 0x20]
mov ecx, str.Apple:SizeStream
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x4c], al
add esp, 0x10
lea eax, [esp + 0x10]
cmp bp, bx
je 0x53bf2a
lea eax, [esp + 0x14]
lea edx, [esi + 0x48]
push edx
mov ecx, str.Apple:ReadLabel
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x40], al
add esp, 4
lea eax, [esp + 0x10]
cmp bp, bx
jne 0x53bf4e
lea eax, [esp + 0x14]
lea ecx, [esi + 0x4c]
push ecx
mov ecx, str.Apple:WriteLabel
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x40], al
lea eax, [esi + 0x50]
push eax
lea eax, [esp + 0x1c]
mov ecx, str.Apple:ReturnParentValue
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x44], al
push edi
lea eax, [esp + 0x20]
mov ecx, str.Apple:ReturnContainerName
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x48], al
lea edx, [esi + 0x58]
push edx
lea eax, [esp + 0x24]
mov ecx, str.Apple:TargetContainerDynamicValueType
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x4c], al
lea eax, [esi + 0x5c]
push eax
lea eax, [esp + 0x24]
mov ecx, str.Apple:ExtractData
mov edx, esi
call fcn.0053ba50
or byte [esp + 0x50], al
lea ecx, [esi + 0x60]
push ecx
lea eax, [esp + 0x28]
mov ecx, str.Apple:FormatData
mov edx, esi
call fcn.0053ba50
add esp, 0x18
or al, byte [esp + 0x3c]
je 0x53c01a
mov edi, dword [esp + 0x10]
cmp edi, 0xffffffff
je 0x53c003
cmp edi, ebx
je 0x53c003
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 8]
push edi
push 9
push esi
push ebx
call eax
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 4]
push edi
push ebx
call edx
add esp, 0x18
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 4]
push esi
push ebx
call ecx
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x90]
push esi
push eax
call fcn.0053d3a0
add esp, 8
mov dword [esi + 0x88], eax
push esi
cmp eax, ebx
jne 0x53c061
mov edi, dword [esi + 0xc]
call fcn.00542df0
mov ecx, dword [edi + 8]
push eax
push 0xa
push esi
push ebx
call ecx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 4]
push esi
push ebx
call eax
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
mov dword [esi + 0x84], eax
mov byte [esi + 0xa1], bl
call fcn.005446a0
add esp, 4
mov dword [esi + 0xdc], eax
cmp eax, ebx
jne 0x53c0a9
mov edi, dword [esi + 0xc]
push esi
call fcn.00542df0
mov ecx, dword [edi + 8]
push eax
push 0x59
push esi
push ebx
call ecx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 4]
push esi
push ebx
call eax
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
mov dword [esi + 0xd8], eax
mov byte [esi + 0xe0], bl
mov ecx, dword [0x71a380]
mov dword [esi + 0x6c], ecx
mov edx, dword [0x71a384]
mov dword [esi + 0x70], edx
movzx eax, byte [0x71a388]
mov byte [esi + 0x74], al
lea ebp, [esi + 0xd8]
xor edx, edx
mov ecx, 2
mov word [esi + 0x78], dx
mov edx, dword [esp + 0x34]
lea edi, [esi + 0x76]
mov word [edi], cx
mov cx, word [esp + 0x38]
xor eax, eax
mov dword [esi + 0x7c], edx
mov word [esi + 0x14], ax
mov ax, word [esp + 0x30]
mov word [esi + 0x7a], cx
lea edx, [esi + 0x108]
xor ecx, ecx
push edx
mov dword [esi + 0x10], esi
mov dword [esi + 0x18], esi
mov dword [esi + 0x1c], ebx
mov byte [esi + 0x141], bl
mov byte [esi + 0x16], bl
mov dword [esi + 0x68], ebx
mov dword [esi + 0x80], 0x400
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], ebx
mov dword [esi + 0x98], ebx
mov dword [esi + 0x9c], ebx
mov dword [esi + 0xe4], 0x64
mov dword [esi + 0xe8], 0x10000
mov word [esi + 0xec], ax
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], ebx
mov dword [esi + 0xf8], ebx
mov dword [esi + 0xfc], ebx
mov dword [esi + 0x100], ebx
mov dword [esi + 0x104], ebx
mov dword [esi + 0x120], ebx
mov word [esi + 0x12c], cx
mov dword [esi + 0x134], ebx
mov dword [esi + 0x130], ebx
mov dword [esi + 0x138], ebx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0x150], ebx
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xb4], ebx
mov byte [esi + 0x140], 1
mov byte [esi + 0xa2], bl
call fcn.00540820
lea eax, [esi + 0x114]
push eax
call fcn.00540820
lea ecx, [esi + 0x144]
push ecx
call fcn.00540820
mov al, byte [esp + 0x3c]
add esp, 0xc
test al, 0x20
je 0x53c21d
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x20]
push 0x74a458
push edx
call eax
mov ecx, dword [esi + 0x44]
push eax
mov dword [esi + 0x68], eax
call ecx
add esp, 0xc
jmp 0x53c280
test al, 0x40
je 0x53c2bd
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x20]
push 0x74a458
push edx
call eax
add esp, 8
mov dword [esi + 0x68], eax
cmp eax, ebx
jne 0x53c277
push esi
call fcn.00549530
push ebp
call fcn.00544b30
lea eax, [esi + 0x84]
push eax
push esi
call fcn.00541410
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0xc]
push esi
call edx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 4]
push esi
push ebx
call ecx
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
mov edx, dword [esi + 0x44]
push eax
call edx
add esp, 4
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], eax
mov dword [esi + 0x100], eax
mov eax, dword [esp + 0x30]
mov ecx, edx
or eax, 2
mov dword [esi + 0xf4], edx
mov dword [esi + 0xfc], ecx
mov dword [esi + 0x104], ecx
mov dword [esp + 0x30], eax
mov word [esi + 0xec], ax
jmp 0x53c44a
test al, 2
je 0x53c317
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x20]
push 0x74a440
push eax
call ecx
add esp, 8
mov dword [esi + 0x68], eax
cmp eax, ebx
jne 0x53c44a
push esi
call fcn.00549530
push ebp
call fcn.00544b30
lea eax, [esi + 0x84]
push eax
push esi
call fcn.00541410
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0xc]
push esi
call eax
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 4]
push esi
push ebx
call edx
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
test al, 4
je 0x53c344
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x20]
push 0x74a458
push eax
call ecx
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x38]
add esp, 8
or eax, 2
mov dword [esp + 0x30], eax
mov word [esi + 0xec], ax
jmp 0x53c359
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x20]
push 0x706fbc
push edx
call eax
add esp, 8
mov dword [esi + 0x68], eax
cmp dword [esi + 0x68], ebx
je 0x53c23e
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x1c]
push eax
lea eax, [esi + 0x80]
push eax
lea eax, [esi + 0x7a]
push eax
lea edx, [esi + 0x78]
mov ecx, edi
call fcn.0053b890
mov ecx, dword [esi + 0x68]
add esp, 0x10
push ecx
test al, al
jne 0x53c3ca
mov edx, dword [esi + 0x24]
call edx
push esi
call fcn.00549530
push ebp
call fcn.00544b30
lea eax, [esi + 0x84]
push eax
push esi
call fcn.00541410
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xc]
push esi
call ecx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 4]
push esi
push ebx
call eax
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
mov edx, dword [esi + 0x44]
call edx
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], edx
mov dword [esi + 0x100], eax
mov ecx, edx
mov dword [esi + 0x104], ecx
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x90], edx
mov eax, dword [esp + 0x20]
mov dword [esi + 0x94], eax
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x98], ecx
mov edx, dword [esp + 0x28]
mov dword [esi + 0x9c], edx
mov eax, dword [esp + 0x1c]
mov dword [esi + 0xf8], eax
mov ecx, dword [esp + 0x20]
mov dword [esi + 0xfc], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
push esi
call fcn.0054ad50
add esp, 0x18
test al, al
je 0x53c613
mov eax, dword [esi + 0x50]
cmp eax, ebx
je 0x53c5e8
mov ecx, dword [esi + 0x68]
push ecx
call eax
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x53c5e8
push edi
mov dword [esi + 0x120], edi
call fcn.0051df30
add esp, 4
or eax, edx
mov eax, dword [esp + 0x30]
jne 0x53c4dd
and eax, 2
jne 0x53c537
mov edi, dword [esi + 0xc]
push esi
call fcn.00542df0
push eax
push 0x47
mov edx, dword [edi + 8]
push esi
push ebx
call edx
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x24]
push eax
call ecx
push esi
call fcn.00549530
push ebp
call fcn.00544b30
lea eax, [esi + 0x84]
push eax
push esi
call fcn.00541410
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0xc]
push esi
call eax
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 4]
push esi
push ebx
call edx
add esp, 0x34
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
and eax, 2
je 0x53c537
mov edi, dword [esi + 0xc]
push esi
call fcn.00542df0
push eax
mov eax, dword [edi + 8]
push 0x2c
push esi
push ebx
call eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x24]
push ecx
call edx
push esi
call fcn.00549530
push ebp
call fcn.00544b30
lea eax, [esi + 0x84]
push eax
push esi
call fcn.00541410
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xc]
push esi
call ecx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 4]
push esi
push ebx
call eax
add esp, 0x34
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
cmp ax, bx
je 0x53c54d
mov ecx, dword [edi + 0x1c]
test byte [ecx + 0xec], 2
jne 0x53c559
cmp ax, bx
jne 0x53c5bc
mov edx, dword [edi + 0x1c]
test byte [edx + 0xec], 2
jne 0x53c5bc
mov ecx, dword [edi + 8]
mov eax, 0x2000
or word [edi + 0x30], ax
mov eax, dword [ecx + 8]
mov edx, 0x2000
or word [eax + 0x24], dx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
push 0xc
push esi
call ecx
add esp, 8
mov dword [esp + 0x3c], eax
cmp eax, ebx
jne 0x53c597
mov edi, dword [esi + 0xc]
push esi
call fcn.00542df0
push eax
push 0x48
jmp 0x53c494
mov dword [eax + 8], esi
push eax
mov eax, dword [edi + 0x1c]
mov ecx, dword [eax + 0x10]
add ecx, 0x114
push ecx
call fcn.00540890
mov edx, dword [esp + 0x44]
add esp, 8
mov dword [esi + 0x124], edx
jmp 0x53c5ec
mov ecx, dword [edi + 0x1c]
mov eax, dword [esi + 0xc]
push ecx
mov dword [esp + 0x40], eax
call fcn.00542df0
add esp, 4
push eax
push esi
call fcn.00542df0
mov edx, dword [esp + 0x44]
add esp, 4
push eax
mov eax, dword [edx + 8]
push 0x4d
jmp 0x53c4f1
mov dword [esp + 0x3c], ebx
mov edi, esi
mov byte [esi + 0xa0], 1
call fcn.0053bb20
test al, al
jne 0x53c655
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x53c613
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 4]
push eax
push esi
call edx
add esp, 8
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x24]
push eax
call ecx
push esi
call fcn.00549530
push ebp
call fcn.00544b30
lea eax, [esi + 0x84]
push eax
push esi
call fcn.00541410
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0xc]
push esi
call eax
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 4]
push esi
push ebx
call edx
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
push str.Apple:Dynamic_Value
push esi
call fcn.0053b6d0
add esp, 8
mov dword [esi + 0x138], eax
cmp eax, ebx
je 0x53c613
push str.Apple:Type_BaseType
push esi
call fcn.0053b6d0
add esp, 8
mov dword [esi + 0x13c], eax
cmp eax, ebx
je 0x53c613
mov eax, dword [esi + 0xc]
add eax, 0x98
push esi
push eax
call fcn.00540890
mov eax, dword [esi + 4]
add esp, 8
cmp eax, ebx
je 0x53c6b6
cmp byte [eax + 0x16], bl
je 0x53c6b6
mov ecx, dword [eax + 0x10]
mov byte [eax + 0x16], bl
mov dword [esi + 0x10], ecx
mov dx, word [eax + 0x14]
inc dx
mov word [esi + 0x14], dx
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret