Function at 0x5fb6a4
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x5fb6cc
test dword [0x7eeab0], 0xffffffff
jne 0x5fc690
call fcn.006a7fbc
jmp fcn.005fb6a4
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x28
call fcn.006977b0
mov ecx, dword [esp + 0x28]
mov ebx, ecx
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
movzx ecx, word [esp + 0x48]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov dword [ebx + 0xf], ebp
mov word [ebx + 0x1f], cx
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x2c]
mov dword [ebx + 0x25], eax
movzx edx, byte [ebx + 9]
and edx, 0xfffffff7
movzx esi, byte [eax + 9]
and esi, 8
or edx, esi
mov byte [ebx + 9], dl
movzx edi, word [ebp + 0x13]
mov word [ebx + 0x13], di
movzx ecx, byte [ebp + 0x16]
mov byte [ebx + 0x16], cl
movzx edx, byte [ebp + 0x15]
mov byte [ebx + 0x15], dl
mov edx, dword [esp + 0x4c]
mov dword [ebx + 0x2d], edx
movzx edx, byte [ebp + 0xa]
and edx, 0x3f
cmp edx, 3
je 0x5fc679
cmp edx, 4
je 0x5fc638
mov edx, dword [ebp + 0x2d]
mov ecx, dword [edx + 0x29]
mov dword [ebx + 0x29], ecx
mov esi, dword [ebp + 0x29]
mov dword [ebx + 0x35], esi
or byte [ebx + 0x11c], 1
mov edi, dword [esp + 0x54]
mov dword [ebx + 0xa7], edi
mov edx, dword [esp + 0x58]
mov dword [ebx + 0xab], edx
mov edx, dword [esp + 0x60]
test edx, edx
je 0x5fc603
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x35], eax
mov dword [ebx + 0x31], ebp
movzx eax, byte [ebp + 0xa]
and eax, 0x3f
cmp eax, 4
je 0x5fc5c2
movzx ecx, word [esp + 0x48]
call fcn.005ec5f0
mov dword [ebx + 0x21], eax
mov edx, dword [ebx + 0x25]
add edx, 0x9f
push edx
push ebx
mov ecx, eax
call fcn.005a57c8
mov dword [ebx + 0x21], eax
mov ecx, eax
call fcn.005ec4d8
test eax, eax
je 0x5fb7e6
mov ecx, dword [ebx + 0x21]
call fcn.005ec4d8
push eax
mov ecx, ebx
call fcn.004fa850
mov eax, dword [ebx + 0x25]
add eax, 0x9f
push eax
mov ecx, dword [ebx + 0x21]
call fcn.005a5700
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x21]
mov esi, dword [eax + 8]
movzx edx, word [esi + 0x2e]
test edx, edx
je 0x5fb81d
movzx eax, word [esi + 0x30]
push eax
push dword [esi + 0x36]
push edx
mov ecx, ebx
mov dword [esp + 0x2c], esi
call fcn.00623ff4
mov edi, dword [ebx + 0x2d]
test edi, edi
je 0x5fc492
movzx eax, byte [ebx + 0x11a]
or eax, 2
or eax, 1
mov byte [ebx + 0x11a], al
movzx edx, byte [ebx + 0x11b]
and edx, 0xffffffef
movzx ecx, byte [edi + 0x11b]
and ecx, 0x10
or edx, ecx
mov byte [ebx + 0x11b], dl
and edx, 0xffffffbf
movzx edi, byte [edi + 0x11b]
and edi, 0x40
or edx, edi
mov byte [ebx + 0x11b], dl
test dl, 0x40
je 0x5fb87a
or edx, 0x20
mov byte [ebx + 0x11b], dl
mov edi, dword [esi + 0x42]
mov ecx, 1
cmp edi, 2
mov edi, 0
cmove edi, ecx
and eax, 0xfffffffb
and edi, 1
shl edi, 2
or eax, edi
mov byte [ebx + 0x11a], al
movzx ecx, byte [ebp + 0xa]
and ecx, 0x3f
cmp ecx, 4
je 0x5fb8ad
mov ebp, dword [ebx + 0x2d]
test ebp, ebp
je 0x5fb8ee
movzx ecx, byte [ebp + 0x11a]
test cl, 0x40
je 0x5fb8ee
or eax, 0x40
mov byte [ebx + 0x11a], al
mov ecx, dword [ebp + 0xb9]
mov dword [ebx + 0xb9], ecx
mov ebp, dword [ebp + 0xbd]
mov dword [ebx + 0xbd], ebp
and eax, 0xffffff7f
mov byte [ebx + 0x11a], al
jmp 0x5fb988
mov ecx, dword [esi + 0x5a]
mov ebp, 1
xor edi, edi
cmp ecx, 2
cmove edi, ebp
and eax, 0xffffffbf
and edi, 1
shl edi, 6
or eax, edi
mov byte [ebx + 0x11a], al
test al, 0x40
je 0x5fb988
push 0
push 0xc
mov ecx, 0x700968
mov dword [esp + 0x28], esi
call fcn.004e5c2c
test eax, eax
je 0x5fb939
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5fb93b
xor eax, eax
mov dword [ebx + 0xb9], eax
push 0
push 0xc
mov ecx, 0x700968
mov dword [esp + 0x28], esi
call fcn.004e5c2c
test eax, eax
je 0x5fb967
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5fb969
xor eax, eax
mov dword [ebx + 0xbd], eax
movzx eax, byte [ebx + 0x11a]
or eax, 0x80
mov byte [ebx + 0x11a], al
movzx edx, byte [ebx + 0x11b]
test dl, 0x10
je 0x5fb997
cmp dword [ebx + 0x2d], 0
je 0x5fbf41
movzx eax, word [esi + 0xc]
test eax, eax
je 0x5fba08
push 0
push 0x14
mov ecx, 0x700aac
mov dword [esp + 0x28], esi
call fcn.004e5c2c
test eax, eax
je 0x5fb9cb
push 0
push 0x502cc4
push 0x1f
mov ecx, eax
mov dword [esp + 0x2c], esi
call fcn.004f00b8
jmp 0x5fb9cd
xor eax, eax
mov dword [ebx + 0x6f], eax
movzx ecx, word [esi + 0xc]
mov dword [esp + 0x20], esi
call fcn.00541ae8
mov ebp, eax
test ebp, ebp
je 0x5fba08
movzx eax, word [ebp]
mov word [esp + 0x28], ax
lea edx, [esp + 0x28]
push edx
mov ecx, dword [ebx + 0x6f]
call fcn.004ee44c
test eax, eax
je 0x5fc45c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fb9e3
movzx eax, word [esi + 2]
test eax, eax
jne 0x5fbeac
movzx eax, word [esi + 4]
test eax, eax
jne 0x5fbeac
cmp dword [ebx + 0x2d], 0
je 0x5fc187
mov edx, dword [esi + 0x56]
xor edi, edi
cmp edx, 2
mov ebp, 1
cmovne ebp, edi
movzx eax, byte [ebx + 0x11b]
and eax, 0xfffffffd
and ebp, 1
add ebp, ebp
or eax, ebp
mov byte [ebx + 0x11b], al
push edi
push 8
mov ecx, 0x700aa0
mov dword [esp + 0x28], esi
call fcn.004e5c2c
test eax, eax
je 0x5fba6f
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5fba71
xor eax, eax
mov dword [ebx + 0x59], eax
movzx eax, byte [ebx + 9]
test al, 8
je 0x5fbaab
movzx eax, word [esi + 0x22]
test eax, eax
je 0x5fbaaf
movzx eax, word [esi + 0x28]
test eax, eax
je 0x5fba9d
mov word [ebx + 0x69], ax
or byte [ebx + 0x11b], 4
movzx eax, word [esi + 0x22]
jmp 0x5fbaaf
movzx eax, word [esi + 0x26]
mov word [ebx + 0x69], ax
movzx eax, word [esi + 0x22]
jmp 0x5fbaaf
movzx eax, word [esi + 0x22]
test eax, eax
jne 0x5fbad0
movzx ecx, word [esi + 6]
test ecx, ecx
jne 0x5fc03e
movzx ecx, word [esi + 8]
test ecx, ecx
jne 0x5fbf7b
jmp 0x5fbf19
movzx ecx, word [esi + 6]
mov dword [esp + 0x20], esi
call fcn.00541ae8
mov edi, eax
test edi, edi
je 0x5fbb67
movzx eax, word [edi]
movzx edx, word [esi + 0x22]
cmp eax, edx
je 0x5fbb77
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fbb16
mov ecx, eax
call fcn.005f254c
mov ebp, eax
jmp 0x5fbb18
xor ebp, ebp
push ebp
mov ecx, dword [ebx + 0x59]
call fcn.005a55c8
xor ecx, ecx
movzx edx, word [edi]
push ecx
push 1
mov eax, dword [esp + 0x64]
push eax
push dword [ebx + 0x2d]
push edx
push ecx
push ebx
mov eax, dword [esp + 0x5c]
push eax
mov ecx, ebp
call fcn.005f257c
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fbb60
cmp ebx, dword [ebx + 0x2d]
je 0x5fbb59
mov ecx, ebp
call fcn.005f5b4c
jmp 0x5fbb60
or byte [ebp + 0x90], 0x80
mov edi, dword [edi + 2]
test edi, edi
jne 0x5fbae7
push str.Could_not_find_the_Repeated_Line_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa850
movzx eax, word [esi + 0x24]
movzx edx, word [0x7bd11c]
cmp eax, edx
je 0x5fbcc7
movzx edx, word [0x7bd120]
cmp eax, edx
jne 0x5fbbb5
push 0
push 1
mov ecx, dword [ebx + 0x25]
mov dword [esp + 0x28], esi
call fcn.004fe550
mov dword [ebx + 0x39], eax
test eax, eax
je 0x5fc112
jmp 0x5fbce0
mov ebp, dword [ebx]
movzx edx, byte [ebx + 9]
and edx, 8
shr edx, 3
push edx
push ebx
push eax
mov ecx, ebx
mov dword [esp + 0x2c], esi
call dword [ebp + 0x40]
mov dword [ebx + 0x39], eax
test eax, eax
je 0x5fbd59
movzx ecx, byte [ebx + 9]
test cl, 8
jne 0x5fbbf4
mov edx, dword [ebx + 0x31]
movzx ebp, byte [edx + 0xa]
and ebp, 0x3f
cmp ebp, 3
je 0x5fc133
test cl, 8
je 0x5fbc01
movzx eax, word [esi + 0x2a]
test eax, eax
jne 0x5fbc09
mov eax, dword [ebx + 0x39]
jmp 0x5fbcbe
mov dword [esp + 0x20], esi
call fcn.0053ed74
mov dword [esp + 8], eax
movzx eax, word [esi + 0x2a]
push 0x2000
push ebx
push 0xffffffffffffffff
push ebx
push 2
push eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], esi
call fcn.00541348
test eax, eax
jne 0x5fbcae
mov eax, dword [esp + 8]
lea ecx, [eax + 0x38]
mov dword [esp + 0x20], esi
call fcn.0051a93c
mov dword [esp + 4], eax
test eax, eax
jle 0x5fbcae
mov ecx, dword [ebx + 0x25]
mov eax, dword [ecx]
mov dword [esp + 0x20], esi
call dword [eax + 0x54]
cmp eax, 0xfffffffc
je 0x5fbc71
mov ecx, dword [ebx + 0x25]
mov eax, dword [ecx]
mov dword [esp + 0x20], esi
call dword [eax + 0x54]
cmp eax, 0xfffffffa
jne 0x5fbc9d
mov ecx, dword [ebx + 0x39]
mov ebp, dword [ecx + 0x25]
mov eax, dword [esp + 4]
cmp ebp, eax
jge 0x5fbcae
mov dword [esp + 0x20], esi
mov esi, eax
jmp 0x5fbc8a
mov ecx, dword [ebx + 0x39]
mov eax, dword [ecx]
xor edx, edx
push edx
push edx
call dword [eax + 0x60]
inc ebp
cmp ebp, esi
jl 0x5fbc87
jmp 0x5fc12a
mov ecx, dword [ebx + 0x25]
mov eax, dword [ecx]
mov dword [esp + 0x20], esi
call dword [eax + 0x54]
cmp eax, 0xfffffff9
je 0x5fbc71
mov ecx, dword [esp + 8]
mov dword [esp + 0x20], esi
call fcn.0053ed6c
mov eax, dword [ebx + 0x39]
test eax, eax
jne 0x5fbce0
jmp 0x5fbd59
push 1
mov ecx, dword [ebx + 0x25]
mov dword [esp + 0x24], esi
call fcn.004fe60c
mov dword [ebx + 0x39], eax
test eax, eax
je 0x5fc16f
movzx edx, byte [ebx + 9]
test dl, 8
je 0x5fbcf1
movzx edx, word [ebx + 0x69]
test edx, edx
jne 0x5fbcf6
mov edx, dword [eax + 0x25]
jmp 0x5fbd12
mov edx, dword [eax + 0x25]
test edx, edx
jne 0x5fbd12
mov ebp, dword [eax]
xor edx, edx
push edx
push edx
mov ecx, eax
mov dword [esp + 0x28], esi
call dword [ebp + 0x60]
mov eax, dword [ebx + 0x39]
mov edx, dword [eax + 0x25]
mov dword [ebx + 0x65], edx
lea edx, [esp + 0x14]
push edx
push 0x5fd640
mov ecx, eax
mov dword [esp + 0x28], esi
call fcn.0051de9c
movzx eax, byte [ebx + 9]
test al, 8
je 0x5fbd48
push 8
push 0x2000
push ebx
mov ecx, dword [ebx + 0x39]
mov dword [esp + 0x2c], esi
call fcn.004f8000
jmp 0x5fbd59
push 8
push 1
push ebx
mov ecx, dword [ebx + 0x39]
mov dword [esp + 0x2c], esi
call fcn.004f8000
mov ebp, dword [edi + 2]
test ebp, ebp
je 0x5fbdcc
mov dword [esp + 0x20], esi
mov edi, dword [esp + 0x40]
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fbd88
mov ecx, eax
call fcn.005f254c
mov esi, eax
jmp 0x5fbd8a
xor esi, esi
push esi
mov ecx, dword [ebx + 0x59]
call fcn.005a55c8
xor ecx, ecx
movzx edx, word [ebp]
push ecx
push 1
mov eax, dword [esp + 0x64]
push eax
push dword [ebx + 0x2d]
push edx
push ecx
push ebx
push edi
mov ecx, esi
call fcn.005f257c
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fbdc1
mov ecx, esi
call fcn.005f5b4c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fbd68
mov esi, dword [esp + 0x20]
movzx eax, word [esi + 8]
test eax, eax
je 0x5fbf19
push 0
lea ecx, [esp + 4]
mov dword [esp + 0x24], esi
call fcn.0050afb4
mov edx, dword [ebx]
movzx eax, word [0x7bd15c]
push eax
mov ecx, ebx
mov dword [esp + 0x24], esi
call dword [edx + 0x20]
lea edx, [esp]
push 1
push edx
mov ecx, eax
mov dword [esp + 0x28], esi
call fcn.00503088
mov ecx, dword [ebx + 0x25]
mov eax, dword [ecx]
mov dword [esp + 0x20], esi
call dword [eax + 0x54]
cmp eax, 0xfffffff3
je 0x5fc14a
mov eax, 1
xor ebp, ebp
cmp ebx, dword [ebx + 0x2d]
cmovne ebp, eax
movzx ecx, word [esi + 8]
call fcn.00541ae8
mov esi, eax
test esi, esi
je 0x5fbea2
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fbe5c
mov ecx, eax
call fcn.005f254c
mov edi, eax
jmp 0x5fbe5e
xor edi, edi
push edi
mov ecx, dword [ebx + 0x59]
call fcn.005a55c8
xor ecx, ecx
movzx edx, word [esi]
push ecx
push ebp
mov eax, dword [esp + 0x64]
push eax
push dword [ebx + 0x2d]
push edx
push ecx
push ebx
mov eax, dword [esp + 0x5c]
push eax
mov ecx, edi
call fcn.005f257c
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fbe9b
test ebp, ebp
je 0x5fbe9b
mov ecx, edi
call fcn.005f5b4c
mov esi, dword [esi + 2]
test esi, esi
jne 0x5fbe3c
lea ecx, [esp]
call fcn.0050b06c
jmp 0x5fbf19
push 0
push 8
mov ecx, 0x700aa0
mov dword [esp + 0x28], esi
call fcn.004e5c2c
test eax, eax
je 0x5fbecb
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5fbecd
xor eax, eax
mov dword [ebx + 0x51], eax
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fbee5
cmp dword [ebx + 0x2d], 0
je 0x5fc1b3
movzx eax, byte [ebx + 9]
test al, 8
jne 0x5fbf01
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fbf01
cmp ebx, dword [ebx + 0x2d]
je 0x5fc1df
movzx ecx, word [esi + 2]
test ecx, ecx
jne 0x5fc398
movzx ecx, word [esi + 4]
test ecx, ecx
jne 0x5fc2e0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5fbf37
mov eax, dword [ebx + 0x25]
add eax, 0x9f
push eax
mov edx, dword [esp + 0x28]
push edx
mov ecx, dword [ebx + 0x21]
call fcn.005a56e4
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret 0x24
movzx edx, word [esi + 2]
test edx, edx
jne 0x5fbf5e
movzx edx, word [esi + 4]
test edx, edx
jne 0x5fbf5e
movzx eax, word [esi + 6]
test eax, eax
je 0x5fbf66
jmp 0x5fb997
test al, 2
jne 0x5fb997
push str.Syntax_Error_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa850
jmp 0x5fb997
call fcn.00541ae8
mov ebp, eax
test ebp, ebp
je 0x5fbf19
mov dword [esp], ebx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
movzx eax, word [ebp]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 8], edx
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fbfc1
mov ecx, eax
call fcn.005f254c
mov ebx, eax
jmp 0x5fbfc3
xor ebx, ebx
push ebx
mov ecx, dword [edi + 0x59]
call fcn.005a55c8
xor ecx, ecx
push ecx
push ecx
mov eax, dword [esp + 0x10]
push eax
push dword [edi + 0x2d]
mov edx, dword [esp + 0x14]
push edx
push ecx
push edi
push esi
mov ecx, ebx
call fcn.005f257c
movzx eax, byte [edi + 0x11b]
and eax, 0x10
cmp eax, 0x10
je 0x5fc020
push ebx
mov ecx, edi
call fcn.005fdcd0
test eax, eax
je 0x5fc00d
push 1
push ebx
mov ecx, dword [edi + 0x2d]
call fcn.005fdb5c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fbf89
mov ebx, dword [esp]
jmp 0x5fbf19
cmp edi, dword [edi + 0x2d]
je 0x5fc02e
mov ecx, ebx
call fcn.005f5b4c
jmp 0x5fbff6
mov eax, dword [edi + 0x21]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0x22]
test ecx, ecx
je 0x5fc025
jmp 0x5fbff6
mov dword [esp + 0x20], esi
call fcn.00541ae8
mov ebp, eax
test ebp, ebp
je 0x5fbabf
mov dword [esp + 0x20], esi
mov dword [esp], ebx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
movzx eax, word [ebp]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 8], edx
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fc090
mov ecx, eax
call fcn.005f254c
mov ebx, eax
jmp 0x5fc092
xor ebx, ebx
push ebx
mov ecx, dword [edi + 0x59]
call fcn.005a55c8
xor ecx, ecx
push ecx
push 1
mov eax, dword [esp + 0x10]
push eax
push dword [edi + 0x2d]
mov edx, dword [esp + 0x14]
push edx
push ecx
push edi
push esi
mov ecx, ebx
call fcn.005f257c
movzx eax, byte [edi + 0x11b]
and eax, 0x10
cmp eax, 0x10
je 0x5fc0f4
push ebx
mov ecx, edi
call fcn.005fdcd0
test eax, eax
je 0x5fc0dd
push 1
push ebx
mov ecx, dword [edi + 0x2d]
call fcn.005fdb5c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fc058
mov esi, dword [esp + 0x20]
mov ebx, dword [esp]
jmp 0x5fbabf
cmp edi, dword [edi + 0x2d]
je 0x5fc102
mov ecx, ebx
call fcn.005f5b4c
jmp 0x5fc0c6
mov eax, dword [edi + 0x21]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0x22]
test ecx, ecx
je 0x5fc0f9
jmp 0x5fc0c6
push str.Could_not_find_the_Collection_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa850
mov eax, dword [ebx + 0x39]
jmp 0x5fbcbe
mov esi, dword [esp + 0x20]
jmp 0x5fbcae
mov edx, dword [eax]
push dword [ebx + 0x25]
mov ecx, eax
mov dword [esp + 0x24], esi
call dword [edx + 0x64]
movzx ecx, byte [ebx + 9]
jmp 0x5fbbf4
mov eax, dword [ebx + 0x21]
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0x5e]
cmp ecx, 1
je 0x5fc162
mov ebp, 1
jmp 0x5fbe2d
mov eax, dword [esp]
cmp dword [eax], 2
je 0x5fc158
jmp 0x5fbe20
push str.Could_not_find_the_Collection_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa850
mov eax, dword [ebx + 0x39]
jmp 0x5fbcbe
mov dword [ebx + 0x2d], ebx
mov ecx, 0x1c
mov dword [esp + 0x20], esi
call fcn.004dc218
test eax, eax
je 0x5fc1a9
mov edx, 0xffffffff
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
jmp 0x5fc1ab
xor eax, eax
mov dword [ebx + 0x5d], eax
jmp 0x5fba2a
mov dword [ebx + 0x2d], ebx
mov ecx, 0x1c
mov dword [esp + 0x20], esi
call fcn.004dc218
test eax, eax
je 0x5fc1d5
mov edx, 0xffffffff
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
jmp 0x5fc1d7
xor eax, eax
mov dword [ebx + 0x5d], eax
jmp 0x5fbee5
movzx eax, word [esi + 0x22]
test eax, eax
je 0x5fbf01
movzx ecx, word [esi + 2]
mov dword [esp + 0x20], esi
call fcn.00541ae8
mov ebp, eax
cmp dword [ebp + 2], 0
je 0x5fc210
push str.Only_ONE_part_name_allowed_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa850
movzx eax, word [ebp]
movzx edx, word [esi + 0x22]
cmp eax, edx
jne 0x5fc2cb
mov eax, dword [ebx]
movzx esi, word [esi + 0x24]
push 0
push ebx
push esi
mov ecx, ebx
call dword [eax + 0x40]
mov dword [ebx + 0x39], eax
test eax, eax
je 0x5fbf19
mov ecx, eax
call fcn.0051dcb4
mov esi, eax
test esi, esi
je 0x5fbf19
mov ecx, 0x11d
call fcn.004dc218
mov edi, eax
test edi, edi
je 0x5fc28a
push 4
push 0
mov ecx, edi
call fcn.004fa818
mov dword [edi], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [edi + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [edi + 0xb1], dx
jmp 0x5fc28c
xor edi, edi
push edi
mov ecx, dword [ebx + 0x51]
call fcn.005a55c8
movzx ecx, word [ebp]
push esi
push 0
mov eax, dword [esp + 0x60]
push eax
mov edx, dword [esp + 0x60]
push edx
push 1
push dword [ebx + 0x2d]
push ecx
push ebx
mov eax, dword [esp + 0x60]
push eax
mov ecx, edi
call fcn.005fb6a4
mov ecx, esi
call fcn.004fa640
mov esi, eax
test esi, esi
jne 0x5fc24b
jmp 0x5fbf19
push str.Could_not_find_the_Repeated_Part_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa850
jmp 0x5fc220
call fcn.00541ae8
mov ebp, eax
test ebp, ebp
je 0x5fbf19
mov dword [esp], ebx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 8], esi
movzx esi, word [ebp]
mov eax, dword [esp + 0x18]
mov dword [esp + 4], eax
mov ecx, 0x11d
call fcn.004dc218
mov ebx, eax
test ebx, ebx
je 0x5fc349
push 4
push 0
mov ecx, ebx
call fcn.004fa818
mov dword [ebx], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [ebx + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [ebx + 0xb1], dx
jmp 0x5fc34b
xor ebx, ebx
push ebx
mov ecx, dword [edi + 0x51]
call fcn.005a55c8
cmp dword [edi + 0x5d], 0
je 0x5fc35e
mov ecx, edi
jmp 0x5fc361
mov ecx, dword [edi + 0x2d]
xor edx, edx
push edx
mov eax, dword [esp + 8]
push eax
push dword [edi + 0xab]
push dword [edi + 0xa7]
push edx
push ecx
push esi
push edi
mov esi, dword [esp + 0x28]
push esi
mov ecx, ebx
call fcn.005fb6a4
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fc2f2
mov ebx, dword [esp]
jmp 0x5fbf19
mov dword [esp + 0x20], esi
call fcn.00541ae8
mov ebp, eax
test ebp, ebp
je 0x5fbf0d
mov dword [esp + 0x20], esi
mov dword [esp], ebx
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
movzx edx, word [ebp]
mov dword [esp + 4], edx
mov esi, dword [esp + 0x18]
mov ecx, 0x11d
call fcn.004dc218
mov ebx, eax
test ebx, ebx
je 0x5fc409
push 4
push 0
mov ecx, ebx
call fcn.004fa818
mov dword [ebx], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [ebx + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [ebx + 0xb1], dx
jmp 0x5fc40b
xor ebx, ebx
push ebx
mov ecx, dword [edi + 0x51]
call fcn.005a55c8
cmp dword [edi + 0x5d], 0
je 0x5fc41e
mov eax, edi
jmp 0x5fc421
mov eax, dword [edi + 0x2d]
push 0
push esi
push dword [edi + 0xab]
push dword [edi + 0xa7]
push 1
push eax
mov eax, dword [esp + 0x1c]
push eax
push edi
mov edx, dword [esp + 0x28]
push edx
mov ecx, ebx
call fcn.005fb6a4
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fc3b2
mov esi, dword [esp + 0x20]
mov ebx, dword [esp]
jmp 0x5fbf0d
mov ecx, 0x31
call fcn.004dc218
mov ecx, eax
test ecx, ecx
je 0x5fc482
movzx eax, word [ebp]
mov edx, dword [ebx + 0x25]
movsx edi, word [edx + 0x3d]
inc edi
push ebx
push edi
push eax
call fcn.0061678c
jmp 0x5fc484
xor eax, eax
push eax
mov ecx, dword [ebx + 0x6f]
call fcn.004ef6f0
jmp 0x5fba01
mov eax, dword [esi + 0x46]
mov edx, 1
xor ecx, ecx
cmp eax, 2
cmove ecx, edx
movzx eax, byte [ebx + 0x11a]
and eax, 0xfffffffd
and ecx, 1
add ecx, ecx
or eax, ecx
mov byte [ebx + 0x11a], al
test al, 2
je 0x5fc4c6
movzx edx, byte [ebx + 0x11b]
jmp 0x5fc4eb
mov edx, dword [esi + 0x52]
mov ecx, 1
xor edi, edi
cmp edx, 2
cmove edi, ecx
movzx edx, byte [ebx + 0x11b]
and edx, 0xfffffffe
and edi, 1
or edx, edi
mov byte [ebx + 0x11b], dl
and eax, 0xfffffffe
movzx ecx, byte [esp + 0x50]
and ecx, 1
or eax, ecx
mov byte [ebx + 0x11a], al
mov ecx, dword [esi + 0x3a]
cmp ecx, 2
je 0x5fc50b
cmp ecx, 3
jne 0x5fc512
mov ecx, 1
jmp 0x5fc514
xor ecx, ecx
and edx, 0xffffffef
and ecx, 1
shl ecx, 4
or edx, ecx
mov byte [ebx + 0x11b], dl
and edx, 0xffffffbf
mov edi, dword [esi + 0x3a]
mov ecx, 1
cmp edi, 3
mov edi, 0
cmove edi, ecx
and edi, 1
shl edi, 6
or edx, edi
mov byte [ebx + 0x11b], dl
movzx ecx, byte [ebp + 0xa]
and ecx, 0x3f
cmp ecx, 4
je 0x5fc5a8
movzx ecx, word [esi + 0xe]
test ecx, ecx
je 0x5fb86c
lea eax, [ecx*8]
lea ecx, [eax + ecx*4 + 0x701820]
lea edi, [esp + 0xc]
lea edx, [esp + 0x10]
push edx
push edi
push 0x3a
mov dword [esp + 0x2c], esi
call fcn.0053f618
movzx ecx, word [esp + 0xc]
mov dword [esp + 0x20], esi
call fcn.0054cbb4
mov dword [ebx + 0x73], eax
movzx eax, byte [ebx + 0x11a]
movzx edx, byte [ebx + 0x11b]
jmp 0x5fb86c
movzx ecx, byte [ebp + 0x11b]
test cl, 1
je 0x5fc555
or edx, 1
or edx, 0x10
mov byte [ebx + 0x11b], dl
jmp 0x5fc555
cmp dword [ebp + 0x39], 0
jne 0x5fb7a9
mov eax, dword [ebp + 0xf]
mov dword [ebx + 0x31], eax
movzx edx, byte [eax + 0xa]
and edx, 0x3f
cmp edx, 4
jne 0x5fb7a9
cmp dword [eax + 0x39], 0
jne 0x5fb7a9
mov eax, dword [eax + 0xf]
mov dword [ebx + 0x31], eax
movzx edx, byte [eax + 0xa]
and edx, 0x3f
cmp edx, 4
je 0x5fc5e2
jmp 0x5fb7a9
mov ecx, dword [ebx + 0xf]
movzx edx, byte [ecx + 0xa]
and edx, 0x3f
cmp edx, 5
jne 0x5fc61d
mov eax, dword [ecx + 0x29]
mov dword [ebx + 0x35], eax
jmp 0x5fb796
cmp edx, 4
jne 0x5fc62d
mov eax, dword [ecx + 0x35]
mov dword [ebx + 0x35], eax
jmp 0x5fb796
mov eax, dword [eax + 0x31]
mov dword [ebx + 0x35], eax
jmp 0x5fb796
mov ecx, dword [ebp + 0x29]
mov dword [ebx + 0x29], ecx
mov esi, dword [ebp + 0x35]
mov dword [ebx + 0x35], esi
movzx edx, byte [ebx + 0x11c]
and edx, 0xfffffffe
movzx edi, byte [ebp + 0x11c]
and edi, 1
or edx, edi
mov byte [ebx + 0x11c], dl
mov edx, dword [esp + 0x54]
mov dword [ebx + 0xa7], edx
mov edx, dword [esp + 0x58]
mov dword [ebx + 0xab], edx
jmp 0x5fb783
mov dword [ebx + 0x29], ebp
mov edx, dword [eax + 0x31]
mov dword [ebx + 0x35], edx
and byte [ebx + 0x11c], 0xfe
jmp 0x5fb783
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x2c
call fcn.006977b0
mov ecx, dword [esp + 0x2c]
mov ebp, ecx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
movzx ecx, word [esp + 0x4c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov dword [ebp + 0xf], ebx
mov word [ebp + 0x1f], cx
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x2c]
mov dword [ebp + 0x25], eax
movzx esi, byte [eax + 9]
and esi, 8
movzx edx, byte [ebp + 9]
and edx, 0xfffffff7
or edx, esi
mov byte [ebp + 9], dl
movzx edi, word [ebx + 0x13]
mov word [ebp + 0x13], di
movzx ecx, byte [ebx + 0x16]
mov byte [ebp + 0x16], cl
movzx edx, byte [ebx + 0x15]
mov byte [ebp + 0x15], dl
mov edx, dword [esp + 0x50]
mov dword [ebp + 0x2d], edx
movzx edx, byte [ebx + 0xa]
and edx, 0x3f
cmp edx, 3
je 0x5fd62a
cmp edx, 4
je 0x5fd5e9
mov edx, dword [ebx + 0x2d]
mov ecx, dword [edx + 0x29]
mov dword [ebp + 0x29], ecx
mov esi, dword [ebx + 0x29]
mov dword [ebp + 0x35], esi
or byte [ebp + 0x11c], 1
mov edi, dword [esp + 0x58]
mov dword [ebp + 0xa7], edi
mov edx, dword [esp + 0x5c]
mov dword [ebp + 0xab], edx
mov edx, dword [esp + 0x64]
test edx, edx
je 0x5fd5b4
mov eax, dword [esp + 0x64]
mov dword [ebp + 0x35], eax
mov dword [ebp + 0x31], ebx
movzx eax, byte [ebx + 0xa]
and eax, 0x3f
cmp eax, 4
je 0x5fd573
movzx ecx, word [esp + 0x4c]
call fcn.005ec5f0
mov dword [ebp + 0x21], eax
mov edx, dword [ebp + 0x25]
add edx, 0x9f
push edx
push ebp
mov ecx, eax
call fcn.005a57c8
mov dword [ebp + 0x21], eax
mov ecx, eax
call fcn.005ec4d8
test eax, eax
je 0x5fc7a9
mov ecx, dword [ebp + 0x21]
call fcn.005ec4d8
push eax
mov ecx, ebp
call fcn.004fa850
mov eax, dword [ebp + 0x25]
add eax, 0x9f
push eax
mov ecx, dword [ebp + 0x21]
call fcn.005a5700
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x21]
mov edx, dword [eax + 8]
mov dword [esp + 0x28], edx
movzx ecx, word [edx + 0x2e]
test ecx, ecx
je 0x5fc7e0
movzx eax, word [edx + 0x30]
push eax
push dword [edx + 0x36]
push ecx
mov ecx, ebp
call fcn.00623ff4
mov esi, dword [ebp + 0x2d]
test esi, esi
je 0x5fd40e
movzx edx, byte [ebp + 0x11a]
or edx, 2
or edx, 1
mov dword [esp + 4], edx
mov byte [ebp + 0x11a], dl
movzx eax, byte [ebp + 0x11b]
and eax, 0xffffffef
movzx ecx, byte [esi + 0x11b]
and ecx, 0x10
or eax, ecx
mov byte [ebp + 0x11b], al
and eax, 0xffffffbf
movzx esi, byte [esi + 0x11b]
and esi, 0x40
or eax, esi
mov dword [esp + 0x20], eax
mov byte [ebp + 0x11b], al
mov eax, dword [esp + 0x20]
test al, 0x40
je 0x5fc84c
or eax, 0x20
mov dword [esp + 0x20], eax
mov byte [ebp + 0x11b], al
mov esi, dword [esp + 0x28]
mov edi, dword [esi + 0x42]
xor eax, eax
mov dword [esp], eax
cmp edi, 2
mov edx, eax
sete dl
mov ecx, dword [esp + 4]
and ecx, 0xfffffffb
and edx, 1
shl edx, 2
or ecx, edx
mov dword [esp + 4], ecx
mov byte [ebp + 0x11a], cl
movzx eax, byte [ebx + 0xa]
and eax, 0x3f
cmp eax, 4
je 0x5fc888
mov ebx, dword [ebp + 0x2d]
test ebx, ebx
je 0x5fc8ce
movzx eax, byte [ebx + 0x11a]
test al, 0x40
je 0x5fc8ce
mov eax, ecx
or eax, 0x40
mov byte [ebp + 0x11a], al
mov edx, dword [ebx + 0xb9]
mov dword [ebp + 0xb9], edx
mov ecx, dword [ebx + 0xbd]
mov dword [ebp + 0xbd], ecx
and eax, 0xffffff7f
mov dword [esp + 4], eax
mov byte [ebp + 0x11a], al
jmp 0x5fc96d
mov edi, dword [esi + 0x5a]
xor eax, eax
mov dword [esp], eax
cmp edi, 2
mov edx, eax
sete dl
and ecx, 0xffffffbf
and edx, 1
shl edx, 6
or ecx, edx
mov dword [esp + 4], ecx
mov byte [ebp + 0x11a], cl
test cl, 0x40
je 0x5fc96d
push 0
push 0xc
mov ecx, 0x700968
call fcn.004e5c2c
test eax, eax
je 0x5fc91a
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5fc91c
xor eax, eax
mov dword [ebp + 0xb9], eax
push 0
push 0xc
mov ecx, 0x700968
call fcn.004e5c2c
test eax, eax
je 0x5fc944
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5fc946
xor eax, eax
mov dword [ebp + 0xbd], eax
movzx eax, byte [ebp + 0x11a]
or eax, 0x80
mov dword [esp + 4], eax
mov byte [ebp + 0x11a], al
movzx edx, byte [ebp + 0x11b]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
test al, 0x10
je 0x5fc97f
cmp dword [ebp + 0x2d], 0
je 0x5fcef1
mov eax, esi
movzx edx, word [eax + 0xc]
test edx, edx
je 0x5fc9e7
push 0
push 0x14
mov ecx, 0x700aac
call fcn.004e5c2c
test eax, eax
je 0x5fc9ad
push 0
push 0x502cc4
push 0x1f
mov ecx, eax
call fcn.004f00b8
jmp 0x5fc9af
xor eax, eax
mov dword [ebp + 0x6f], eax
mov eax, esi
movzx ecx, word [eax + 0xc]
call fcn.00541ae8
mov ebx, eax
test ebx, ebx
je 0x5fc9e7
movzx eax, word [ebx]
mov word [esp + 0x2c], ax
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [ebp + 0x6f]
call fcn.004ee44c
test eax, eax
je 0x5fd3d9
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fc9c3
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 2]
test edx, edx
jne 0x5fce58
movzx edx, word [eax + 4]
test edx, edx
jne 0x5fce58
cmp dword [ebp + 0x2d], 0
je 0x5fd119
mov esi, dword [esp + 0x28]
mov edi, dword [esi + 0x56]
xor eax, eax
cmp edi, 2
sete al
movzx edx, byte [ebp + 0x11b]
and edx, 0xfffffffd
and eax, 1
add eax, eax
or edx, eax
mov byte [ebp + 0x11b], dl
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e5c2c
test eax, eax
je 0x5fca4e
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5fca50
xor eax, eax
mov dword [ebp + 0x59], eax
movzx eax, byte [ebp + 9]
test al, 8
je 0x5fca92
mov eax, esi
movzx eax, word [eax + 0x22]
test eax, eax
je 0x5fca98
mov eax, esi
movzx eax, word [eax + 0x28]
test eax, eax
je 0x5fca82
mov word [ebp + 0x69], ax
or byte [ebp + 0x11b], 4
mov eax, esi
movzx eax, word [eax + 0x22]
jmp 0x5fca98
mov edx, esi
movzx eax, word [edx + 0x26]
mov word [ebp + 0x69], ax
movzx eax, word [edx + 0x22]
jmp 0x5fca98
mov eax, esi
movzx eax, word [eax + 0x22]
test eax, eax
jne 0x5fcabf
mov eax, esi
movzx ecx, word [eax + 6]
test ecx, ecx
jne 0x5fcfef
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 8]
test ecx, ecx
jne 0x5fcf2d
jmp 0x5fcec9
mov eax, esi
movzx ecx, word [eax + 6]
call fcn.00541ae8
mov edi, eax
test edi, edi
je 0x5fcb50
movzx eax, word [edi]
movzx edx, word [esi + 0x22]
cmp eax, edx
je 0x5fcb5c
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fcaff
mov ecx, eax
call fcn.005f254c
mov ebx, eax
jmp 0x5fcb01
xor ebx, ebx
push ebx
mov ecx, dword [ebp + 0x59]
call fcn.005a55c8
xor ecx, ecx
movzx edx, word [edi]
push ecx
push 1
mov eax, dword [esp + 0x68]
push eax
push dword [ebp + 0x2d]
push edx
push ecx
push ebp
mov eax, dword [esp + 0x60]
push eax
mov ecx, ebx
call fcn.005f257c
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fcb49
cmp ebp, dword [ebp + 0x2d]
je 0x5fcb42
mov ecx, ebx
call fcn.005f5b4c
jmp 0x5fcb49
or byte [ebx + 0x90], 0x80
mov edi, dword [edi + 2]
test edi, edi
jne 0x5fcad4
push str.Could_not_find_the_Repeated_Line_
mov ecx, ebp
call fcn.004fa850
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 0x24]
movzx edx, word [0x7bd11c]
cmp ecx, edx
je 0x5fcc94
movzx eax, word [0x7bd120]
cmp ecx, eax
jne 0x5fcb9a
push 0
push 1
mov ecx, dword [ebp + 0x25]
call fcn.004fe550
mov dword [ebp + 0x39], eax
test eax, eax
je 0x5fd0b6
jmp 0x5fcca9
movzx eax, byte [ebp + 9]
and eax, 8
shr eax, 3
mov edx, dword [ebp]
push eax
push ebp
push ecx
mov ecx, ebp
call dword [edx + 0x40]
mov dword [ebp + 0x39], eax
test eax, eax
je 0x5fcd12
movzx esi, byte [ebp + 9]
test esi, 8
jne 0x5fcbd9
mov edx, dword [ebp + 0x31]
movzx ebx, byte [edx + 0xa]
and ebx, 0x3f
cmp ebx, 3
je 0x5fd0ca
test esi, 8
je 0x5fcbed
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 0x2a]
test edx, edx
jne 0x5fcbf5
mov eax, dword [ebp + 0x39]
jmp 0x5fcc8b
call fcn.0053ed74
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 0x2a]
push 0x2000
push ebp
push 0xffffffffffffffff
push ebp
push 2
push edx
mov ecx, dword [esp + 0x38]
call fcn.00541348
test eax, eax
jne 0x5fcc7f
mov eax, dword [esp + 0x20]
lea ecx, [eax + 0x38]
call fcn.0051a93c
mov dword [esp + 4], eax
test eax, eax
jle 0x5fcc7f
mov ecx, dword [ebp + 0x25]
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, 0xfffffffc
je 0x5fcc4d
mov ecx, dword [ebp + 0x25]
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, 0xfffffffa
jne 0x5fcc72
mov ecx, dword [ebp + 0x39]
mov ebx, dword [ecx + 0x25]
mov eax, dword [esp + 4]
cmp ebx, eax
jge 0x5fcc7f
mov esi, eax
jmp 0x5fcc62
mov ecx, dword [ebp + 0x39]
mov eax, dword [ecx]
xor edx, edx
push edx
push edx
call dword [eax + 0x60]
inc ebx
cmp ebx, esi
jl 0x5fcc5f
jmp 0x5fcc7f
mov ecx, dword [ebp + 0x25]
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, 0xfffffff9
je 0x5fcc4d
mov ecx, dword [esp + 0x20]
call fcn.0053ed6c
mov eax, dword [ebp + 0x39]
test eax, eax
jne 0x5fcca9
jmp 0x5fcd12
push 1
mov ecx, dword [ebp + 0x25]
call fcn.004fe60c
mov dword [ebp + 0x39], eax
test eax, eax
je 0x5fd105
movzx edx, byte [ebp + 9]
test dl, 8
je 0x5fccba
movzx edx, word [ebp + 0x69]
test edx, edx
jne 0x5fccbf
mov edx, dword [eax + 0x25]
jmp 0x5fccd7
mov edx, dword [eax + 0x25]
test edx, edx
jne 0x5fccd7
mov ebx, dword [eax]
xor edx, edx
push edx
push edx
mov ecx, eax
call dword [ebx + 0x60]
mov eax, dword [ebp + 0x39]
mov edx, dword [eax + 0x25]
mov dword [ebp + 0x65], edx
lea edx, [esp + 0x14]
push edx
push 0x5fd640
mov ecx, eax
call fcn.0051de9c
movzx eax, byte [ebp + 9]
test al, 8
je 0x5fcd05
push 8
push 0x2000
push ebp
mov ecx, dword [ebp + 0x39]
call fcn.004f8000
jmp 0x5fcd12
push 8
push 1
push ebp
mov ecx, dword [ebp + 0x39]
call fcn.004f8000
mov ebx, dword [edi + 2]
test ebx, ebx
je 0x5fcd7c
mov edi, dword [esp + 0x60]
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fcd3d
mov ecx, eax
call fcn.005f254c
mov esi, eax
jmp 0x5fcd3f
xor esi, esi
push esi
mov ecx, dword [ebp + 0x59]
call fcn.005a55c8
xor edx, edx
movzx eax, word [ebx]
push edx
push 1
push edi
push dword [ebp + 0x2d]
push eax
push edx
push ebp
mov eax, dword [esp + 0x60]
push eax
mov ecx, esi
call fcn.005f257c
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fcd75
mov ecx, esi
call fcn.005f5b4c
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fcd1d
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 8]
test edx, edx
je 0x5fcec9
push 0
lea ecx, [esp + 4]
call fcn.0050afb4
mov edx, dword [ebp]
movzx eax, word [0x7bd15c]
push eax
mov ecx, ebp
call dword [edx + 0x20]
lea edx, [esp]
push 1
push edx
mov ecx, eax
call fcn.00503088
mov ecx, dword [ebp + 0x25]
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, 0xfffffff3
je 0x5fd0dd
xor eax, eax
cmp ebp, dword [ebp + 0x2d]
setne al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 8]
call fcn.00541ae8
mov esi, eax
test esi, esi
je 0x5fce4e
mov ebx, dword [esp + 0x20]
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fce08
mov ecx, eax
call fcn.005f254c
mov edi, eax
jmp 0x5fce0a
xor edi, edi
push edi
mov ecx, dword [ebp + 0x59]
call fcn.005a55c8
xor ecx, ecx
movzx edx, word [esi]
push ecx
push ebx
mov eax, dword [esp + 0x68]
push eax
push dword [ebp + 0x2d]
push edx
push ecx
push ebp
mov eax, dword [esp + 0x60]
push eax
mov ecx, edi
call fcn.005f257c
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fce47
test ebx, ebx
je 0x5fce47
mov ecx, edi
call fcn.005f5b4c
mov esi, dword [esi + 2]
test esi, esi
jne 0x5fcde8
lea ecx, [esp]
call fcn.0050b06c
jmp 0x5fcec9
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e5c2c
test eax, eax
je 0x5fce73
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5fce75
xor eax, eax
mov dword [ebp + 0x51], eax
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fce8d
cmp dword [ebp + 0x2d], 0
je 0x5fd141
movzx eax, byte [ebp + 9]
test al, 8
jne 0x5fcea9
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fcea9
cmp ebp, dword [ebp + 0x2d]
je 0x5fd169
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 2]
test ecx, ecx
jne 0x5fd321
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 4]
test ecx, ecx
jne 0x5fd269
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5fcee7
mov eax, dword [ebp + 0x25]
add eax, 0x9f
push eax
mov edx, dword [esp + 0x28]
push edx
mov ecx, dword [ebp + 0x21]
call fcn.005a56e4
add esp, 0x30
pop ebx
pop ebp
pop esi
pop edi
ret 0x24
mov eax, esi
movzx edx, word [eax + 2]
test edx, edx
jne 0x5fcf10
movzx edx, word [eax + 4]
test edx, edx
jne 0x5fcf10
movzx edx, word [eax + 6]
test edx, edx
je 0x5fcf1c
jmp 0x5fc97f
mov eax, dword [esp + 4]
test al, 2
jne 0x5fc97f
push str.Syntax_Error_
mov ecx, ebp
call fcn.004fa850
jmp 0x5fc97f
call fcn.00541ae8
mov ebx, eax
test ebx, ebx
je 0x5fcec9
mov dword [esp], ebp
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
movzx eax, word [ebx]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fcf72
mov ecx, eax
call fcn.005f254c
mov ebp, eax
jmp 0x5fcf74
xor ebp, ebp
push ebp
mov ecx, dword [edi + 0x59]
call fcn.005a55c8
xor ecx, ecx
push ecx
push ecx
mov eax, dword [esp + 0x30]
push eax
push dword [edi + 0x2d]
mov edx, dword [esp + 0x30]
push edx
push ecx
push edi
push esi
mov ecx, ebp
call fcn.005f257c
movzx eax, byte [edi + 0x11b]
and eax, 0x10
cmp eax, 0x10
je 0x5fcfd1
push ebp
mov ecx, edi
call fcn.005fdcd0
test eax, eax
je 0x5fcfbe
push 1
push ebp
mov ecx, dword [edi + 0x2d]
call fcn.005fdb5c
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fcf3b
mov ebp, dword [esp]
jmp 0x5fcec9
cmp edi, dword [edi + 0x2d]
je 0x5fcfdf
mov ecx, ebp
call fcn.005f5b4c
jmp 0x5fcfa7
mov eax, dword [edi + 0x21]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0x22]
test ecx, ecx
je 0x5fcfd6
jmp 0x5fcfa7
call fcn.00541ae8
mov ebx, eax
test ebx, ebx
je 0x5fcaaa
mov dword [esp], ebp
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
movzx eax, word [ebx]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e5c2c
test eax, eax
je 0x5fd038
mov ecx, eax
call fcn.005f254c
mov ebp, eax
jmp 0x5fd03a
xor ebp, ebp
push ebp
mov ecx, dword [edi + 0x59]
call fcn.005a55c8
xor ecx, ecx
push ecx
push 1
mov eax, dword [esp + 0x28]
push eax
push dword [edi + 0x2d]
mov edx, dword [esp + 0x14]
push edx
push ecx
push edi
push esi
mov ecx, ebp
call fcn.005f257c
movzx eax, byte [edi + 0x11b]
and eax, 0x10
cmp eax, 0x10
je 0x5fd098
push ebp
mov ecx, edi
call fcn.005fdcd0
test eax, eax
je 0x5fd085
push 1
push ebp
mov ecx, dword [edi + 0x2d]
call fcn.005fdb5c
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fd001
mov ebp, dword [esp]
jmp 0x5fcaaa
cmp edi, dword [edi + 0x2d]
je 0x5fd0a6
mov ecx, ebp
call fcn.005f5b4c
jmp 0x5fd06e
mov eax, dword [edi + 0x21]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0x22]
test ecx, ecx
je 0x5fd09d
jmp 0x5fd06e
push str.Could_not_find_the_Collection_
mov ecx, ebp
call fcn.004fa850
mov eax, dword [ebp + 0x39]
jmp 0x5fcc8b
mov edx, dword [eax]
push dword [ebp + 0x25]
mov ecx, eax
call dword [edx + 0x64]
movzx esi, byte [ebp + 9]
jmp 0x5fcbd9
mov eax, dword [ebp + 0x21]
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0x5e]
cmp ecx, 1
jne 0x5fd0f7
mov eax, dword [esp]
cmp dword [eax], 2
jne 0x5fcdc5
mov eax, 1
mov dword [esp + 0x20], eax
jmp 0x5fcdd1
push str.Could_not_find_the_Collection_
mov ecx, ebp
call fcn.004fa850
mov eax, dword [ebp + 0x39]
jmp 0x5fcc8b
mov dword [ebp + 0x2d], ebp
mov ecx, 0x1c
call fcn.004dc218
test eax, eax
je 0x5fd137
mov edx, 0xffffffff
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
jmp 0x5fd139
xor eax, eax
mov dword [ebp + 0x5d], eax
jmp 0x5fca0d
mov dword [ebp + 0x2d], ebp
mov ecx, 0x1c
call fcn.004dc218
test eax, eax
je 0x5fd15f
mov edx, 0xffffffff
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
jmp 0x5fd161
xor eax, eax
mov dword [ebp + 0x5d], eax
jmp 0x5fce8d
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 0x22]
test edx, edx
je 0x5fcea9
movzx ecx, word [eax + 2]
call fcn.00541ae8
mov edi, eax
cmp dword [edi + 2], 0
je 0x5fd196
push str.Only_ONE_part_name_allowed_
mov ecx, ebp
call fcn.004fa850
movzx edx, word [edi]
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 0x22]
cmp edx, ecx
jne 0x5fd258
mov ebx, dword [ebp]
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 0x24]
push 0
push ebp
push edx
mov ecx, ebp
call dword [ebx + 0x40]
mov dword [ebp + 0x39], eax
test eax, eax
je 0x5fcec9
mov ecx, eax
call fcn.0051dcb4
mov ebx, eax
test ebx, ebx
je 0x5fcec9
mov ecx, 0x11d
call fcn.004dc218
mov esi, eax
test esi, esi
je 0x5fd218
push 4
push 0
mov ecx, esi
call fcn.004fa818
mov dword [esi], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [esi + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [esi + 0xb1], dx
jmp 0x5fd21a
xor esi, esi
push esi
mov ecx, dword [ebp + 0x51]
call fcn.005a55c8
movzx ecx, word [edi]
push ebx
push 0
mov eax, dword [esp + 0x64]
push eax
mov edx, dword [esp + 0x64]
push edx
push 1
push dword [ebp + 0x2d]
push ecx
push ebp
mov eax, dword [esp + 0x64]
push eax
mov ecx, esi
call fcn.005fb6a4
mov ecx, ebx
call fcn.004fa640
mov ebx, eax
test ebx, ebx
jne 0x5fd1d9
jmp 0x5fcec9
push str.Could_not_find_the_Repeated_Part_
mov ecx, ebp
call fcn.004fa850
jmp 0x5fd1a9
call fcn.00541ae8
mov ebx, eax
test ebx, ebx
je 0x5fcec9
mov dword [esp], ebp
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
movzx esi, word [ebx]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov ecx, 0x11d
call fcn.004dc218
mov ebp, eax
test ebp, ebp
je 0x5fd2d2
push 4
push 0
mov ecx, ebp
call fcn.004fa818
mov dword [ebp], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [ebp + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [ebp + 0xb1], dx
jmp 0x5fd2d4
xor ebp, ebp
push ebp
mov ecx, dword [edi + 0x51]
call fcn.005a55c8
cmp dword [edi + 0x5d], 0
je 0x5fd2e7
mov ecx, edi
jmp 0x5fd2ea
mov ecx, dword [edi + 0x2d]
xor edx, edx
push edx
mov eax, dword [esp + 0x24]
push eax
push dword [edi + 0xab]
push dword [edi + 0xa7]
push edx
push ecx
push esi
push edi
mov esi, dword [esp + 0x48]
push esi
mov ecx, ebp
call fcn.005fb6a4
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fd27b
mov ebp, dword [esp]
jmp 0x5fcec9
call fcn.00541ae8
mov ebx, eax
test ebx, ebx
je 0x5fceb9
mov dword [esp], ebp
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
movzx edx, word [ebx]
mov dword [esp + 4], edx
mov esi, dword [esp + 0x18]
mov ecx, 0x11d
call fcn.004dc218
mov ebp, eax
test ebp, ebp
je 0x5fd38a
push 4
push 0
mov ecx, ebp
call fcn.004fa818
mov dword [ebp], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [ebp + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [ebp + 0xb1], dx
jmp 0x5fd38c
xor ebp, ebp
push ebp
mov ecx, dword [edi + 0x51]
call fcn.005a55c8
cmp dword [edi + 0x5d], 0
je 0x5fd39f
mov eax, edi
jmp 0x5fd3a2
mov eax, dword [edi + 0x2d]
push 0
push esi
push dword [edi + 0xab]
push dword [edi + 0xa7]
push 1
push eax
mov eax, dword [esp + 0x1c]
push eax
push edi
mov edx, dword [esp + 0x40]
push edx
mov ecx, ebp
call fcn.005fb6a4
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fd333
mov ebp, dword [esp]
jmp 0x5fceb9
mov ecx, 0x31
call fcn.004dc218
test eax, eax
je 0x5fd3fe
movzx edi, word [ebx]
mov edx, dword [ebp + 0x25]
movsx esi, word [edx + 0x3d]
inc esi
push ebp
push esi
push edi
mov ecx, eax
call fcn.0061678c
jmp 0x5fd400
xor eax, eax
push eax
mov ecx, dword [ebp + 0x6f]
call fcn.004ef6f0
jmp 0x5fc9e0
mov esi, dword [esp + 0x28]
mov edi, dword [esi + 0x46]
xor eax, eax
mov dword [esp], eax
cmp edi, 2
mov edx, eax
sete dl
movzx ecx, byte [ebp + 0x11a]
and ecx, 0xfffffffd
and edx, 1
add edx, edx
or ecx, edx
mov dword [esp + 4], ecx
mov byte [ebp + 0x11a], cl
test cl, 2
je 0x5fd44f
movzx eax, byte [ebp + 0x11b]
mov dword [esp + 0x20], eax
jmp 0x5fd478
mov edi, dword [esi + 0x52]
xor eax, eax
mov dword [esp], eax
cmp edi, 2
mov edx, eax
sete dl
movzx ecx, byte [ebp + 0x11b]
and ecx, 0xfffffffe
and edx, 1
or ecx, edx
mov dword [esp + 0x20], ecx
mov byte [ebp + 0x11b], cl
mov eax, dword [esp + 4]
and eax, 0xfffffffe
movzx esi, byte [esp + 0x54]
and esi, 1
or eax, esi
mov dword [esp + 4], eax
mov byte [ebp + 0x11a], al
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x3a]
cmp eax, 2
je 0x5fd4a4
cmp eax, 3
jne 0x5fd4ab
mov eax, 1
jmp 0x5fd4ad
xor eax, eax
mov edx, dword [esp + 0x20]
and edx, 0xffffffef
and eax, 1
shl eax, 4
or edx, eax
mov byte [ebp + 0x11b], dl
and edx, 0xffffffbf
mov dword [esp + 0x20], edx
mov esi, dword [esp + 0x28]
mov edi, dword [esi + 0x3a]
xor eax, eax
mov dword [esp], eax
cmp edi, 3
mov ecx, eax
sete cl
and ecx, 1
shl ecx, 6
mov eax, edx
or eax, ecx
mov dword [esp + 0x20], eax
mov byte [ebp + 0x11b], al
movzx eax, byte [ebx + 0xa]
and eax, 0x3f
cmp eax, 4
je 0x5fd552
mov eax, esi
movzx edx, word [eax + 0xe]
test edx, edx
je 0x5fc837
lea eax, [edx*8]
lea ecx, [eax + edx*4 + 0x701820]
lea esi, [esp + 0xc]
lea edx, [esp + 0x10]
push edx
push esi
push 0x3a
call fcn.0053f618
movzx ecx, word [esp + 0xc]
call fcn.0054cbb4
mov dword [ebp + 0x73], eax
movzx eax, byte [ebp + 0x11a]
mov dword [esp + 4], eax
movzx edx, byte [ebp + 0x11b]
mov dword [esp + 0x20], edx
jmp 0x5fc837
movzx eax, byte [ebx + 0x11b]
test al, 1
je 0x5fd4fd
mov eax, dword [esp + 0x20]
or eax, 1
or eax, 0x10
mov dword [esp + 0x20], eax
mov byte [ebp + 0x11b], al
jmp 0x5fd4fd
cmp dword [ebx + 0x39], 0
jne 0x5fc76c
mov eax, dword [ebx + 0xf]
mov dword [ebp + 0x31], eax
movzx edx, byte [eax + 0xa]
and edx, 0x3f
cmp edx, 4
jne 0x5fc76c
cmp dword [eax + 0x39], 0
jne 0x5fc76c
mov eax, dword [eax + 0xf]
mov dword [ebp + 0x31], eax
movzx edx, byte [eax + 0xa]
and edx, 0x3f
cmp edx, 4
je 0x5fd593
jmp 0x5fc76c
mov ecx, dword [ebp + 0xf]
movzx edx, byte [ecx + 0xa]
and edx, 0x3f
cmp edx, 5
jne 0x5fd5ce
mov eax, dword [ecx + 0x29]
mov dword [ebp + 0x35], eax
jmp 0x5fc759
cmp edx, 4
jne 0x5fd5de
mov eax, dword [ecx + 0x35]
mov dword [ebp + 0x35], eax
jmp 0x5fc759
mov eax, dword [eax + 0x31]
mov dword [ebp + 0x35], eax
jmp 0x5fc759
mov ecx, dword [ebx + 0x29]
mov dword [ebp + 0x29], ecx
mov esi, dword [ebx + 0x35]
mov dword [ebp + 0x35], esi
movzx edx, byte [ebp + 0x11c]
and edx, 0xfffffffe
movzx edi, byte [ebx + 0x11c]
and edi, 1
or edx, edi
mov byte [ebp + 0x11c], dl
mov edx, dword [esp + 0x58]
mov dword [ebp + 0xa7], edx
mov edx, dword [esp + 0x5c]
mov dword [ebp + 0xab], edx
jmp 0x5fc746
mov dword [ebp + 0x29], ebx
mov edx, dword [eax + 0x31]
mov dword [ebp + 0x35], edx
and byte [ebp + 0x11c], 0xfe
jmp 0x5fc746