Function at 0x556b38
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x7eda90], 0xffffff80
jne 0x556b60
test dword [0x7eda90], 0xffffffff
jne 0x556b60
call fcn.006a6b5c
jmp fcn.00556b38
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 0x556bf2
mov ebp, dword [esp + 0x18]
shl ebp, 2
mov ecx, ebp
call fcn.004dbcd8
mov esi, eax
mov ecx, ebp
call fcn.004dbcd8
mov ebp, eax
movsx eax, word [ebx + 0x3d]
shl eax, 2
push eax
push dword [ebx + 0x97]
push esi
call fcn.006a6d20
movsx eax, word [ebx + 0x3d]
shl eax, 2
push eax
push dword [ebx + 0x9b]
push ebp
call fcn.006a6d20
add esp, 0x18
mov ecx, dword [ebx + 0x97]
call fcn.004db418
mov ecx, dword [ebx + 0x9b]
call fcn.004db418
mov dword [ebx + 0x97], esi
mov dword [ebx + 0x9b], ebp
mov eax, dword [esp + 0x18]
mov word [ebx + 0x3d], ax
push ebx
push 0x5583b8
mov ecx, dword [ebx + 0x39]
call fcn.004efaec
cmp dword [ebx + 0x39], 0
je 0x556c9f
test edi, edi
je 0x556c3f
mov edx, dword [ebx]
movzx eax, word [edi + 0xc]
push eax
mov ecx, ebx
call dword [edx + 0x20]
test eax, eax
je 0x556c38
mov edx, dword [edi + 0x10]
cmp edx, 1
jle 0x556c1e
cmp dword [eax + 0x2d], 0
je 0x556c38
movzx ebp, word [edi + 0xe]
push dword [ebx + 0x5f]
push ebx
push edx
push ebp
mov ecx, eax
call fcn.00502adc
cmp eax, 1
je 0x556d89
mov edi, dword [edi + 4]
test edi, edi
jne 0x556c00
mov eax, dword [ebx + 0xf]
test eax, eax
je 0x556c5f
movzx eax, byte [eax + 0xa]
and eax, 0x3f
cmp eax, 0xd
je 0x556e6e
cmp eax, 0x13
je 0x556e6e
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 6]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x556c9f
movzx edx, word [ebp]
movzx eax, word [0x7bc08c]
cmp edx, eax
je 0x556c98
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x556c98
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x556e09
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x556c71
movzx eax, byte [ebx + 0xb3]
test al, 0x20
je 0x556cbc
mov ecx, dword [ebx + 0x5f]
call fcn.005a6e00
mov ecx, dword [ebx + 0x5f]
call fcn.005a6e7c
jmp 0x556cc6
push 1
mov ecx, dword [ebx + 0x5f]
call fcn.005a6dd4
mov esi, eax
test esi, esi
jne 0x556d37
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x556d2b
push 1
push str._LINEERROR_ID__d__
push 0
mov eax, dword [esp + 0x28]
push eax
call fcn.00526470
add esp, 0x10
mov ecx, dword [ebx + 0x5f]
call fcn.00504f7c
test eax, eax
je 0x556d00
mov ecx, dword [ebx + 0x5f]
call fcn.00504f7c
jmp 0x556d05
mov eax, 0x6d1484
push eax
push str.Could_not_find_Company__s
push 0
mov eax, dword [esp + 0x28]
push eax
call fcn.00526470
push str.__LINEERROR_
push 1
mov eax, dword [esp + 0x34]
push eax
call fcn.00526470
add esp, 0x1c
mov eax, 1
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
mov ecx, dword [ebx + 0x63]
call fcn.005a6bb4
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6a30
push 0
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f75d0
push 1
mov ecx, dword [ebx + 0x6f]
call fcn.005a6d7c
mov byte [ebx + 0x16], al
push 1
mov ecx, dword [ebx + 0x73]
call fcn.005a6d50
mov byte [ebx + 0x15], al
mov ecx, dword [ebx + 0x31]
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
je 0x556e1b
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x556dfd
push 1
push str._LINEERROR_ID__d__
push 0
mov eax, dword [esp + 0x28]
push eax
call fcn.00526470
add esp, 0x10
movzx edx, word [edi + 0xc]
lea eax, [edx*8]
mov ecx, dword [eax + edx*4 + 0x700808]
movzx edx, word [edi + 0xe]
test edx, edx
jne 0x556dc8
mov eax, 0x6d1484
jmp 0x556dd6
lea eax, [edx*8]
mov eax, dword [eax + edx*4 + 0x700808]
push eax
push ecx
push str.Could_not_set__s_to__s
push 0
mov eax, dword [esp + 0x2c]
push eax
call fcn.00526470
push str.__LINEERROR_
push 1
mov eax, dword [esp + 0x38]
push eax
call fcn.00526470
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.00506b84
jmp 0x556c98
mov eax, dword [ebx + 0x31]
movsx edx, word [eax + 0x13]
shl edx, 4
mov ebp, dword [0x7e3544]
push dword [edx + ebp]
mov ecx, ebx
call fcn.004f75a0
movsx eax, word [ebx + 0x13]
shl eax, 4
mov edx, dword [0x7e3544]
mov esi, dword [eax + edx]
mov ecx, dword [ebx + 0x63]
call fcn.005a6bb4
mov ebp, eax
mov ecx, dword [ebx + 0x67]
call fcn.005a6a30
mov edx, dword [ebx + 0x9b]
push dword [edx]
push eax
push ebp
push esi
mov ecx, ebx
call fcn.004f75d0
jmp 0x556d80
mov eax, dword [ebx + 0x29]
movzx ecx, word [eax + 4]
call fcn.005413d8
mov ebp, eax
test ebp, ebp
je 0x556c5f
movzx edx, word [ebp]
movzx eax, word [0x7bc08c]
cmp edx, eax
je 0x556ea7
mov eax, dword [ebx]
push edx
mov ecx, ebx
call dword [eax + 0x20]
test eax, eax
je 0x556ea7
mov edx, dword [eax + 0x25]
cmp edx, 1
jle 0x556eb3
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x556e84
jmp 0x556c5f
movzx edx, word [ebp + 2]
push ebx
push edx
mov ecx, eax
call fcn.00506b84
jmp 0x556ea7