Function at 0x5fb240
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x5fb268
test dword [0x7eeab0], 0xffffffff
jne 0x5fc22c
call fcn.006a7b4c
jmp fcn.005fb240
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x28
call fcn.00697340
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 0x5fc215
cmp edx, 4
je 0x5fc1d4
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 0x5fc19f
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 0x5fc15e
movzx ecx, word [esp + 0x48]
call fcn.005ec188
mov dword [ebx + 0x21], eax
mov edx, dword [ebx + 0x25]
add edx, 0x9f
push edx
push ebx
mov ecx, eax
call fcn.005a535c
mov dword [ebx + 0x21], eax
mov ecx, eax
call fcn.005ec070
test eax, eax
je 0x5fb382
mov ecx, dword [ebx + 0x21]
call fcn.005ec070
push eax
mov ecx, ebx
call fcn.004fa3b4
mov eax, dword [ebx + 0x25]
add eax, 0x9f
push eax
mov ecx, dword [ebx + 0x21]
call fcn.005a5294
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x21]
mov esi, dword [eax + 8]
movzx edx, word [esi + 0x2e]
test edx, edx
je 0x5fb3b9
movzx eax, word [esi + 0x30]
push eax
push dword [esi + 0x36]
push edx
mov ecx, ebx
mov dword [esp + 0x2c], esi
call fcn.00623b90
mov edi, dword [ebx + 0x2d]
test edi, edi
je 0x5fc02e
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 0x5fb416
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 0x5fb449
mov ebp, dword [ebx + 0x2d]
test ebp, ebp
je 0x5fb48a
movzx ecx, byte [ebp + 0x11a]
test cl, 0x40
je 0x5fb48a
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 0x5fb524
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 0x5fb524
push 0
push 0xc
mov ecx, 0x700968
mov dword [esp + 0x28], esi
call fcn.004e579c
test eax, eax
je 0x5fb4d5
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5fb4d7
xor eax, eax
mov dword [ebx + 0xb9], eax
push 0
push 0xc
mov ecx, 0x700968
mov dword [esp + 0x28], esi
call fcn.004e579c
test eax, eax
je 0x5fb503
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5fb505
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 0x5fb533
cmp dword [ebx + 0x2d], 0
je 0x5fbadd
movzx eax, word [esi + 0xc]
test eax, eax
je 0x5fb5a4
push 0
push 0x14
mov ecx, 0x700aac
mov dword [esp + 0x28], esi
call fcn.004e579c
test eax, eax
je 0x5fb567
push 0
push 0x502868
push 0x1f
mov ecx, eax
mov dword [esp + 0x2c], esi
call fcn.004efc28
jmp 0x5fb569
xor eax, eax
mov dword [ebx + 0x6f], eax
movzx ecx, word [esi + 0xc]
mov dword [esp + 0x20], esi
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5fb5a4
movzx eax, word [ebp]
mov word [esp + 0x28], ax
lea edx, [esp + 0x28]
push edx
mov ecx, dword [ebx + 0x6f]
call fcn.004edfbc
test eax, eax
je 0x5fbff8
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fb57f
movzx eax, word [esi + 2]
test eax, eax
jne 0x5fba48
movzx eax, word [esi + 4]
test eax, eax
jne 0x5fba48
cmp dword [ebx + 0x2d], 0
je 0x5fbd23
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.004e579c
test eax, eax
je 0x5fb60b
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5fb60d
xor eax, eax
mov dword [ebx + 0x59], eax
movzx eax, byte [ebx + 9]
test al, 8
je 0x5fb647
movzx eax, word [esi + 0x22]
test eax, eax
je 0x5fb64b
movzx eax, word [esi + 0x28]
test eax, eax
je 0x5fb639
mov word [ebx + 0x69], ax
or byte [ebx + 0x11b], 4
movzx eax, word [esi + 0x22]
jmp 0x5fb64b
movzx eax, word [esi + 0x26]
mov word [ebx + 0x69], ax
movzx eax, word [esi + 0x22]
jmp 0x5fb64b
movzx eax, word [esi + 0x22]
test eax, eax
jne 0x5fb66c
movzx ecx, word [esi + 6]
test ecx, ecx
jne 0x5fbbda
movzx ecx, word [esi + 8]
test ecx, ecx
jne 0x5fbb17
jmp 0x5fbab5
movzx ecx, word [esi + 6]
mov dword [esp + 0x20], esi
call fcn.0054169c
mov edi, eax
test edi, edi
je 0x5fb703
movzx eax, word [edi]
movzx edx, word [esi + 0x22]
cmp eax, edx
je 0x5fb713
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e579c
test eax, eax
je 0x5fb6b2
mov ecx, eax
call fcn.005f20f0
mov ebp, eax
jmp 0x5fb6b4
xor ebp, ebp
push ebp
mov ecx, dword [ebx + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fb6fc
cmp ebx, dword [ebx + 0x2d]
je 0x5fb6f5
mov ecx, ebp
call fcn.005f56f0
jmp 0x5fb6fc
or byte [ebp + 0x90], 0x80
mov edi, dword [edi + 2]
test edi, edi
jne 0x5fb683
push str.Could_not_find_the_Repeated_Line_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa3b4
movzx eax, word [esi + 0x24]
movzx edx, word [0x7bd11c]
cmp eax, edx
je 0x5fb863
movzx edx, word [0x7bd120]
cmp eax, edx
jne 0x5fb751
push 0
push 1
mov ecx, dword [ebx + 0x25]
mov dword [esp + 0x28], esi
call fcn.004fe0b4
mov dword [ebx + 0x39], eax
test eax, eax
je 0x5fbcae
jmp 0x5fb87c
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 0x5fb8f5
movzx ecx, byte [ebx + 9]
test cl, 8
jne 0x5fb790
mov edx, dword [ebx + 0x31]
movzx ebp, byte [edx + 0xa]
and ebp, 0x3f
cmp ebp, 3
je 0x5fbccf
test cl, 8
je 0x5fb79d
movzx eax, word [esi + 0x2a]
test eax, eax
jne 0x5fb7a5
mov eax, dword [ebx + 0x39]
jmp 0x5fb85a
mov dword [esp + 0x20], esi
call fcn.0053e928
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.00540efc
test eax, eax
jne 0x5fb84a
mov eax, dword [esp + 8]
lea ecx, [eax + 0x38]
mov dword [esp + 0x20], esi
call fcn.0051a4d0
mov dword [esp + 4], eax
test eax, eax
jle 0x5fb84a
mov ecx, dword [ebx + 0x25]
mov eax, dword [ecx]
mov dword [esp + 0x20], esi
call dword [eax + 0x54]
cmp eax, 0xfffffffc
je 0x5fb80d
mov ecx, dword [ebx + 0x25]
mov eax, dword [ecx]
mov dword [esp + 0x20], esi
call dword [eax + 0x54]
cmp eax, 0xfffffffa
jne 0x5fb839
mov ecx, dword [ebx + 0x39]
mov ebp, dword [ecx + 0x25]
mov eax, dword [esp + 4]
cmp ebp, eax
jge 0x5fb84a
mov dword [esp + 0x20], esi
mov esi, eax
jmp 0x5fb826
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 0x5fb823
jmp 0x5fbcc6
mov ecx, dword [ebx + 0x25]
mov eax, dword [ecx]
mov dword [esp + 0x20], esi
call dword [eax + 0x54]
cmp eax, 0xfffffff9
je 0x5fb80d
mov ecx, dword [esp + 8]
mov dword [esp + 0x20], esi
call fcn.0053e920
mov eax, dword [ebx + 0x39]
test eax, eax
jne 0x5fb87c
jmp 0x5fb8f5
push 1
mov ecx, dword [ebx + 0x25]
mov dword [esp + 0x24], esi
call fcn.004fe170
mov dword [ebx + 0x39], eax
test eax, eax
je 0x5fbd0b
movzx edx, byte [ebx + 9]
test dl, 8
je 0x5fb88d
movzx edx, word [ebx + 0x69]
test edx, edx
jne 0x5fb892
mov edx, dword [eax + 0x25]
jmp 0x5fb8ae
mov edx, dword [eax + 0x25]
test edx, edx
jne 0x5fb8ae
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 0x5fd1dc
mov ecx, eax
mov dword [esp + 0x28], esi
call fcn.0051da30
movzx eax, byte [ebx + 9]
test al, 8
je 0x5fb8e4
push 8
push 0x2000
push ebx
mov ecx, dword [ebx + 0x39]
mov dword [esp + 0x2c], esi
call fcn.004f7b54
jmp 0x5fb8f5
push 8
push 1
push ebx
mov ecx, dword [ebx + 0x39]
mov dword [esp + 0x2c], esi
call fcn.004f7b54
mov ebp, dword [edi + 2]
test ebp, ebp
je 0x5fb968
mov dword [esp + 0x20], esi
mov edi, dword [esp + 0x40]
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e579c
test eax, eax
je 0x5fb924
mov ecx, eax
call fcn.005f20f0
mov esi, eax
jmp 0x5fb926
xor esi, esi
push esi
mov ecx, dword [ebx + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fb95d
mov ecx, esi
call fcn.005f56f0
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fb904
mov esi, dword [esp + 0x20]
movzx eax, word [esi + 8]
test eax, eax
je 0x5fbab5
push 0
lea ecx, [esp + 4]
mov dword [esp + 0x24], esi
call fcn.0050ab48
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.00502c2c
mov ecx, dword [ebx + 0x25]
mov eax, dword [ecx]
mov dword [esp + 0x20], esi
call dword [eax + 0x54]
cmp eax, 0xfffffff3
je 0x5fbce6
mov eax, 1
xor ebp, ebp
cmp ebx, dword [ebx + 0x2d]
cmovne ebp, eax
movzx ecx, word [esi + 8]
call fcn.0054169c
mov esi, eax
test esi, esi
je 0x5fba3e
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e579c
test eax, eax
je 0x5fb9f8
mov ecx, eax
call fcn.005f20f0
mov edi, eax
jmp 0x5fb9fa
xor edi, edi
push edi
mov ecx, dword [ebx + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fba37
test ebp, ebp
je 0x5fba37
mov ecx, edi
call fcn.005f56f0
mov esi, dword [esi + 2]
test esi, esi
jne 0x5fb9d8
lea ecx, [esp]
call fcn.0050ac00
jmp 0x5fbab5
push 0
push 8
mov ecx, 0x700aa0
mov dword [esp + 0x28], esi
call fcn.004e579c
test eax, eax
je 0x5fba67
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5fba69
xor eax, eax
mov dword [ebx + 0x51], eax
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fba81
cmp dword [ebx + 0x2d], 0
je 0x5fbd4f
movzx eax, byte [ebx + 9]
test al, 8
jne 0x5fba9d
movzx eax, byte [ebx + 0x11b]
test al, 0x10
je 0x5fba9d
cmp ebx, dword [ebx + 0x2d]
je 0x5fbd7b
movzx ecx, word [esi + 2]
test ecx, ecx
jne 0x5fbf34
movzx ecx, word [esi + 4]
test ecx, ecx
jne 0x5fbe7c
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5fbad3
mov eax, dword [ebx + 0x25]
add eax, 0x9f
push eax
mov edx, dword [esp + 0x28]
push edx
mov ecx, dword [ebx + 0x21]
call fcn.005a5278
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret 0x24
movzx edx, word [esi + 2]
test edx, edx
jne 0x5fbafa
movzx edx, word [esi + 4]
test edx, edx
jne 0x5fbafa
movzx eax, word [esi + 6]
test eax, eax
je 0x5fbb02
jmp 0x5fb533
test al, 2
jne 0x5fb533
push str.Syntax_Error_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa3b4
jmp 0x5fb533
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5fbab5
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.004e579c
test eax, eax
je 0x5fbb5d
mov ecx, eax
call fcn.005f20f0
mov ebx, eax
jmp 0x5fbb5f
xor ebx, ebx
push ebx
mov ecx, dword [edi + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [edi + 0x11b]
and eax, 0x10
cmp eax, 0x10
je 0x5fbbbc
push ebx
mov ecx, edi
call fcn.005fd86c
test eax, eax
je 0x5fbba9
push 1
push ebx
mov ecx, dword [edi + 0x2d]
call fcn.005fd6f8
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fbb25
mov ebx, dword [esp]
jmp 0x5fbab5
cmp edi, dword [edi + 0x2d]
je 0x5fbbca
mov ecx, ebx
call fcn.005f56f0
jmp 0x5fbb92
mov eax, dword [edi + 0x21]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0x22]
test ecx, ecx
je 0x5fbbc1
jmp 0x5fbb92
mov dword [esp + 0x20], esi
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5fb65b
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.004e579c
test eax, eax
je 0x5fbc2c
mov ecx, eax
call fcn.005f20f0
mov ebx, eax
jmp 0x5fbc2e
xor ebx, ebx
push ebx
mov ecx, dword [edi + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [edi + 0x11b]
and eax, 0x10
cmp eax, 0x10
je 0x5fbc90
push ebx
mov ecx, edi
call fcn.005fd86c
test eax, eax
je 0x5fbc79
push 1
push ebx
mov ecx, dword [edi + 0x2d]
call fcn.005fd6f8
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fbbf4
mov esi, dword [esp + 0x20]
mov ebx, dword [esp]
jmp 0x5fb65b
cmp edi, dword [edi + 0x2d]
je 0x5fbc9e
mov ecx, ebx
call fcn.005f56f0
jmp 0x5fbc62
mov eax, dword [edi + 0x21]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0x22]
test ecx, ecx
je 0x5fbc95
jmp 0x5fbc62
push str.Could_not_find_the_Collection_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa3b4
mov eax, dword [ebx + 0x39]
jmp 0x5fb85a
mov esi, dword [esp + 0x20]
jmp 0x5fb84a
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 0x5fb790
mov eax, dword [ebx + 0x21]
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0x5e]
cmp ecx, 1
je 0x5fbcfe
mov ebp, 1
jmp 0x5fb9c9
mov eax, dword [esp]
cmp dword [eax], 2
je 0x5fbcf4
jmp 0x5fb9bc
push str.Could_not_find_the_Collection_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa3b4
mov eax, dword [ebx + 0x39]
jmp 0x5fb85a
mov dword [ebx + 0x2d], ebx
mov ecx, 0x1c
mov dword [esp + 0x20], esi
call fcn.004dbdb8
test eax, eax
je 0x5fbd45
mov edx, 0xffffffff
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
jmp 0x5fbd47
xor eax, eax
mov dword [ebx + 0x5d], eax
jmp 0x5fb5c6
mov dword [ebx + 0x2d], ebx
mov ecx, 0x1c
mov dword [esp + 0x20], esi
call fcn.004dbdb8
test eax, eax
je 0x5fbd71
mov edx, 0xffffffff
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
jmp 0x5fbd73
xor eax, eax
mov dword [ebx + 0x5d], eax
jmp 0x5fba81
movzx eax, word [esi + 0x22]
test eax, eax
je 0x5fba9d
movzx ecx, word [esi + 2]
mov dword [esp + 0x20], esi
call fcn.0054169c
mov ebp, eax
cmp dword [ebp + 2], 0
je 0x5fbdac
push str.Only_ONE_part_name_allowed_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa3b4
movzx eax, word [ebp]
movzx edx, word [esi + 0x22]
cmp eax, edx
jne 0x5fbe67
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 0x5fbab5
mov ecx, eax
call fcn.0051d848
mov esi, eax
test esi, esi
je 0x5fbab5
mov ecx, 0x11d
call fcn.004dbdb8
mov edi, eax
test edi, edi
je 0x5fbe26
push 4
push 0
mov ecx, edi
call fcn.004fa37c
mov dword [edi], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [edi + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [edi + 0xb1], dx
jmp 0x5fbe28
xor edi, edi
push edi
mov ecx, dword [ebx + 0x51]
call fcn.005a515c
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.005fb240
mov ecx, esi
call fcn.004fa1a4
mov esi, eax
test esi, esi
jne 0x5fbde7
jmp 0x5fbab5
push str.Could_not_find_the_Repeated_Part_
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.004fa3b4
jmp 0x5fbdbc
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5fbab5
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.004dbdb8
mov ebx, eax
test ebx, ebx
je 0x5fbee5
push 4
push 0
mov ecx, ebx
call fcn.004fa37c
mov dword [ebx], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [ebx + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [ebx + 0xb1], dx
jmp 0x5fbee7
xor ebx, ebx
push ebx
mov ecx, dword [edi + 0x51]
call fcn.005a515c
cmp dword [edi + 0x5d], 0
je 0x5fbefa
mov ecx, edi
jmp 0x5fbefd
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.005fb240
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fbe8e
mov ebx, dword [esp]
jmp 0x5fbab5
mov dword [esp + 0x20], esi
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5fbaa9
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.004dbdb8
mov ebx, eax
test ebx, ebx
je 0x5fbfa5
push 4
push 0
mov ecx, ebx
call fcn.004fa37c
mov dword [ebx], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [ebx + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [ebx + 0xb1], dx
jmp 0x5fbfa7
xor ebx, ebx
push ebx
mov ecx, dword [edi + 0x51]
call fcn.005a515c
cmp dword [edi + 0x5d], 0
je 0x5fbfba
mov eax, edi
jmp 0x5fbfbd
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.005fb240
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5fbf4e
mov esi, dword [esp + 0x20]
mov ebx, dword [esp]
jmp 0x5fbaa9
mov ecx, 0x31
call fcn.004dbdb8
mov ecx, eax
test ecx, ecx
je 0x5fc01e
movzx eax, word [ebp]
mov edx, dword [ebx + 0x25]
movsx edi, word [edx + 0x3d]
inc edi
push ebx
push edi
push eax
call fcn.00616328
jmp 0x5fc020
xor eax, eax
push eax
mov ecx, dword [ebx + 0x6f]
call fcn.004ef260
jmp 0x5fb59d
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 0x5fc062
movzx edx, byte [ebx + 0x11b]
jmp 0x5fc087
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 0x5fc0a7
cmp ecx, 3
jne 0x5fc0ae
mov ecx, 1
jmp 0x5fc0b0
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 0x5fc144
movzx ecx, word [esi + 0xe]
test ecx, ecx
je 0x5fb408
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.0053f1cc
movzx ecx, word [esp + 0xc]
mov dword [esp + 0x20], esi
call fcn.0054c724
mov dword [ebx + 0x73], eax
movzx eax, byte [ebx + 0x11a]
movzx edx, byte [ebx + 0x11b]
jmp 0x5fb408
movzx ecx, byte [ebp + 0x11b]
test cl, 1
je 0x5fc0f1
or edx, 1
or edx, 0x10
mov byte [ebx + 0x11b], dl
jmp 0x5fc0f1
cmp dword [ebp + 0x39], 0
jne 0x5fb345
mov eax, dword [ebp + 0xf]
mov dword [ebx + 0x31], eax
movzx edx, byte [eax + 0xa]
and edx, 0x3f
cmp edx, 4
jne 0x5fb345
cmp dword [eax + 0x39], 0
jne 0x5fb345
mov eax, dword [eax + 0xf]
mov dword [ebx + 0x31], eax
movzx edx, byte [eax + 0xa]
and edx, 0x3f
cmp edx, 4
je 0x5fc17e
jmp 0x5fb345
mov ecx, dword [ebx + 0xf]
movzx edx, byte [ecx + 0xa]
and edx, 0x3f
cmp edx, 5
jne 0x5fc1b9
mov eax, dword [ecx + 0x29]
mov dword [ebx + 0x35], eax
jmp 0x5fb332
cmp edx, 4
jne 0x5fc1c9
mov eax, dword [ecx + 0x35]
mov dword [ebx + 0x35], eax
jmp 0x5fb332
mov eax, dword [eax + 0x31]
mov dword [ebx + 0x35], eax
jmp 0x5fb332
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 0x5fb31f
mov dword [ebx + 0x29], ebp
mov edx, dword [eax + 0x31]
mov dword [ebx + 0x35], edx
and byte [ebx + 0x11c], 0xfe
jmp 0x5fb31f
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x2c
call fcn.00697340
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 0x5fd1c6
cmp edx, 4
je 0x5fd185
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 0x5fd150
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 0x5fd10f
movzx ecx, word [esp + 0x4c]
call fcn.005ec188
mov dword [ebp + 0x21], eax
mov edx, dword [ebp + 0x25]
add edx, 0x9f
push edx
push ebp
mov ecx, eax
call fcn.005a535c
mov dword [ebp + 0x21], eax
mov ecx, eax
call fcn.005ec070
test eax, eax
je 0x5fc345
mov ecx, dword [ebp + 0x21]
call fcn.005ec070
push eax
mov ecx, ebp
call fcn.004fa3b4
mov eax, dword [ebp + 0x25]
add eax, 0x9f
push eax
mov ecx, dword [ebp + 0x21]
call fcn.005a5294
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 0x5fc37c
movzx eax, word [edx + 0x30]
push eax
push dword [edx + 0x36]
push ecx
mov ecx, ebp
call fcn.00623b90
mov esi, dword [ebp + 0x2d]
test esi, esi
je 0x5fcfaa
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 0x5fc3e8
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 0x5fc424
mov ebx, dword [ebp + 0x2d]
test ebx, ebx
je 0x5fc46a
movzx eax, byte [ebx + 0x11a]
test al, 0x40
je 0x5fc46a
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 0x5fc509
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 0x5fc509
push 0
push 0xc
mov ecx, 0x700968
call fcn.004e579c
test eax, eax
je 0x5fc4b6
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5fc4b8
xor eax, eax
mov dword [ebp + 0xb9], eax
push 0
push 0xc
mov ecx, 0x700968
call fcn.004e579c
test eax, eax
je 0x5fc4e0
mov dword [eax], 0x6b9578
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp 0x5fc4e2
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 0x5fc51b
cmp dword [ebp + 0x2d], 0
je 0x5fca8d
mov eax, esi
movzx edx, word [eax + 0xc]
test edx, edx
je 0x5fc583
push 0
push 0x14
mov ecx, 0x700aac
call fcn.004e579c
test eax, eax
je 0x5fc549
push 0
push 0x502868
push 0x1f
mov ecx, eax
call fcn.004efc28
jmp 0x5fc54b
xor eax, eax
mov dword [ebp + 0x6f], eax
mov eax, esi
movzx ecx, word [eax + 0xc]
call fcn.0054169c
mov ebx, eax
test ebx, ebx
je 0x5fc583
movzx eax, word [ebx]
mov word [esp + 0x2c], ax
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [ebp + 0x6f]
call fcn.004edfbc
test eax, eax
je 0x5fcf75
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fc55f
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 2]
test edx, edx
jne 0x5fc9f4
movzx edx, word [eax + 4]
test edx, edx
jne 0x5fc9f4
cmp dword [ebp + 0x2d], 0
je 0x5fccb5
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.004e579c
test eax, eax
je 0x5fc5ea
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5fc5ec
xor eax, eax
mov dword [ebp + 0x59], eax
movzx eax, byte [ebp + 9]
test al, 8
je 0x5fc62e
mov eax, esi
movzx eax, word [eax + 0x22]
test eax, eax
je 0x5fc634
mov eax, esi
movzx eax, word [eax + 0x28]
test eax, eax
je 0x5fc61e
mov word [ebp + 0x69], ax
or byte [ebp + 0x11b], 4
mov eax, esi
movzx eax, word [eax + 0x22]
jmp 0x5fc634
mov edx, esi
movzx eax, word [edx + 0x26]
mov word [ebp + 0x69], ax
movzx eax, word [edx + 0x22]
jmp 0x5fc634
mov eax, esi
movzx eax, word [eax + 0x22]
test eax, eax
jne 0x5fc65b
mov eax, esi
movzx ecx, word [eax + 6]
test ecx, ecx
jne 0x5fcb8b
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 8]
test ecx, ecx
jne 0x5fcac9
jmp 0x5fca65
mov eax, esi
movzx ecx, word [eax + 6]
call fcn.0054169c
mov edi, eax
test edi, edi
je 0x5fc6ec
movzx eax, word [edi]
movzx edx, word [esi + 0x22]
cmp eax, edx
je 0x5fc6f8
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e579c
test eax, eax
je 0x5fc69b
mov ecx, eax
call fcn.005f20f0
mov ebx, eax
jmp 0x5fc69d
xor ebx, ebx
push ebx
mov ecx, dword [ebp + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fc6e5
cmp ebp, dword [ebp + 0x2d]
je 0x5fc6de
mov ecx, ebx
call fcn.005f56f0
jmp 0x5fc6e5
or byte [ebx + 0x90], 0x80
mov edi, dword [edi + 2]
test edi, edi
jne 0x5fc670
push str.Could_not_find_the_Repeated_Line_
mov ecx, ebp
call fcn.004fa3b4
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 0x24]
movzx edx, word [0x7bd11c]
cmp ecx, edx
je 0x5fc830
movzx eax, word [0x7bd120]
cmp ecx, eax
jne 0x5fc736
push 0
push 1
mov ecx, dword [ebp + 0x25]
call fcn.004fe0b4
mov dword [ebp + 0x39], eax
test eax, eax
je 0x5fcc52
jmp 0x5fc845
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 0x5fc8ae
movzx esi, byte [ebp + 9]
test esi, 8
jne 0x5fc775
mov edx, dword [ebp + 0x31]
movzx ebx, byte [edx + 0xa]
and ebx, 0x3f
cmp ebx, 3
je 0x5fcc66
test esi, 8
je 0x5fc789
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 0x2a]
test edx, edx
jne 0x5fc791
mov eax, dword [ebp + 0x39]
jmp 0x5fc827
call fcn.0053e928
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.00540efc
test eax, eax
jne 0x5fc81b
mov eax, dword [esp + 0x20]
lea ecx, [eax + 0x38]
call fcn.0051a4d0
mov dword [esp + 4], eax
test eax, eax
jle 0x5fc81b
mov ecx, dword [ebp + 0x25]
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, 0xfffffffc
je 0x5fc7e9
mov ecx, dword [ebp + 0x25]
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, 0xfffffffa
jne 0x5fc80e
mov ecx, dword [ebp + 0x39]
mov ebx, dword [ecx + 0x25]
mov eax, dword [esp + 4]
cmp ebx, eax
jge 0x5fc81b
mov esi, eax
jmp 0x5fc7fe
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 0x5fc7fb
jmp 0x5fc81b
mov ecx, dword [ebp + 0x25]
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, 0xfffffff9
je 0x5fc7e9
mov ecx, dword [esp + 0x20]
call fcn.0053e920
mov eax, dword [ebp + 0x39]
test eax, eax
jne 0x5fc845
jmp 0x5fc8ae
push 1
mov ecx, dword [ebp + 0x25]
call fcn.004fe170
mov dword [ebp + 0x39], eax
test eax, eax
je 0x5fcca1
movzx edx, byte [ebp + 9]
test dl, 8
je 0x5fc856
movzx edx, word [ebp + 0x69]
test edx, edx
jne 0x5fc85b
mov edx, dword [eax + 0x25]
jmp 0x5fc873
mov edx, dword [eax + 0x25]
test edx, edx
jne 0x5fc873
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 0x5fd1dc
mov ecx, eax
call fcn.0051da30
movzx eax, byte [ebp + 9]
test al, 8
je 0x5fc8a1
push 8
push 0x2000
push ebp
mov ecx, dword [ebp + 0x39]
call fcn.004f7b54
jmp 0x5fc8ae
push 8
push 1
push ebp
mov ecx, dword [ebp + 0x39]
call fcn.004f7b54
mov ebx, dword [edi + 2]
test ebx, ebx
je 0x5fc918
mov edi, dword [esp + 0x60]
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e579c
test eax, eax
je 0x5fc8d9
mov ecx, eax
call fcn.005f20f0
mov esi, eax
jmp 0x5fc8db
xor esi, esi
push esi
mov ecx, dword [ebp + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fc911
mov ecx, esi
call fcn.005f56f0
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fc8b9
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 8]
test edx, edx
je 0x5fca65
push 0
lea ecx, [esp + 4]
call fcn.0050ab48
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.00502c2c
mov ecx, dword [ebp + 0x25]
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, 0xfffffff3
je 0x5fcc79
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.0054169c
mov esi, eax
test esi, esi
je 0x5fc9ea
mov ebx, dword [esp + 0x20]
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e579c
test eax, eax
je 0x5fc9a4
mov ecx, eax
call fcn.005f20f0
mov edi, eax
jmp 0x5fc9a6
xor edi, edi
push edi
mov ecx, dword [ebp + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fc9e3
test ebx, ebx
je 0x5fc9e3
mov ecx, edi
call fcn.005f56f0
mov esi, dword [esi + 2]
test esi, esi
jne 0x5fc984
lea ecx, [esp]
call fcn.0050ac00
jmp 0x5fca65
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e579c
test eax, eax
je 0x5fca0f
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5fca11
xor eax, eax
mov dword [ebp + 0x51], eax
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fca29
cmp dword [ebp + 0x2d], 0
je 0x5fccdd
movzx eax, byte [ebp + 9]
test al, 8
jne 0x5fca45
movzx eax, byte [ebp + 0x11b]
test al, 0x10
je 0x5fca45
cmp ebp, dword [ebp + 0x2d]
je 0x5fcd05
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 2]
test ecx, ecx
jne 0x5fcebd
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 4]
test ecx, ecx
jne 0x5fce05
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5fca83
mov eax, dword [ebp + 0x25]
add eax, 0x9f
push eax
mov edx, dword [esp + 0x28]
push edx
mov ecx, dword [ebp + 0x21]
call fcn.005a5278
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 0x5fcaac
movzx edx, word [eax + 4]
test edx, edx
jne 0x5fcaac
movzx edx, word [eax + 6]
test edx, edx
je 0x5fcab8
jmp 0x5fc51b
mov eax, dword [esp + 4]
test al, 2
jne 0x5fc51b
push str.Syntax_Error_
mov ecx, ebp
call fcn.004fa3b4
jmp 0x5fc51b
call fcn.0054169c
mov ebx, eax
test ebx, ebx
je 0x5fca65
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.004e579c
test eax, eax
je 0x5fcb0e
mov ecx, eax
call fcn.005f20f0
mov ebp, eax
jmp 0x5fcb10
xor ebp, ebp
push ebp
mov ecx, dword [edi + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [edi + 0x11b]
and eax, 0x10
cmp eax, 0x10
je 0x5fcb6d
push ebp
mov ecx, edi
call fcn.005fd86c
test eax, eax
je 0x5fcb5a
push 1
push ebp
mov ecx, dword [edi + 0x2d]
call fcn.005fd6f8
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fcad7
mov ebp, dword [esp]
jmp 0x5fca65
cmp edi, dword [edi + 0x2d]
je 0x5fcb7b
mov ecx, ebp
call fcn.005f56f0
jmp 0x5fcb43
mov eax, dword [edi + 0x21]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0x22]
test ecx, ecx
je 0x5fcb72
jmp 0x5fcb43
call fcn.0054169c
mov ebx, eax
test ebx, ebx
je 0x5fc646
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.004e579c
test eax, eax
je 0x5fcbd4
mov ecx, eax
call fcn.005f20f0
mov ebp, eax
jmp 0x5fcbd6
xor ebp, ebp
push ebp
mov ecx, dword [edi + 0x59]
call fcn.005a515c
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.005f2120
movzx eax, byte [edi + 0x11b]
and eax, 0x10
cmp eax, 0x10
je 0x5fcc34
push ebp
mov ecx, edi
call fcn.005fd86c
test eax, eax
je 0x5fcc21
push 1
push ebp
mov ecx, dword [edi + 0x2d]
call fcn.005fd6f8
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fcb9d
mov ebp, dword [esp]
jmp 0x5fc646
cmp edi, dword [edi + 0x2d]
je 0x5fcc42
mov ecx, ebp
call fcn.005f56f0
jmp 0x5fcc0a
mov eax, dword [edi + 0x21]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0x22]
test ecx, ecx
je 0x5fcc39
jmp 0x5fcc0a
push str.Could_not_find_the_Collection_
mov ecx, ebp
call fcn.004fa3b4
mov eax, dword [ebp + 0x39]
jmp 0x5fc827
mov edx, dword [eax]
push dword [ebp + 0x25]
mov ecx, eax
call dword [edx + 0x64]
movzx esi, byte [ebp + 9]
jmp 0x5fc775
mov eax, dword [ebp + 0x21]
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0x5e]
cmp ecx, 1
jne 0x5fcc93
mov eax, dword [esp]
cmp dword [eax], 2
jne 0x5fc961
mov eax, 1
mov dword [esp + 0x20], eax
jmp 0x5fc96d
push str.Could_not_find_the_Collection_
mov ecx, ebp
call fcn.004fa3b4
mov eax, dword [ebp + 0x39]
jmp 0x5fc827
mov dword [ebp + 0x2d], ebp
mov ecx, 0x1c
call fcn.004dbdb8
test eax, eax
je 0x5fccd3
mov edx, 0xffffffff
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
jmp 0x5fccd5
xor eax, eax
mov dword [ebp + 0x5d], eax
jmp 0x5fc5a9
mov dword [ebp + 0x2d], ebp
mov ecx, 0x1c
call fcn.004dbdb8
test eax, eax
je 0x5fccfb
mov edx, 0xffffffff
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
jmp 0x5fccfd
xor eax, eax
mov dword [ebp + 0x5d], eax
jmp 0x5fca29
mov eax, dword [esp + 0x28]
movzx edx, word [eax + 0x22]
test edx, edx
je 0x5fca45
movzx ecx, word [eax + 2]
call fcn.0054169c
mov edi, eax
cmp dword [edi + 2], 0
je 0x5fcd32
push str.Only_ONE_part_name_allowed_
mov ecx, ebp
call fcn.004fa3b4
movzx edx, word [edi]
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 0x22]
cmp edx, ecx
jne 0x5fcdf4
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 0x5fca65
mov ecx, eax
call fcn.0051d848
mov ebx, eax
test ebx, ebx
je 0x5fca65
mov ecx, 0x11d
call fcn.004dbdb8
mov esi, eax
test esi, esi
je 0x5fcdb4
push 4
push 0
mov ecx, esi
call fcn.004fa37c
mov dword [esi], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [esi + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [esi + 0xb1], dx
jmp 0x5fcdb6
xor esi, esi
push esi
mov ecx, dword [ebp + 0x51]
call fcn.005a515c
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.005fb240
mov ecx, ebx
call fcn.004fa1a4
mov ebx, eax
test ebx, ebx
jne 0x5fcd75
jmp 0x5fca65
push str.Could_not_find_the_Repeated_Part_
mov ecx, ebp
call fcn.004fa3b4
jmp 0x5fcd45
call fcn.0054169c
mov ebx, eax
test ebx, ebx
je 0x5fca65
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.004dbdb8
mov ebp, eax
test ebp, ebp
je 0x5fce6e
push 4
push 0
mov ecx, ebp
call fcn.004fa37c
mov dword [ebp], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [ebp + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [ebp + 0xb1], dx
jmp 0x5fce70
xor ebp, ebp
push ebp
mov ecx, dword [edi + 0x51]
call fcn.005a515c
cmp dword [edi + 0x5d], 0
je 0x5fce83
mov ecx, edi
jmp 0x5fce86
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.005fb240
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fce17
mov ebp, dword [esp]
jmp 0x5fca65
call fcn.0054169c
mov ebx, eax
test ebx, ebx
je 0x5fca55
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.004dbdb8
mov ebp, eax
test ebp, ebp
je 0x5fcf26
push 4
push 0
mov ecx, ebp
call fcn.004fa37c
mov dword [ebp], 0x7f28e0
movzx eax, word [0x7e9220]
mov word [ebp + 0xaf], ax
movzx edx, word [0x7e9220]
mov word [ebp + 0xb1], dx
jmp 0x5fcf28
xor ebp, ebp
push ebp
mov ecx, dword [edi + 0x51]
call fcn.005a515c
cmp dword [edi + 0x5d], 0
je 0x5fcf3b
mov eax, edi
jmp 0x5fcf3e
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.005fb240
mov ebx, dword [ebx + 2]
test ebx, ebx
jne 0x5fcecf
mov ebp, dword [esp]
jmp 0x5fca55
mov ecx, 0x31
call fcn.004dbdb8
test eax, eax
je 0x5fcf9a
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.00616328
jmp 0x5fcf9c
xor eax, eax
push eax
mov ecx, dword [ebp + 0x6f]
call fcn.004ef260
jmp 0x5fc57c
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 0x5fcfeb
movzx eax, byte [ebp + 0x11b]
mov dword [esp + 0x20], eax
jmp 0x5fd014
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 0x5fd040
cmp eax, 3
jne 0x5fd047
mov eax, 1
jmp 0x5fd049
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 0x5fd0ee
mov eax, esi
movzx edx, word [eax + 0xe]
test edx, edx
je 0x5fc3d3
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.0053f1cc
movzx ecx, word [esp + 0xc]
call fcn.0054c724
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 0x5fc3d3
movzx eax, byte [ebx + 0x11b]
test al, 1
je 0x5fd099
mov eax, dword [esp + 0x20]
or eax, 1
or eax, 0x10
mov dword [esp + 0x20], eax
mov byte [ebp + 0x11b], al
jmp 0x5fd099
cmp dword [ebx + 0x39], 0
jne 0x5fc308
mov eax, dword [ebx + 0xf]
mov dword [ebp + 0x31], eax
movzx edx, byte [eax + 0xa]
and edx, 0x3f
cmp edx, 4
jne 0x5fc308
cmp dword [eax + 0x39], 0
jne 0x5fc308
mov eax, dword [eax + 0xf]
mov dword [ebp + 0x31], eax
movzx edx, byte [eax + 0xa]
and edx, 0x3f
cmp edx, 4
je 0x5fd12f
jmp 0x5fc308
mov ecx, dword [ebp + 0xf]
movzx edx, byte [ecx + 0xa]
and edx, 0x3f
cmp edx, 5
jne 0x5fd16a
mov eax, dword [ecx + 0x29]
mov dword [ebp + 0x35], eax
jmp 0x5fc2f5
cmp edx, 4
jne 0x5fd17a
mov eax, dword [ecx + 0x35]
mov dword [ebp + 0x35], eax
jmp 0x5fc2f5
mov eax, dword [eax + 0x31]
mov dword [ebp + 0x35], eax
jmp 0x5fc2f5
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 0x5fc2e2
mov dword [ebp + 0x29], ebx
mov edx, dword [eax + 0x31]
mov dword [ebp + 0x35], edx
and byte [ebp + 0x11c], 0xfe
jmp 0x5fc2e2