Function at 0x514180
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fe7d2
mov eax, dword fs:[0]
push eax
sub esp, 0xc40
mov eax, dword [0x654c54]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb24], ecx
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ecx, dword [0x611c1c]
push ecx
push 0
mov edx, dword [ebp - 0xb24]
add edx, 0x68
push edx
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.0040ac90
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
push eax
push 0x606ac4
mov ecx, dword [ebp + 8]
add ecx, 0x20
call fcn.0040b3b0
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x630]
push ecx
push 0x606ac4
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.0040b3b0
mov ecx, dword [ebp + 8]
add ecx, 0x74
call fcn.004150e0
mov ecx, dword [ebp + 8]
add ecx, 0x94
call fcn.004150e0
mov edx, dword [0x611c1c]
push edx
push 0
mov ecx, dword [ebp + 8]
add ecx, 0x58
call fcn.004078b0
mov ecx, dword [ebp + 8]
add ecx, 0xb4
call fcn.00407950
mov ecx, dword [ebp + 8]
add ecx, 0xd0
call fcn.00407950
mov byte [ebp - 0x4e], 0
mov byte [ebp - 0x2d], 0
mov byte [ebp - 0x4d], 0
mov byte [ebp - 0x8d], 0
mov byte [ebp - 0x6d], 0
lea eax, [ebp - 0x675]
mov dword [ebp - 0x674], eax
push 0
push 0
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x681]
mov dword [ebp - 0x680], ecx
push 0
push 0
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov byte [ebp - 4], 1
lea edx, [ebp - 0x68d]
mov dword [ebp - 0x68c], edx
push 0
push 0
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 2
lea eax, [ebp - 0x699]
mov dword [ebp - 0x698], eax
push 0
push 0
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0xb24]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xb24]
mov edx, dword [eax + 0x18]
call edx
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0
je 0x514346
cmp dword [ebp - 0xb28], 1
je 0x514355
cmp dword [ebp - 0xb28], 3
je 0x5143e6
jmp 0x514477
mov dword [ebp - 0x94], 1
jmp 0x514481
push str.Illegal_Character
lea ecx, [ebp - 0x130]
call fcn.0040dc00
mov byte [ebp - 4], 4
lea eax, [ebp - 0x130]
push eax
mov ecx, dword [ebp - 0xb24]
call fcn.00513bc0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x130]
call fcn.00407a40
mov byte [ebp - 0x131], 0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x131]
jmp 0x5161f9
push str.Internal_Error
lea ecx, [ebp - 0x150]
call fcn.0040dc00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x150]
push ecx
mov ecx, dword [ebp - 0xb24]
call fcn.00513bc0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x150]
call fcn.00407a40
mov byte [ebp - 0x151], 0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x151]
jmp 0x5161f9
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x94], 1
jne 0x515e6d
mov byte [ebp - 0x99], 0
movzx edx, word [ebp - 0x98]
cmp edx, 0xa
jne 0x5144b6
mov eax, dword [ebp - 0xb24]
mov ecx, dword [eax + 0x60]
add ecx, 1
mov edx, dword [ebp - 0xb24]
mov dword [edx + 0x60], ecx
mov eax, dword [ebp + 8]
cmp dword [eax], 5
jne 0x514665
mov ecx, dword [ebp + 8]
add ecx, 0x58
mov dword [ebp - 0xa4], ecx
mov dx, word [ebp - 0x98]
mov word [ebp - 0x6be], dx
movzx eax, word [ebp - 0x6be]
push eax
push 1
mov ecx, dword [ebp - 0xa4]
call fcn.0040abd0
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x6c4], edx
mov eax, dword [ebp - 0x6c4]
mov dword [ebp - 0xa0], eax
movzx ecx, word [ebp - 0x98]
cmp ecx, 0x3e
jne 0x514660
cmp dword [ebp - 0xa0], 3
jl 0x514660
mov edx, dword [ebp - 0xa0]
sub edx, 2
mov dword [ebp - 0x6c8], edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x6c8]
cmp ecx, dword [eax + 0x14]
jbe 0x51454e
call fcn.005cbe1d
mov edx, dword [ebp - 0xa4]
cmp dword [edx + 0x18], 8
jb 0x51456b
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xb2c], ecx
jmp 0x51457a
mov edx, dword [ebp - 0xa4]
add edx, 4
mov dword [ebp - 0xb2c], edx
mov eax, dword [ebp - 0x6c8]
mov ecx, dword [ebp - 0xb2c]
movzx edx, word [ecx + eax*2]
cmp edx, 0x2d
jne 0x514660
mov eax, dword [ebp - 0xa0]
sub eax, 3
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x6cc]
cmp edx, dword [ecx + 0x14]
jbe 0x5145b8
call fcn.005cbe1d
mov eax, dword [ebp - 0xa4]
cmp dword [eax + 0x18], 8
jb 0x5145d5
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xb30], edx
jmp 0x5145e4
mov eax, dword [ebp - 0xa4]
add eax, 4
mov dword [ebp - 0xb30], eax
mov ecx, dword [ebp - 0x6cc]
mov edx, dword [ebp - 0xb30]
movzx eax, word [edx + ecx*2]
cmp eax, 0x2d
jne 0x514660
mov ecx, dword [ebp - 0xa0]
sub ecx, 3
push ecx
push 0
lea edx, [ebp - 0x170]
push edx
mov ecx, dword [ebp - 0xa4]
call fcn.004308d0
mov dword [ebp - 0xb34], eax
mov eax, dword [ebp - 0xb34]
mov dword [ebp - 0x6d0], eax
mov byte [ebp - 4], 6
mov ecx, dword [0x611c1c]
push ecx
push 0
mov edx, dword [ebp - 0x6d0]
push edx
mov ecx, dword [ebp - 0xa4]
call fcn.0040ac90
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x170]
call fcn.00407a40
jmp 0x515f0b
jmp 0x515e68
mov eax, dword [ebp + 8]
cmp dword [eax], 4
jne 0x5147df
mov ecx, dword [ebp + 8]
add ecx, 0x20
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x6d4], eax
cmp dword [ebp - 0x6d4], 0
jne 0x5146a6
movzx ecx, word [ebp - 0x98]
push ecx
call fcn.005d21f6
add esp, 4
test eax, eax
je 0x5146b2
mov edx, dword [ebp + 8]
add edx, 0x58
mov dword [ebp - 0xac], edx
mov ax, word [ebp - 0x98]
mov word [ebp - 0x6d6], ax
movzx ecx, word [ebp - 0x6d6]
push ecx
push 1
mov ecx, dword [ebp - 0xac]
call fcn.0040abd0
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x6dc], eax
mov ecx, dword [ebp - 0x6dc]
mov dword [ebp - 0xa8], ecx
movzx edx, word [ebp - 0x98]
cmp edx, 0x3e
jne 0x5147da
cmp dword [ebp - 0xa8], 2
jl 0x5147da
mov eax, dword [ebp - 0xa8]
sub eax, 2
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x6e0]
cmp edx, dword [ecx + 0x14]
jbe 0x514732
call fcn.005cbe1d
mov eax, dword [ebp - 0xac]
cmp dword [eax + 0x18], 8
jb 0x51474f
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xb38], edx
jmp 0x51475e
mov eax, dword [ebp - 0xac]
add eax, 4
mov dword [ebp - 0xb38], eax
mov ecx, dword [ebp - 0x6e0]
mov edx, dword [ebp - 0xb38]
movzx eax, word [edx + ecx*2]
cmp eax, 0x3f
jne 0x5147da
mov ecx, dword [ebp - 0xa8]
sub ecx, 2
push ecx
push 0
lea edx, [ebp - 0x18c]
push edx
mov ecx, dword [ebp - 0xac]
call fcn.004308d0
mov dword [ebp - 0xb3c], eax
mov eax, dword [ebp - 0xb3c]
mov dword [ebp - 0x6e4], eax
mov byte [ebp - 4], 7
mov ecx, dword [0x611c1c]
push ecx
push 0
mov edx, dword [ebp - 0x6e4]
push edx
mov ecx, dword [ebp - 0xac]
call fcn.0040ac90
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x18c]
call fcn.00407a40
jmp 0x515f0b
jmp 0x515e68
movzx eax, word [ebp - 0x98]
cmp eax, 0x22
jne 0x514821
movzx ecx, byte [ebp - 0x2d]
neg ecx
sbb ecx, ecx
add ecx, 1
mov byte [ebp - 0x2d], cl
mov edx, dword [ebp + 8]
cmp dword [edx], 0
je 0x514809
mov eax, dword [ebp + 8]
cmp dword [eax], 3
jne 0x514810
mov byte [ebp - 0x99], 1
movzx ecx, byte [ebp - 0x2d]
test ecx, ecx
jne 0x51481c
mov byte [ebp - 0x4d], 1
jmp 0x515a84
movzx edx, byte [ebp - 0x2d]
test edx, edx
jne 0x515a7d
movzx eax, word [ebp - 0x98]
cmp eax, 0x3c
jne 0x514910
mov ecx, dword [ebp + 8]
cmp dword [ecx], 3
jne 0x514864
lea edx, [ebp - 0x98]
push edx
mov eax, dword [ebp - 0xb24]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xb24]
mov eax, dword [edx + 0x1c]
call eax
jmp 0x515f0b
mov ecx, dword [ebp + 8]
cmp dword [ecx], 0
jne 0x51487a
mov edx, dword [ebp + 8]
mov dword [edx], 1
jmp 0x51490b
push str.Unexpected__
lea ecx, [ebp - 0x1a8]
call fcn.0040dc00
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0xb24]
call fcn.00513bc0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x1a8]
call fcn.00407a40
mov byte [ebp - 0x1a9], 0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x1a9]
jmp 0x5161f9
jmp 0x515a7b
movzx ecx, word [ebp - 0x98]
cmp ecx, 0x3e
jne 0x515812
mov edx, dword [ebp + 8]
cmp dword [edx], 1
jne 0x5151e1
mov byte [ebp - 0xad], 0
push 0x615c40
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x6f8], eax
mov eax, dword [ebp - 0x6f8]
push eax
push 0x615c40
mov ecx, dword [ebp - 0x78]
push ecx
push 0
lea ecx, [ebp - 0x8c]
call fcn.00403f30
neg eax
sbb eax, eax
add eax, 1
movzx edx, al
test edx, edx
je 0x51497d
mov byte [ebp - 0xad], 1
jmp 0x5150af
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x6fc], eax
cmp dword [ebp - 0x6fc], 0
jbe 0x514c00
lea ecx, [ebp - 0x8c]
push ecx
lea edx, [ebp - 0x1c8]
push edx
call fcn.00529610
add esp, 8
mov dword [ebp - 0xb40], eax
mov eax, dword [ebp - 0xb40]
mov dword [ebp - 0x700], eax
mov byte [ebp - 4], 9
mov ecx, dword [0x611c1c]
push ecx
push 0
mov edx, dword [ebp - 0x700]
push edx
lea ecx, [ebp - 0x2c]
call fcn.0040ac90
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x1c8]
call fcn.00407a40
mov eax, dword [0x611c1c]
push eax
push 0
lea ecx, [ebp - 0x8c]
push ecx
lea ecx, [ebp - 0x6c]
call fcn.0040ac90
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x1e4]
push eax
call fcn.00529610
add esp, 8
mov dword [ebp - 0xb44], eax
mov ecx, dword [ebp - 0xb44]
mov dword [ebp - 0xb48], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0xb48]
push edx
lea eax, [ebp - 0x200]
push eax
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xb4c], eax
mov ecx, dword [ebp - 0xb4c]
mov dword [ebp - 0xb50], ecx
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x8c]
push edx
lea eax, [ebp - 0x21c]
push eax
call fcn.00529610
add esp, 8
mov dword [ebp - 0xb54], eax
mov ecx, dword [ebp - 0xb54]
mov dword [ebp - 0xb58], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xb58]
push edx
lea eax, [ebp - 0x238]
push eax
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xb5c], eax
mov ecx, dword [ebp - 0xb5c]
mov dword [ebp - 0xb60], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0xb50]
push edx
mov eax, dword [ebp - 0xb60]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xb24]
call fcn.00513c60
mov byte [ebp - 4], 0xc
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00407a40
mov byte [ebp - 4], 0xb
push 0
push 1
lea ecx, [ebp - 0x21c]
call fcn.00407a40
mov byte [ebp - 4], 0xa
push 0
push 1
lea ecx, [ebp - 0x200]
call fcn.00407a40
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x1e4]
call fcn.00407a40
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x254]
push eax
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xb64], eax
mov ecx, dword [ebp - 0xb64]
mov dword [ebp - 0xb68], ecx
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x8c]
push edx
lea eax, [ebp - 0x270]
push eax
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xb6c], eax
mov ecx, dword [ebp - 0xb6c]
mov dword [ebp - 0xb70], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xb68]
push edx
mov eax, dword [ebp - 0xb70]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xb24]
call fcn.00513e60
mov byte [ebp - 4], 0xe
push 0
push 1
lea ecx, [ebp - 0x270]
call fcn.00407a40
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x254]
call fcn.00407a40
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x704], eax
mov edx, dword [ebp - 0x704]
push edx
push 0x606ac4
lea ecx, [ebp - 0x8c]
call fcn.0040b3b0
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x708], eax
mov eax, dword [ebp - 0x708]
push eax
push 0x606ac4
lea ecx, [ebp - 0x4c]
call fcn.0040b3b0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x70c], ecx
cmp dword [ebp - 0x70c], 0
jbe 0x514faf
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x28c]
push eax
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xb74], eax
mov ecx, dword [ebp - 0xb74]
mov dword [ebp - 0xb78], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0xb78]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0x74
call fcn.0041d590
mov dword [ebp - 0x790], eax
push 0
push 0
lea ecx, [ebp - 0xcc]
call fcn.00407a40
mov eax, dword [0x611c1c]
push eax
push 0
mov ecx, dword [ebp - 0x790]
push ecx
lea ecx, [ebp - 0xcc]
call fcn.0040ac90
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0x28c]
call fcn.00407a40
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jle 0x514dfc
mov ecx, dword [ebp - 0xd0]
sub ecx, 1
mov dword [ebp - 0x798], ecx
mov edx, dword [ebp - 0x798]
cmp edx, dword [ebp - 0xb8]
jbe 0x514cda
call fcn.005cbe1d
cmp dword [ebp - 0xb4], 8
jb 0x514cf1
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xb7c], eax
jmp 0x514cfd
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xb7c], ecx
mov edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0xb7c]
movzx ecx, word [eax + edx*2]
cmp ecx, 0x2f
jne 0x514dfc
mov edx, dword [ebp - 0xd0]
sub edx, 1
push edx
push 0
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0xcc]
call fcn.004308d0
mov dword [ebp - 0xb80], eax
mov ecx, dword [ebp - 0xb80]
mov dword [ebp - 0xb84], ecx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0xb84]
push edx
lea eax, [ebp - 0x2c4]
push eax
call fcn.00529610
add esp, 8
mov dword [ebp - 0xb88], eax
mov ecx, dword [ebp - 0xb88]
mov dword [ebp - 0xb8c], ecx
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x2e0]
push eax
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xb90], eax
mov ecx, dword [ebp - 0xb90]
mov dword [ebp - 0xb94], ecx
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0xb8c]
push edx
mov eax, dword [ebp - 0xb94]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xb24]
call fcn.00513c60
mov byte [ebp - 4], 0x14
push 0
push 1
lea ecx, [ebp - 0x2e0]
call fcn.00407a40
mov byte [ebp - 4], 0x13
push 0
push 1
lea ecx, [ebp - 0x2c4]
call fcn.00407a40
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0x2a8]
call fcn.00407a40
mov byte [ebp - 0xad], 1
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x2fc]
push eax
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xb98], eax
mov ecx, dword [ebp - 0xb98]
mov dword [ebp - 0xb9c], ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0xb9c]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0x94
call fcn.0041d590
mov dword [ebp - 0x81c], eax
mov eax, dword [0x611c1c]
push eax
push 0
mov ecx, dword [ebp - 0x81c]
push ecx
lea ecx, [ebp - 0xcc]
call fcn.0040ac90
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0x2fc]
call fcn.00407a40
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x820], edx
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jle 0x514f97
mov ecx, dword [ebp - 0xd0]
sub ecx, 1
mov dword [ebp - 0x824], ecx
mov edx, dword [ebp - 0x824]
cmp edx, dword [ebp - 0xb8]
jbe 0x514eb4
call fcn.005cbe1d
cmp dword [ebp - 0xb4], 8
jb 0x514ecb
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xba0], eax
jmp 0x514ed7
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xba0], ecx
mov edx, dword [ebp - 0x824]
mov eax, dword [ebp - 0xba0]
movzx ecx, word [eax + edx*2]
cmp ecx, 0x2f
jne 0x514f97
mov edx, dword [ebp - 0xd0]
sub edx, 1
push edx
push 0
lea eax, [ebp - 0x318]
push eax
lea ecx, [ebp - 0xcc]
call fcn.004308d0
mov dword [ebp - 0xba4], eax
mov ecx, dword [ebp - 0xba4]
mov dword [ebp - 0xba8], ecx
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x334]
push eax
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xbac], eax
mov ecx, dword [ebp - 0xbac]
mov dword [ebp - 0xbb0], ecx
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0xba8]
push edx
mov eax, dword [ebp - 0xbb0]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xb24]
call fcn.00513e60
mov byte [ebp - 4], 0x17
push 0
push 1
lea ecx, [ebp - 0x334]
call fcn.00407a40
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0x318]
call fcn.00407a40
mov byte [ebp - 0xad], 1
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0xcc]
call fcn.00407a40
jmp 0x5150af
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x828], eax
mov ecx, dword [ebp - 0x828]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0
jle 0x5150af
mov edx, dword [ebp - 0xd4]
sub edx, 1
mov dword [ebp - 0x830], edx
mov eax, dword [ebp + 8]
add eax, 0x20
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x82c]
mov edx, dword [ebp - 0x830]
cmp edx, dword [ecx + 0x14]
jbe 0x515005
call fcn.005cbe1d
mov eax, dword [ebp - 0x82c]
cmp dword [eax + 0x18], 8
jb 0x515022
mov ecx, dword [ebp - 0x82c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xbb4], edx
jmp 0x515031
mov eax, dword [ebp - 0x82c]
add eax, 4
mov dword [ebp - 0xbb4], eax
mov ecx, dword [ebp - 0x830]
mov edx, dword [ebp - 0xbb4]
movzx eax, word [edx + ecx*2]
cmp eax, 0x2f
jne 0x5150af
mov ecx, dword [ebp - 0xd4]
sub ecx, 1
push ecx
push 0
lea edx, [ebp - 0x350]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0x20
call fcn.004308d0
mov dword [ebp - 0xbb8], eax
mov eax, dword [ebp - 0xbb8]
mov dword [ebp - 0x834], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [0x611c1c]
push ecx
push 0
mov edx, dword [ebp - 0x834]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0x20
call fcn.0040ac90
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x350]
call fcn.00407a40
mov byte [ebp - 0xad], 1
movzx eax, byte [ebp - 0xad]
test eax, eax
je 0x515174
mov ecx, dword [ebp + 8]
add ecx, 0x20
push ecx
push 0x615d18
lea edx, [ebp - 0x36c]
push edx
call fcn.0040f290
add esp, 0xc
mov dword [ebp - 0xbbc], eax
mov eax, dword [ebp - 0xbbc]
mov dword [ebp - 0xbc0], eax
mov byte [ebp - 4], 0x1a
push 0x615d14
mov ecx, dword [ebp - 0xbc0]
push ecx
lea edx, [ebp - 0xf0]
push edx
call fcn.004c8bc0
add esp, 0xc
mov byte [ebp - 4], 0x1c
push 0
push 1
lea ecx, [ebp - 0x36c]
call fcn.00407a40
lea eax, [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0xb24]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xb24]
mov eax, dword [edx + 0x20]
call eax
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x838]
push ecx
push 0x606ac4
lea ecx, [ebp - 0x8c]
call fcn.0040b3b0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0xf0]
call fcn.00407a40
mov edx, dword [ebp - 0xb24]
mov eax, dword [edx + 0x7c]
mov dword [ebp - 0x83c], eax
cmp dword [ebp - 0x83c], 0
je 0x5151b9
push 0x615c40
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x840]
push ecx
push 0x615c40
mov ecx, dword [ebp - 0xb24]
add ecx, 0x68
call fcn.0040b280
mov edx, dword [0x611c1c]
push edx
push 0
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
mov ecx, dword [ebp - 0xb24]
add ecx, 0x68
call fcn.0040b160
jmp 0x515f0b
mov ecx, dword [ebp + 8]
cmp dword [ecx], 2
jne 0x51577c
mov edx, dword [0x611c1c]
mov dword [ebp - 0x848], edx
mov eax, 0x2f
mov word [ebp - 0x842], ax
push 1
mov ecx, dword [ebp - 0x848]
push ecx
lea edx, [ebp - 0x842]
push edx
mov ecx, dword [ebp - 0xb24]
add ecx, 0x68
call fcn.00510690
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0xffffffff
jne 0x5152e3
mov eax, dword [ebp - 0xb24]
mov ecx, dword [eax + 0x7c]
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 0
jne 0x5152e3
push str.Unexpected_End
lea ecx, [ebp - 0x388]
call fcn.0040dc00
mov byte [ebp - 4], 0x1d
lea edx, [ebp - 0x388]
push edx
mov ecx, dword [ebp - 0xb24]
call fcn.00513bc0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x388]
call fcn.00407a40
mov byte [ebp - 0x389], 0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x389]
jmp 0x5161f9
mov eax, dword [0x611c1c]
push eax
mov ecx, dword [ebp - 0xf4]
add ecx, 1
push ecx
lea edx, [ebp - 0x110]
push edx
mov ecx, dword [ebp - 0xb24]
add ecx, 0x68
call fcn.004308d0
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
lea ecx, [ebp - 0x110]
call fcn.00406c00
neg eax
sbb eax, eax
add eax, 1
movzx ecx, al
neg ecx
sbb ecx, ecx
add ecx, 1
movzx edx, cl
test edx, edx
je 0x5154c9
mov eax, dword [ebp + 8]
add eax, 0x20
push eax
push str.End_
lea ecx, [ebp - 0x3a8]
push ecx
call fcn.0040f290
add esp, 0xc
mov dword [ebp - 0xbc4], eax
mov edx, dword [ebp - 0xbc4]
mov dword [ebp - 0xbc8], edx
mov byte [ebp - 4], 0x1f
push 0x615cb8
mov eax, dword [ebp - 0xbc8]
push eax
lea ecx, [ebp - 0x3c4]
push ecx
call fcn.004c8bc0
add esp, 0xc
mov dword [ebp - 0xbcc], eax
mov edx, dword [ebp - 0xbcc]
mov dword [ebp - 0xbd0], edx
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0xbd0]
push ecx
lea edx, [ebp - 0x3e0]
push edx
call fcn.0040f4f0
add esp, 0xc
mov dword [ebp - 0xbd4], eax
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xbd8], eax
mov byte [ebp - 4], 0x21
push 0x615cb4
mov ecx, dword [ebp - 0xbd8]
push ecx
lea edx, [ebp - 0x3fc]
push edx
call fcn.004c8bc0
add esp, 0xc
mov dword [ebp - 0xbdc], eax
mov eax, dword [ebp - 0xbdc]
mov dword [ebp - 0xbe0], eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0xbe0]
push ecx
mov ecx, dword [ebp - 0xb24]
call fcn.00513bc0
mov byte [ebp - 4], 0x21
push 0
push 1
lea ecx, [ebp - 0x3fc]
call fcn.00407a40
mov byte [ebp - 4], 0x20
push 0
push 1
lea ecx, [ebp - 0x3e0]
call fcn.00407a40
mov byte [ebp - 4], 0x1f
push 0
push 1
lea ecx, [ebp - 0x3c4]
call fcn.00407a40
mov byte [ebp - 4], 0x1e
push 0
push 1
lea ecx, [ebp - 0x3a8]
call fcn.00407a40
mov byte [ebp - 0x3fd], 0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x110]
call fcn.00407a40
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x3fd]
jmp 0x5161f9
cmp dword [ebp - 0xf4], 0xffffffff
jne 0x5155fc
mov edx, dword [ebp - 0xb24]
add edx, 0x68
mov dword [ebp - 0x868], edx
mov eax, dword [ebp - 0x868]
cmp dword [eax + 0x18], 8
jb 0x515502
mov ecx, dword [ebp - 0x868]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xbe4], edx
jmp 0x515511
mov eax, dword [ebp - 0x868]
add eax, 4
mov dword [ebp - 0xbe4], eax
mov ecx, dword [ebp - 0x868]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0xbe4]
lea ecx, [eax + edx*2]
mov dword [ebp - 0x864], ecx
mov edx, dword [ebp - 0x868]
push edx
mov eax, dword [ebp - 0x864]
push eax
lea ecx, [ebp - 0x410]
call fcn.00546380
mov ecx, dword [ebp - 0x410]
mov edx, dword [ebp - 0x40c]
mov dword [ebp - 0x408], ecx
mov dword [ebp - 0x404], edx
mov eax, dword [ebp - 0xb24]
add eax, 0x68
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
cmp dword [ecx + 0x18], 8
jb 0x515586
mov edx, dword [ebp - 0x870]
mov eax, dword [edx + 4]
mov dword [ebp - 0x86c], eax
jmp 0x515595
mov ecx, dword [ebp - 0x870]
add ecx, 4
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x870]
push edx
mov eax, dword [ebp - 0x86c]
push eax
lea ecx, [ebp - 0x420]
call fcn.00546380
mov ecx, dword [ebp - 0x420]
mov edx, dword [ebp - 0x41c]
mov dword [ebp - 0x418], ecx
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x404]
push eax
mov ecx, dword [ebp - 0x408]
push ecx
mov edx, dword [ebp - 0x414]
push edx
mov eax, dword [ebp - 0x418]
push eax
lea ecx, [ebp - 0x428]
push ecx
mov ecx, dword [ebp - 0xb24]
add ecx, 0x68
call fcn.0053b690
jmp 0x51575f
mov edx, dword [ebp - 0xb24]
add edx, 0x68
mov dword [ebp - 0x8b0], edx
mov eax, dword [ebp - 0x8b0]
cmp dword [eax + 0x18], 8
jb 0x515628
mov ecx, dword [ebp - 0x8b0]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xbe8], edx
jmp 0x515637
mov eax, dword [ebp - 0x8b0]
add eax, 4
mov dword [ebp - 0xbe8], eax
mov ecx, dword [ebp - 0x8b0]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0xbe8]
lea ecx, [eax + edx*2]
mov dword [ebp - 0x8ac], ecx
mov edx, dword [ebp - 0x8b0]
push edx
mov eax, dword [ebp - 0x8ac]
push eax
lea ecx, [ebp - 0x438]
call fcn.00546380
mov ecx, dword [ebp - 0x438]
mov edx, dword [ebp - 0x434]
mov dword [ebp - 0x430], ecx
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0xb24]
add eax, 0x68
mov dword [ebp - 0x8b8], eax
mov ecx, dword [ebp - 0x8b8]
cmp dword [ecx + 0x18], 8
jb 0x5156ac
mov edx, dword [ebp - 0x8b8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x8b4], eax
jmp 0x5156bb
mov ecx, dword [ebp - 0x8b8]
add ecx, 4
mov dword [ebp - 0x8b4], ecx
mov edx, dword [ebp - 0x8b8]
push edx
mov eax, dword [ebp - 0x8b4]
push eax
lea ecx, [ebp - 0x448]
call fcn.00546380
mov ecx, dword [ebp - 0x448]
mov edx, dword [ebp - 0x444]
mov dword [ebp - 0x8c0], ecx
mov dword [ebp - 0x8bc], edx
mov eax, dword [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.00546410
mov ecx, dword [ebp - 0x8c0]
mov edx, dword [ebp - 0x8bc]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x450]
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x42c]
push edx
mov eax, dword [ebp - 0x430]
push eax
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x440]
push edx
lea eax, [ebp - 0x458]
push eax
mov ecx, dword [ebp - 0xb24]
add ecx, 0x68
call fcn.0053b690
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x110]
call fcn.00407a40
jmp 0x515f0b
push 0x615c94
lea ecx, [ebp - 0x474]
call fcn.0040dc00
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x474]
push ecx
mov ecx, dword [ebp - 0xb24]
call fcn.00513bc0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x474]
call fcn.00407a40
mov byte [ebp - 0x475], 0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x475]
jmp 0x5161f9
movzx edx, word [ebp - 0x98]
cmp edx, 0x2f
jne 0x515884
mov eax, dword [ebp + 8]
cmp dword [eax], 1
jne 0x515884
mov ecx, dword [ebp + 8]
add ecx, 0x20
mov dword [ebp - 0x910], ecx
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x90c], eax
mov edx, dword [ebp - 0x90c]
push edx
push 0x606ac4
mov eax, dword [ebp - 0x910]
mov ecx, dword [eax + 0x14]
push ecx
push 0
mov ecx, dword [ebp - 0x910]
call fcn.00403f30
neg eax
sbb eax, eax
add eax, 1
movzx edx, al
test edx, edx
je 0x515884
mov eax, dword [ebp + 8]
mov dword [eax], 2
jmp 0x515a7b
movzx ecx, word [ebp - 0x98]
cmp ecx, 0x3f
jne 0x5158f6
mov edx, dword [ebp + 8]
cmp dword [edx], 1
jne 0x5158f6
mov eax, dword [ebp + 8]
add eax, 0x20
mov dword [ebp - 0x918], eax
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x914], eax
mov ecx, dword [ebp - 0x914]
push ecx
push 0x606ac4
mov edx, dword [ebp - 0x918]
mov eax, dword [edx + 0x14]
push eax
push 0
mov ecx, dword [ebp - 0x918]
call fcn.00403f30
neg eax
sbb eax, eax
add eax, 1
movzx ecx, al
test ecx, ecx
je 0x5158f6
mov edx, dword [ebp + 8]
mov dword [edx], 4
jmp 0x515a7b
movzx eax, word [ebp - 0x98]
push eax
call fcn.005d21f6
add esp, 4
test eax, eax
je 0x5159d2
mov ecx, dword [ebp + 8]
add ecx, 0x20
mov dword [ebp - 0x920], ecx
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x91c], eax
mov edx, dword [ebp - 0x91c]
push edx
push 0x606ac4
mov eax, dword [ebp - 0x920]
mov ecx, dword [eax + 0x14]
push ecx
push 0
mov ecx, dword [ebp - 0x920]
call fcn.00403f30
neg eax
sbb eax, eax
add eax, 1
movzx edx, al
neg edx
sbb edx, edx
add edx, 1
movzx eax, dl
test eax, eax
je 0x51596c
mov byte [ebp - 0x4e], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx], 1
jne 0x5159cd
mov edx, dword [ebp + 8]
add edx, 0x20
mov dword [ebp - 0x928], edx
push 0x615c8c
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x924], eax
mov eax, dword [ebp - 0x924]
push eax
push 0x615c8c
mov ecx, dword [ebp - 0x928]
mov edx, dword [ecx + 0x14]
push edx
push 0
mov ecx, dword [ebp - 0x928]
call fcn.00403f30
neg eax
sbb eax, eax
add eax, 1
movzx eax, al
test eax, eax
je 0x5159cd
mov ecx, dword [ebp + 8]
mov dword [ecx], 5
jmp 0x515a7b
movzx edx, word [ebp - 0x98]
cmp edx, 0x20
jle 0x5159ea
mov byte [ebp - 0x99], 1
jmp 0x515a7b
push str.Illegal_Character
lea ecx, [ebp - 0x494]
call fcn.0040dc00
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x494]
push eax
mov ecx, dword [ebp - 0xb24]
call fcn.00513bc0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x494]
call fcn.00407a40
mov byte [ebp - 0x495], 0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x495]
jmp 0x5161f9
jmp 0x515a84
mov byte [ebp - 0x99], 1
movzx ecx, byte [ebp - 0x99]
test ecx, ecx
je 0x515e68
mov edx, dword [ebp + 8]
cmp dword [edx], 0
jne 0x515aa4
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov ecx, dword [ebp + 8]
cmp dword [ecx], 1
jne 0x515e0f
movzx edx, byte [ebp - 0x4e]
test edx, edx
je 0x515d72
movzx eax, byte [ebp - 0x8d]
test eax, eax
je 0x515b05
movzx ecx, byte [ebp - 0x6d]
test ecx, ecx
jne 0x515adb
movzx edx, word [ebp - 0x98]
cmp edx, 0x3d
jne 0x515b05
movzx eax, byte [ebp - 0x6d]
test eax, eax
je 0x515d6e
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x93c], ecx
cmp dword [ebp - 0x93c], 0
ja 0x515b05
movzx edx, byte [ebp - 0x4d]
test edx, edx
je 0x515d6e
movzx eax, byte [ebp - 0x8d]
test eax, eax
je 0x515d63
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x4b4]
push edx
call fcn.00529610
add esp, 8
mov dword [ebp - 0xbec], eax
mov eax, dword [ebp - 0xbec]
mov dword [ebp - 0xbf0], eax
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xbf0]
push ecx
lea edx, [ebp - 0x4d0]
push edx
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf4]
mov dword [ebp - 0xbf8], eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x8c]
push ecx
lea edx, [ebp - 0x4ec]
push edx
call fcn.00529610
add esp, 8
mov dword [ebp - 0xbfc], eax
mov eax, dword [ebp - 0xbfc]
mov dword [ebp - 0xc00], eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0xc00]
push ecx
lea edx, [ebp - 0x508]
push edx
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xc04]
mov dword [ebp - 0xc08], eax
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0xbf8]
push ecx
mov edx, dword [ebp - 0xc08]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xb24]
call fcn.00513c60
mov byte [ebp - 4], 0x27
push 0
push 1
lea ecx, [ebp - 0x508]
call fcn.00407a40
mov byte [ebp - 4], 0x26
push 0
push 1
lea ecx, [ebp - 0x4ec]
call fcn.00407a40
mov byte [ebp - 4], 0x25
push 0
push 1
lea ecx, [ebp - 0x4d0]
call fcn.00407a40
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x4b4]
call fcn.00407a40
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x524]
push edx
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xc0c], eax
mov eax, dword [ebp - 0xc0c]
mov dword [ebp - 0xc10], eax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x8c]
push ecx
lea edx, [ebp - 0x540]
push edx
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xc14], eax
mov eax, dword [ebp - 0xc14]
mov dword [ebp - 0xc18], eax
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0xc10]
push ecx
mov edx, dword [ebp - 0xc18]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xb24]
call fcn.00513e60
mov byte [ebp - 4], 0x29
push 0
push 1
lea ecx, [ebp - 0x540]
call fcn.00407a40
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x524]
call fcn.00407a40
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x940], eax
mov ecx, dword [ebp - 0x940]
push ecx
push 0x606ac4
lea ecx, [ebp - 0x8c]
call fcn.0040b3b0
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x950], eax
mov edx, dword [ebp - 0x950]
push edx
push 0x606ac4
lea ecx, [ebp - 0x4c]
call fcn.0040b3b0
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x960], eax
mov eax, dword [ebp - 0x960]
push eax
push 0x606ac4
lea ecx, [ebp - 0x2c]
call fcn.0040b3b0
push 0x606ac4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x970], eax
mov ecx, dword [ebp - 0x970]
push ecx
push 0x606ac4
lea ecx, [ebp - 0x6c]
call fcn.0040b3b0
jmp 0x515d6a
mov byte [ebp - 0x8d], 1
mov byte [ebp - 0x6d], 0
mov byte [ebp - 0x4e], 0
mov dword [ebp - 0x114], 0
movzx edx, byte [ebp - 0x8d]
test edx, edx
jne 0x515dac
mov ax, word [ebp - 0x98]
mov word [ebp - 0x982], ax
movzx ecx, word [ebp - 0x982]
push ecx
push 1
mov ecx, dword [ebp + 8]
add ecx, 0x20
call fcn.0040abd0
jmp 0x515de1
movzx edx, word [ebp - 0x98]
cmp edx, 0x3d
jne 0x515dc2
mov byte [ebp - 0x6d], 1
mov byte [ebp - 0x4d], 0
jmp 0x515de1
movzx eax, byte [ebp - 0x6d]
test eax, eax
jne 0x515dd8
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x114], ecx
jmp 0x515de1
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x114], edx
cmp dword [ebp - 0x114], 0
je 0x515e0d
mov ax, word [ebp - 0x98]
mov word [ebp - 0x98a], ax
movzx ecx, word [ebp - 0x98a]
push ecx
push 1
mov ecx, dword [ebp - 0x114]
call fcn.0040abd0
jmp 0x515e68
movzx edx, byte [ebp - 0x4e]
test edx, edx
je 0x515e45
push 0x612ab4
call fcn.005d023d
add esp, 4
mov dword [ebp - 0x990], eax
mov eax, dword [ebp - 0x990]
push eax
push 0x612ab4
mov ecx, dword [ebp + 8]
add ecx, 0x20
call fcn.0040b280
mov byte [ebp - 0x4e], 0
mov cx, word [ebp - 0x98]
mov word [ebp - 0x996], cx
movzx edx, word [ebp - 0x996]
push edx
push 1
mov ecx, dword [ebp + 8]
add ecx, 0x20
call fcn.0040abd0
jmp 0x515f06
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x515eae
push str.Unexpected_End_of_File
lea ecx, [ebp - 0x55c]
call fcn.0040dc00
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x55c]
push ecx
mov ecx, dword [ebp - 0xb24]
call fcn.00513bc0
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x55c]
call fcn.00407a40
mov byte [ebp - 0x55d], 0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x55d]
jmp 0x5161f9
jmp 0x514302
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0xa08], edx
cmp dword [ebp - 0xa08], 0
jbe 0x5160cf
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x57c]
push ecx
call fcn.00529610
add esp, 8
mov dword [ebp - 0xc1c], eax
mov edx, dword [ebp - 0xc1c]
mov dword [ebp - 0xc20], edx
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0xc20]
push eax
lea ecx, [ebp - 0x598]
push ecx
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xc24], eax
mov edx, dword [ebp - 0xc24]
mov dword [ebp - 0xc28], edx
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x5b4]
push ecx
call fcn.00529610
add esp, 8
mov dword [ebp - 0xc2c], eax
mov edx, dword [ebp - 0xc2c]
mov dword [ebp - 0xc30], edx
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0xc30]
push eax
lea ecx, [ebp - 0x5d0]
push ecx
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xc34], eax
mov edx, dword [ebp - 0xc34]
mov dword [ebp - 0xc38], edx
mov byte [ebp - 4], 0x2f
mov eax, dword [ebp - 0xc28]
push eax
mov ecx, dword [ebp - 0xc38]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xb24]
call fcn.00513c60
mov byte [ebp - 4], 0x2e
push 0
push 1
lea ecx, [ebp - 0x5d0]
call fcn.00407a40
mov byte [ebp - 4], 0x2d
push 0
push 1
lea ecx, [ebp - 0x5b4]
call fcn.00407a40
mov byte [ebp - 4], 0x2c
push 0
push 1
lea ecx, [ebp - 0x598]
call fcn.00407a40
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x57c]
call fcn.00407a40
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x5ec]
push ecx
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xc3c], eax
mov edx, dword [ebp - 0xc3c]
mov dword [ebp - 0xc40], edx
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x608]
push ecx
call fcn.00526cc0
add esp, 8
mov dword [ebp - 0xc44], eax
mov edx, dword [ebp - 0xc44]
mov dword [ebp - 0xc48], edx
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0xc40]
push eax
mov ecx, dword [ebp - 0xc48]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xb24]
call fcn.00513c60
mov byte [ebp - 4], 0x30
push 0
push 1
lea ecx, [ebp - 0x608]
call fcn.00407a40
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x5ec]
call fcn.00407a40
mov eax, dword [0x611c1c]
push eax
push 0
mov ecx, dword [ebp + 8]
add ecx, 0x20
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.0040ac90
mov edx, dword [ebp + 8]
add edx, 0x20
push edx
lea eax, [ebp - 0x624]
push eax
call fcn.00529610
add esp, 8
mov dword [ebp - 0xc4c], eax
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0xa6c], ecx
mov byte [ebp - 4], 0x32
mov edx, dword [0x611c1c]
push edx
push 0
mov eax, dword [ebp - 0xa6c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x20
call fcn.0040ac90
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x624]
call fcn.00407a40
mov ecx, dword [ebp + 8]
cmp dword [ecx], 5
jne 0x516159
mov edx, dword [ebp - 0xb24]
movzx eax, byte [edx + 0x65]
test eax, eax
je 0x5161ae
mov byte [ebp - 0x625], 1
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
mov al, byte [ebp - 0x625]
jmp 0x5161f9
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.00407a40
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407a40
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00407a40
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.00407a40
jmp 0x5141b1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005cbcb1
mov esp, ebp
pop ebp
ret 4