Function at 0x5ca5b0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x7a00b8
push 0x63caa4
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x906648]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor esi, esi
call fcn.00594d70
and eax, 0x1000
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], esi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x18]
mov dword [edi + 0x30], eax
test eax, eax
je 0x5ca7e8
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
test edx, edx
jne 0x5ca619
cmp ecx, 0x40
jb 0x5ca7e8
mov ebx, 0x5a4d
cmp word [eax], bx
jne 0x5ca7e8
mov eax, dword [eax + 0x3c]
add eax, 0xf8
test edx, edx
ja 0x5ca6d6
jb 0x5ca641
cmp ecx, eax
jae 0x5ca6d6
cmp eax, dword [edi + 0xc]
jae 0x5ca7e8
push 0x484c4251
push 0xf8
call fcn.004f3590
add esp, 8
mov ecx, eax
mov dword [edi + 0x28], ecx
test ecx, ecx
jne 0x5ca672
mov esi, 0xc
mov dword [ebp - 0x1c], esi
jmp 0x5ca969
push 0xf8
mov eax, dword [edi + 0x30]
push dword [eax + 0x3c]
push ecx
push edi
call fcn.005ca990
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x5ca6d6
test byte [0x9538a8], 1
je 0x5ca6ca
push esi
push esi
mov eax, dword [edi + 0x30]
push dword [eax + 0x3c]
push 0xf8
push str.Failed_to_read__d_bytes_at_offset__d._err___d__0x_08x_._n
push 0x287
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_solidifier_blib_blib_bin.c
push str.blib_bin_parse_headers
push dword [str._b_b_b_b_n4_nFFF]
push 1
call fcn.004f21c0
add esp, 0x28
mov dword [edi + 0x28], 0
jmp 0x5ca969
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x5ca6eb
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 0x3c]
add ecx, dword [edi + 0x18]
mov dword [edi + 0x34], ecx
jmp 0x5ca6f0
mov dword [edi + 0x34], eax
mov ecx, eax
test ecx, ecx
je 0x5ca7e8
cmp dword [ecx], 0x4550
jne 0x5ca7e8
lea edx, [ecx + 0x18]
movzx eax, word [edx]
mov dword [ebp - 0x24], eax
movzx ebx, ax
mov dword [ebp - 0x2c], ebx
movzx ebx, ax
mov dword [ebp - 0x28], ebx
mov ebx, 0x10b
cmp ax, bx
je 0x5ca734
mov edi, 0x20b
cmp ax, di
mov edi, dword [ebp + 8]
jne 0x5ca7e8
xor eax, eax
mov ebx, 0x20b
cmp word [ebp - 0x24], bx
sete al
mov dword [edi + 0x24], eax
lea eax, [ecx + 4]
mov dword [ebp - 0x24], eax
cmp word [ebp - 0x28], bx
jne 0x5ca76c
mov dword [edi + 0x38], ecx
mov dword [edi + 0x3c], eax
mov dword [edi + 0x44], edx
mov dword [edi + 0x34], 0
mov dword [edi + 0x40], 0
xor edx, edx
jmp 0x5ca772
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], edx
mov ecx, ebx
cmp word [ebp - 0x2c], cx
jne 0x5ca77d
mov edx, dword [edi + 0x44]
movzx eax, word [eax + 0x10]
mov dword [ebp - 0x2c], eax
mov ecx, dword [edi + 0x28]
test ecx, ecx
mov ebx, dword [ebp - 0x20]
jne 0x5ca7f5
movzx eax, ax
add edx, eax
mov dword [edi + 0x48], edx
je 0x5ca7e8
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 2]
mov dword [ebp - 0x20], eax
movzx eax, ax
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [edi + 0x18]
add eax, dword [edi + 0xc]
cmp eax, ecx
jae 0x5ca88e
mov ecx, dword [ebp - 0x20]
test ebx, ebx
jne 0x5ca7e8
test cx, cx
je 0x5ca7db
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x10]
cmp dword [edi + 0xc], eax
ja 0x5ca7db
mov dword [edi + 0x48], ebx
xor edx, edx
jmp 0x5ca88e
test ebx, ebx
jne 0x5ca7e8
test cx, cx
je 0x5ca88e
mov esi, 0x426
mov dword [ebp - 0x1c], esi
jmp 0x5ca969
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, cx
add eax, edx
add ecx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 2]
lea esi, [eax + eax*4]
shl esi, 3
mov dword [ebp - 0x2c], esi
push 0x494c4251
push esi
call fcn.004f3590
add esp, 8
mov dword [edi + 0x2c], eax
test eax, eax
je 0x5ca665
push esi
push dword [ebp - 0x20]
push eax
push edi
call fcn.005ca990
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x5ca888
test byte [0x9538a8], 1
je 0x5ca969
push esi
push esi
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push str.Failed_to_map__d_bytes_at_offset__d_to_get_section_header._err___d__0x_08x_._n
push 0x2f4
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_solidifier_blib_blib_bin.c
push str.blib_bin_parse_headers
push dword [str._b_b_b_b_n4_nFFF]
push 1
call fcn.004f21c0
add esp, 0x28
jmp 0x5ca969
mov edx, dword [edi + 0x2c]
mov dword [edi + 0x48], edx
test edx, edx
je 0x5ca8fb
test ebx, ebx
je 0x5ca8fb
xor ebx, ebx
mov dword [ebp - 0x30], ebx
mov eax, dword [edi + 0x3c]
movzx eax, word [eax + 2]
cmp ebx, eax
jge 0x5ca8fb
lea ecx, [ebx + ebx*4]
mov eax, dword [edi + 0x48]
mov edx, dword [eax + ecx*8 + 0x14]
test edx, edx
je 0x5ca8f8
mov eax, dword [eax + ecx*8 + 0x10]
test eax, eax
je 0x5ca8f8
add eax, edx
cmp dword [edi + 0xc], eax
jae 0x5ca8f8
test byte [0x9538a8], 8
je 0x5ca8f0
push str.SizeOfRawData_exceeds_size_of_binary.
push 0x314
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_solidifier_blib_blib_bin.c
push str.blib_bin_parse_headers
push dword [str._b_b_b_b_n4_nFFF]
push 8
call fcn.004f21c0
add esp, 0x18
mov esi, 0x426
mov dword [ebp - 0x1c], esi
inc ebx
jmp 0x5ca898
mov edx, dword [edi + 0x18]
add edx, dword [edi + 0x10]
mov eax, dword [edi + 0x3c]
movzx eax, word [eax + 2]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x48]
lea eax, [eax + ecx*8]
cmp edx, eax
jae 0x5ca969
mov dword [edi + 0x48], 0
jmp 0x5ca969
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret