Function at 0x556de8
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x556e10
test dword [0x7eeab0], 0xffffffff
jne 0x556e10
call fcn.006a7b4c
jmp fcn.00556de8
push edi
push esi
push ebp
push ebx
mov ebx, ecx
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
movsx edx, word [ebx + 0x3d]
cmp eax, edx
jle 0x556ea2
mov ebp, dword [esp + 0x18]
shl ebp, 2
mov ecx, ebp
call fcn.004dbdb8
mov esi, eax
mov ecx, ebp
call fcn.004dbdb8
mov ebp, eax
movsx eax, word [ebx + 0x3d]
shl eax, 2
push eax
push dword [ebx + 0x97]
push esi
call fcn.006a7d10
movsx eax, word [ebx + 0x3d]
shl eax, 2
push eax
push dword [ebx + 0x9b]
push ebp
call fcn.006a7d10
add esp, 0x18
mov ecx, dword [ebx + 0x97]
call fcn.004db4f8
mov ecx, dword [ebx + 0x9b]
call fcn.004db4f8
mov dword [ebx + 0x97], esi
mov dword [ebx + 0x9b], ebp
mov eax, dword [esp + 0x18]
mov word [ebx + 0x3d], ax
push ebx
push 0x558668
mov ecx, dword [ebx + 0x39]
call fcn.004efc4c
cmp dword [ebx + 0x39], 0
je 0x556f4f
test edi, edi
je 0x556eef
mov edx, dword [ebx]
movzx eax, word [edi + 0xc]
push eax
mov ecx, ebx
call dword [edx + 0x20]
test eax, eax
je 0x556ee8
mov edx, dword [edi + 0x10]
cmp edx, 1
jle 0x556ece
cmp dword [eax + 0x2d], 0
je 0x556ee8
movzx ebp, word [edi + 0xe]
push dword [ebx + 0x5f]
push ebx
push edx
push ebp
mov ecx, eax
call fcn.00502c7c
cmp eax, 1
je 0x557039
mov edi, dword [edi + 4]
test edi, edi
jne 0x556eb0
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x556f0f
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x55711e
cmp eax, 0x13
je 0x55711e
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x556f4f
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x556f48
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x556f48
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x5570b9
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x556f21
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x556f6c
mov ecx, dword [ebx + 0x5f]
call fcn.005a7108
mov ecx, dword [ebx + 0x5f]
call fcn.005a7184
jmp 0x556f76
push 1
mov ecx, dword [ebx + 0x5f]
call fcn.005a70dc
mov esi, eax
test esi, esi
jne 0x556fe7
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x556fdb
push 1
push str._LINEERROR_ID__d__
push 0
mov eax, dword [esp + 0x28]
push eax
call fcn.00526630
add esp, 0x10
mov ecx, dword [ebx + 0x5f]
call fcn.0050511c
test eax, eax
je 0x556fb0
mov ecx, dword [ebx + 0x5f]
call fcn.0050511c
jmp 0x556fb5
mov eax, 0x6d2484
push eax
push str.Could_not_find_Company__s
push 0
mov eax, dword [esp + 0x28]
push eax
call fcn.00526630
push str.__LINEERROR_
push 1
mov eax, dword [esp + 0x34]
push eax
call fcn.00526630
add esp, 0x1c
mov eax, 1
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
mov ecx, dword [ebx + 0x63]
call fcn.005a6ebc
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6d38
push 0
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7718
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a7084
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a7058
mov byte [ebx + 0x15], al
mov ecx, dword [ebx + 0x31]
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
je 0x5570cb
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5570ad
push 1
push str._LINEERROR_ID__d__
push 0
mov eax, dword [esp + 0x28]
push eax
call fcn.00526630
add esp, 0x10
movzx edx, word [edi + 0xc]
lea eax, [edx*8]
mov ecx, dword [eax + edx*4 + 0x701828]
movzx edx, word [edi + 0xe]
test edx, edx
jne 0x557078
mov eax, 0x6d2484
jmp 0x557086
lea eax, [edx*8]
mov eax, dword [eax + edx*4 + 0x701828]
push eax
push ecx
push str.Could_not_set__s_to__s
push 0
mov eax, dword [esp + 0x2c]
push eax
call fcn.00526630
push str.__LINEERROR_
push 1
mov eax, dword [esp + 0x38]
push eax
call fcn.00526630
add esp, 0x20
mov eax, 1
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x556f48
mov eax, dword [ebx + 0x31]
movsx edx, word [eax + 0x13]
shl edx, 4
mov ebp, dword [0x7e4564]
push dword [edx + ebp]
mov ecx, ebx
call fcn.004f76e8
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e4564]
mov esi, dword [eax + edx]
mov ecx, dword [ebx + 0x63]
call fcn.005a6ebc
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6d38
mov edx, dword [ebx + 0x9b]
push dword [edx]
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f7718
jmp 0x557030
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.00541584
mov ebp, eax
test ebp, ebp
je 0x556f0f
movzx edx, word [ebp]
movzx eax, word [0x7bd0ac]
cmp edx, eax
je 0x557157
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x557157
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x557163
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x557134
jmp 0x556f0f
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506d24
jmp 0x557157