Function at 0x572094
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], edx
mov edi, ecx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00550844
mov dword [esp], 0x400
call fcn.004edb84
mov ebx, eax
test eax, eax
je 0x572a18
mov byte [eax + 0xc], 0x84
mov byte [eax + 0xd], 2
mov byte [eax + 0xe], 1
mov byte [eax + 0xf], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x64], 0
mov dword [esp + 0x4c], 0
mov ebp, 1
mov dword [esp + 0x5c], 0x40
mov esi, ebp
shl esi, 4
add esi, ebx
mov dword [esp + 4], edi
mov edx, dword [esp + 0x40]
mov dword [esp], edx
call fcn.005508b0
add dword [esp + 0x40], eax
sub edi, eax
mov dword [esp + 0x48], edi
lea ecx, [esp + 0x74]
mov dword [esp], ecx
lea ecx, [esp + 0x73]
mov edx, edi
mov eax, dword [esp + 0x40]
call fcn.00571964
mov dword [esp + 0x44], eax
mov al, byte [esp + 0x73]
mov cl, al
mov dl, al
and edx, 0xc0
jne 0x572254
cmp al, 5
jbe 0x5722c0
mov eax, dword [esp + 0x44]
add dword [esp + 0x40], eax
mov edi, dword [esp + 0x48]
sub edi, dword [esp + 0x44]
cmp dword [esp + 0x5c], ebp
jg 0x572116
lea esi, [ebp + ebp]
nop
mov eax, esi
shl eax, 4
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004edc38
test eax, eax
jne 0x5723c0
mov eax, esi
sub eax, ebp
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
sub esi, eax
cmp esi, ebp
jg 0x572188
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x572f30
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x26
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.not_enough_memory_to_parse_expression
mov ecx, 0x25
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x25], 0
mov dword [ebp + 8], 0x25
mov dword [ebp + 0xc], 0
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
xor edi, edi
xor esi, esi
jmp 0x572446
mov byte [esp + 0x73], 0x83
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004df63c
mov al, byte [esp + 0x73]
mov cl, al
mov dl, al
and edx, 0xffffffc0
nop
cmp dl, 0x80
je 0x572704
cmp dl, 0xc0
je 0x5722cc
cmp dl, 0x40
jne case.0x5722c3.0
movzx edx, al
mov dl, byte [edx + 0x61b580]
mov byte [esp + 0x60], dl
mov edi, dword [esp + 0x4c]
test edi, edi
js 0x572898
cmp al, 0x5b
jne 0x572ee9
mov al, byte [esi - 4]
cmp al, 0x85
jne 0x5734c4
cmp byte [esi - 0x14], 0x83
jne 0x573113
xor eax, eax
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x44], 0
jmp 0x572171
movzx edx, al
jmp dword [edx*4 + 0x61b554]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x4c]
test edx, edx
js 0x57267f
cmp al, 0xc1
je 0x5723cc
cmp al, 0xc3
je 0x5723cc
mov eax, dword [esp + 0xac]
mov edx, dword [eax + 0x18]
lea esi, [edx + 2]
cmp esi, 0xfffffff
jg 0x572ac1
mov ecx, dword [esp + 0xac]
cmp esi, dword [ecx + 0x1c]
jg 0x5727a0
mov eax, dword [ecx + 0x14]
mov edx, dword [esp + 0xac]
mov edx, dword [edx + 0x18]
mov dword [esp + 0x4c], edx
shl edx, 4
mov dword [esp + 0x54], edx
add eax, edx
mov dword [eax], 1
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
mov edi, dword [esp + 0x4c]
inc edi
mov ecx, dword [esp + 0xac]
mov dword [ecx + 0x18], edi
mov al, byte [esp + 0x73]
cmp al, 0xc4
je 0x572b74
ja 0x57280c
cmp al, 0xc2
je 0x572c73
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0xac]
add esi, dword [eax + 0x14]
mov eax, dword [esp + 0x44]
mov dword [esi + 8], eax
sub edi, dword [esp + 0x4c]
dec edi
mov dword [esi + 0xc], edi
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x5723a5
mov al, byte [esp + 0x73]
cmp al, 0xc6
je 0x572d44
cmp al, 0xc4
je 0x572d44
mov dword [esp + 0x4c], 0xfffffffe
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x54], edx
jmp 0x572171
mov dword [esp + 0x5c], esi
mov ebx, eax
jmp 0x572116
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
lea edi, [edx + eax]
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.004df63c
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x48]
sub edi, dword [esp + 0x44]
mov dword [esp + 0x54], 0xfffffffd
mov dword [esp + 0x4c], 0xfffffffd
jmp 0x57217d
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], str.invalid_character___.s_
call fcn.004ebd14
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
xor edi, edi
xor esi, esi
test eax, eax
jne 0x572458
mov ebp, dword [esp + 0xac]
mov dword [ebp + 0x20], 8
test ebx, ebx
je 0x572464
mov dword [esp], ebx
call fcn.004edc48
mov eax, dword [esp + 0x58]
test eax, eax
je 0x572a90
mov eax, dword [esp + 0x50]
test eax, eax
je 0x572ec8
mov ebx, dword [esp + 0xac]
mov edx, dword [ebx + 0x28]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
lea eax, [ecx + ebp + 0x19]
cmp edx, eax
jae 0x572770
mov ecx, dword [esp + 0x40]
add ecx, dword [esp + 0x44]
mov dword [esp + 0x48], ecx
sub edx, dword [esp + 0x40]
sub edx, dword [esp + 0x44]
mov dword [esp + 0x4c], 0x61b290
test edi, edi
je 0x572764
mov ebx, 0x61b295
cmp dword [esp + 0x44], 0x18
jle 0x572758
mov edi, 0x61b291
mov dword [esp + 0x44], 0x16
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x40]
sub ecx, 0x19
cmp eax, ecx
ja 0x572744
mov eax, dword [esp + 0x40]
sub eax, 0x16
mov dword [esp + 0x54], 0x16
mov ecx, 0x61b291
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], str._nin_expression___s_.s_.s_s_s_.s_s_
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004ed93c
test esi, esi
je 0x572595
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x61b4ea
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004eb900
mov dword [esp + 4], esi
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004eba00
mov eax, dword [esi]
dec eax
mov dword [esi], eax
test eax, eax
jle 0x572e61
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.004e0b5c
mov ebx, dword [esp + 0xac]
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x28]
sub eax, edx
cmp eax, 0x18
jg 0x572790
mov ecx, 0x61b290
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str._n_____parsing_expression___.s_s__
call fcn.004ebd14
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.004e7434
mov eax, 1
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], str.incomplete_operator___.s_
jmp 0x57242f
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x44]
mov dword [esp], edi
call fcn.005508b0
cmp byte [edi + eax], 0x28
je 0x572224
lea edx, [esp + 0x78]
mov dword [esp + 8], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004ddb98
test eax, eax
jne 0x573283
mov byte [esp + 0x73], 0xc3
mov edx, dword [esp + 0x40]
mov dword [esp + 0x7c], edx
mov esi, dword [esp + 0x4c]
test esi, esi
jns 0x5723d7
mov dword [esp + 4], 0x61b295
mov dword [esp], str.missing_operator_at__s
call fcn.004ebd14
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x73]
cmp al, 0xc1
je 0x5731e4
cmp al, 0xc3
je 0x5731e4
mov edi, 1
mov dword [esp + 0x44], 0
jmp 0x572c56
mov ecx, dword [esp + 0x4c]
test ecx, ecx
js 0x572884
mov cl, al
or ecx, 0xffffff80
mov byte [esi + 0xc], cl
movzx eax, cl
mov al, byte [eax + 0x61b580]
mov byte [esi + 0xd], al
mov byte [esi + 0xe], 1
cmp cl, 0x83
setne byte [esi + 0xf]
mov eax, dword [esp + 0x64]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x4c], ebp
inc ebp
jmp 0x572171
mov eax, dword [esp + 0x4c]
test eax, eax
jns 0x5726d1
mov dword [esp + 4], 0x61b295
mov dword [esp], str.missing_operator_at__s
call fcn.004ebd14
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
mov edi, 1
xor esi, esi
mov dword [esp + 0x44], 0
jmp 0x572446
mov ecx, dword [esp + 0x40]
sub ecx, eax
mov dword [esp + 0x54], ecx
mov ecx, 0x61b290
jmp 0x572508
mov edi, 0x61b290
jmp 0x5724db
mov ebx, 0x61b290
jmp 0x5724c3
mov edx, dword [esp + 0x40]
add edx, dword [esp + 0x44]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], 0x61b291
mov edx, 0x16
jmp 0x5724b6
mov ecx, 0x61b291
mov eax, 0x16
jmp 0x5725c6
shl esi, 1
mov eax, dword [esp + 0xac]
mov edi, dword [eax + 0x14]
add eax, 0x38
mov dword [esp + 0x4c], eax
cmp eax, edi
je 0x573063
cmp esi, 0xfffffff
jg 0x57287a
mov eax, esi
shl eax, 4
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 0x38], edx
call fcn.004edc38
test eax, eax
mov edx, dword [esp + 0x38]
je 0x57303d
mov edx, dword [esp + 0xac]
mov dword [edx + 0x1c], esi
test edi, edi
je 0x5730d2
mov ecx, dword [esp + 0xac]
mov dword [ecx + 0x14], eax
jmp 0x57231c
cmp al, 0xc5
je 0x572bb0
cmp al, 0xc6
jne 0x572369
lea eax, [esp + 0x7c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 1
mov edx, dword [esp + 0xac]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp], 0
call fcn.005511e4
mov esi, eax
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x40]
sub eax, edx
mov dword [esp + 0x44], eax
test esi, esi
jne 0x573127
mov eax, dword [esp + 0xac]
mov edi, dword [eax + 0x18]
jmp 0x572369
mov esi, 0xfffffff
jmp 0x5727c7
or eax, 0x40
mov byte [esp + 0x73], al
movzx edx, al
mov dl, byte [edx + 0x61b580]
mov byte [esp + 0x60], dl
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0x54]
mov ebp, dword [esp + 0x64]
mov byte [esp + 0x37], al
jmp 0x5728e3
cmp byte [edi + 0xf], 0
je 0x57292b
mov edi, 1
mov eax, edi
mov byte [edx + 0xf], al
cmp cl, 0x4c
je 0x572937
cmp cl, 0x83
je 0x572937
cmp cl, 0x84
je 0x5730b5
mov edi, dword [edx + 8]
mov esi, ebp
cmp cl, 0x85
je 0x572ae2
mov ebp, edi
mov edx, ebp
shl edx, 4
add edx, ebx
mov al, byte [esp + 0x60]
cmp al, byte [edx + 0xd]
ja 0x572e83
je 0x572944
mov cl, byte [edx + 0xc]
cmp cl, 0x85
je 0x57296c
cmp cl, 0x4c
je 0x572994
test esi, esi
js 0x57297d
mov edi, esi
shl edi, 4
add edi, ebx
cmp byte [edi + 0xc], 0x4d
je 0x5729b4
mov dword [edx + 4], esi
mov dword [edi + 8], ebp
cmp byte [edx + 0xf], 0
jne 0x5728b0
xor edi, edi
mov eax, edi
mov byte [edx + 0xf], al
cmp cl, 0x4c
jne 0x5728c5
shl esi, 4
mov al, byte [edx + 0xf]
mov byte [ebx + esi + 0xf], al
jmp 0x5728ca
cmp byte [esp + 0x37], 0x58
je 0x572eab
mov cl, byte [edx + 0xc]
cmp cl, 0x4c
je 0x572e6e
cmp cl, 0x4d
je 0x572ea0
cmp cl, 0x85
jne 0x57290a
lea esi, [esi]
cmp byte [esp + 0x37], 0x5b
jne 0x57320f
mov cl, 0x85
test esi, esi
jns 0x57290e
mov dword [edx + 4], esi
cmp byte [edx + 0xf], 0
je 0x57292b
cmp esi, 0xfffffffd
sete al
mov edi, eax
jmp 0x5728bb
test esi, esi
js 0x572f1c
mov edi, esi
shl edi, 4
add edi, ebx
cmp byte [edi + 0xc], 0x4d
jne 0x572f1c
mov cl, 0x4c
jmp 0x57291f
cmp cl, 0x4c
je 0x57291f
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x573491
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x2e
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.unexpected_operator__:__without_preceding____
mov ecx, 0x2d
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x2d], 0
mov dword [ebp + 8], 0x2d
jmp 0x57220a
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x57314a
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x26
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.not_enough_memory_to_parse_expression
mov ecx, 0x25
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x25], 0
mov dword [ebp + 8], 0x25
mov dword [ebp + 0xc], 0
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
xor edi, edi
xor esi, esi
mov dword [esp + 0x44], 0
jmp 0x572446
mov eax, dword [esp + 0x50]
test eax, eax
je 0x572ab1
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
dec eax
mov edx, dword [esp + 0x50]
mov dword [edx], eax
test eax, eax
jle 0x5730c5
mov eax, 1
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0xfffffff
mov dword [esp], str.max__of_tokens_for_a_Tcl_parse___d__exceeded
mov dword [esp + 0x38], edx
call fcn.00507f04
mov edx, dword [esp + 0x38]
jmp 0x572309
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x68]
mov al, byte [esp + 0x37]
cmp al, 0x5b
je 0x572fc8
cmp al, 0x43
je 0x572f78
mov edx, dword [esp + 0x54]
test edx, edx
js 0x572b1c
mov edx, dword [esp + 0x54]
shl edx, 4
cmp byte [ebx + edx + 0xc], 0x4d
je 0x5729bd
cmp al, 0x5b
je 0x573030
mov byte [esi + 0xc], al
mov dl, byte [esp + 0x60]
mov byte [esi + 0xd], dl
mov byte [esi + 0xe], 0
mov ecx, dword [esp + 0x54]
mov dword [esi], ecx
cmp al, 0x43
setne al
mov byte [esi + 0xf], al
test ecx, ecx
js 0x57306a
mov edx, ecx
shl edx, 4
add edx, ebx
mov dword [edx + 8], ebp
test al, al
jne 0x572edd
xor eax, eax
mov byte [esi + 0xf], al
mov dword [esi + 8], edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x4c], ebp
inc ebp
jmp 0x572171
lea ecx, [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0xac]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp], 0
call fcn.00550ce0
jmp 0x572853
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp], 0
call fcn.00552288
mov esi, eax
shl edi, 4
mov ecx, dword [esp + 0xac]
add edi, dword [ecx + 0x14]
test eax, eax
jne 0x572c67
cmp dword [edi], 0x20
je 0x572c67
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x57346b
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x16
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.invalid_character____
mov ecx, 0x15
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x15], 0
mov dword [ebp + 8], 0x15
mov dword [ebp + 0xc], 0
xor edi, edi
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
xor esi, esi
jmp 0x572446
mov edi, dword [edi + 8]
mov dword [esp + 0x44], edi
jmp 0x572863
mov dword [esp + 4], 0x178
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.0052f884
mov edx, eax
mov ecx, dword [esp + 0xac]
mov ecx, dword [ecx + 0x18]
shl ecx, 4
mov eax, dword [esp + 0xac]
mov eax, dword [eax + 0x14]
add ecx, eax
mov dword [esp + 0x60], ecx
mov dword [ecx], 0x10
mov eax, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], 0
mov ecx, dword [esp + 0x48]
add ecx, eax
mov dword [esp + 0x7c], ecx
inc eax
mov edi, eax
mov dword [esp + 0x40], ebx
mov esi, edx
mov dword [esp + 0x68], ebp
mov ebx, dword [esp + 0x58]
jmp 0x572ce0
cmp edi, ecx
je 0x572d87
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 1
sub ecx, edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00551304
mov ebp, eax
test eax, eax
jne 0x5730e5
mov edi, dword [esi + 8]
add edi, dword [esi + 0xc]
mov dword [esp], esi
call fcn.00550cbc
mov edx, dword [esi + 0x30]
mov ecx, dword [esp + 0x7c]
cmp edx, ecx
jae 0x572cd8
cmp byte [edx], 0x5d
jne 0x572cd8
mov eax, dword [esi + 0x34]
test eax, eax
jne 0x572cd8
mov dword [esp + 0x44], edi
mov ebx, dword [esp + 0x40]
mov edx, esi
mov esi, ebp
mov ebp, dword [esp + 0x68]
jmp 0x572e1e
call fcn.004dcfd8
mov dword [esp + 0x74], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0051afa8
test eax, eax
mov eax, dword [esp + 0x74]
jne 0x57307f
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jg 0x5723a5
mov dword [esp], eax
call fcn.004dd020
mov dword [esp + 0x4c], 0xfffffffe
jmp 0x5723ad
mov dword [esp + 0x44], edi
mov ebx, dword [esp + 0x40]
mov edx, esi
mov ebp, dword [esp + 0x68]
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x573344
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 0x10]
mov dword [0x67b764], eax
mov dword [ecx], 0
mov dword [esp], 0x16
mov dword [esp + 0x38], edx
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.missing_close_bracket
mov ecx, 0x15
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 4]
mov byte [eax + 0x15], 0
mov dword [ecx + 8], 0x15
mov dword [ecx + 0xc], 0
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xac]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x20], 4
mov dword [ecx + 0x34], 1
mov esi, 1
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edx
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.0052f7e8
mov edx, dword [esp + 0x44]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x60]
mov edx, dword [edx + 4]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x44]
sub ecx, edx
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x60]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0xac]
inc dword [ecx + 0x18]
jmp 0x572863
mov dword [esp], esi
call fcn.004dd020
jmp 0x572595
test esi, esi
js 0x572e83
mov edi, esi
shl edi, 4
add edi, ebx
cmp byte [edi + 0xc], 0x4d
je 0x5729ad
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x6c]
mov al, byte [esp + 0x37]
mov edi, dword [esp + 0x64]
jmp 0x572af2
cmp byte [esp + 0x37], 0x4c
jne 0x57290a
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x6c]
mov al, byte [esp + 0x37]
mov edi, dword [esp + 0x64]
jmp 0x572b02
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.004e0ce4
mov dword [esp + 0x50], eax
jmp 0x57247c
cmp byte [edx + 0xf], 0
setne al
jmp 0x572b5c
mov dl, byte [esp + 0x60]
cmp byte [esi - 3], dl
ja 0x57315d
cmp al, 0x43
je 0x572f43
xor edi, edi
mov ecx, dword [esp + 0x50]
test ecx, ecx
jne 0x572c56
mov dword [esp + 4], 0x61b295
mov dword [esp], str.missing_operand_at__s
jmp 0x57271b
mov dword [esp + 4], 0x61b295
mov dword [esp], str.missing_operator__:__at__s
jmp 0x57271b
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x5721c5
cmp byte [esi - 4], 0x85
jne 0x572efa
cmp byte [esi - 0x14], 0x83
jne 0x572efa
mov dword [esp + 4], 0x61b295
mov dword [esp], str.missing_function_argument_at__s
call fcn.004ebd14
mov dword [esp + 0x50], eax
mov edi, 1
mov dword [esp + 0x44], 0
jmp 0x572efc
cmp byte [edx + 0xc], 0x85
jne 0x572f88
cmp byte [edx - 4], 0x83
je 0x572b02
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x57347e
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x2e
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.unexpected_____outside_function_argument_list
jmp 0x5729f8
cmp byte [edx + 0xc], 0x85
je 0x572b02
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x573445
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x17
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.unbalanced_close_paren
mov ecx, 0x16
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x16], 0
mov dword [ebp + 8], 0x16
jmp 0x57220a
mov eax, dword [esp + 0x44]
mov dword [esp + 0x64], edi
jmp 0x572171
lea esi, [edx + 0x36]
cmp esi, 0xfffffff
jle 0x57304d
mov esi, 0xfffffff
mov eax, esi
shl eax, 4
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004edb94
jmp 0x5727e8
xor edi, edi
jmp 0x5727bb
test al, al
je 0x572b5a
cmp dword [esp + 0x54], 0xfffffffd
sete al
jmp 0x572b5c
mov dword [esp + 8], eax
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov dword [esp], 0
call fcn.004df63c
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xac]
mov dword [ecx + 0x18], edx
mov dword [esp + 0x4c], 0xfffffffd
jmp 0x5723ad
mov eax, dword [esp + 0xa0]
mov dword [eax], ebx
xor eax, eax
jmp 0x5725f3
mov dword [esp], edx
call fcn.004dd020
jmp 0x572ab1
mov ecx, dword [edx + 0x18]
shl ecx, 4
mov edi, eax
mov esi, dword [esp + 0x4c]
rep movsb byte es:[edi], byte [esi]
jmp 0x5727fa
mov dword [esp + 0x44], edi
mov ebx, dword [esp + 0x40]
mov edx, esi
mov esi, eax
mov ebp, dword [esp + 0x68]
mov eax, dword [edx + 0x30]
mov ecx, dword [esp + 0xac]
mov dword [ecx + 0x30], eax
mov eax, dword [edx + 0x20]
mov dword [ecx + 0x20], eax
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x34], eax
jmp 0x572e1e
mov dword [esp + 4], 0x61b295
mov dword [esp], str.empty_subexpression_at__s
jmp 0x57271b
mov ebp, dword [esp + 0xac]
mov ebp, dword [ebp + 0x30]
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0xac]
mov ebp, dword [ebp + 0x34]
mov dword [esp + 0x44], ebp
xor edi, edi
jmp 0x572c56
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x572a29
mov al, byte [esi - 4]
cmp al, 0x85
je 0x57335f
cmp al, 0x43
je 0x572f4f
cmp al, 0x84
jne 0x572efa
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x573458
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x11
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.empty_expression
mov ecx, 4
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x10], 0
mov dword [ebp + 8], 0x10
mov dword [ebp + 0xc], 0
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
jmp 0x57221b
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jg 0x5726ab
mov dword [esp], eax
call fcn.004dd020
mov edi, 1
mov dword [esp + 0x44], 0
jmp 0x572c56
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x5734a4
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x16
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.unbalanced_open_paren
mov ecx, 0x15
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x15], 0
mov dword [ebp + 8], 0x15
mov dword [ebp + 0xc], 0
mov ebp, dword [esp + 0xac]
mov dword [ebp + 0x20], 5
xor edi, edi
xor esi, esi
jmp 0x572458
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jle 0x5734b7
cmp dword [esp + 0x44], 0x18
jg 0x5733d4
mov dword [esp + 0xc], 0x61b290
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], str.invalid_bareword___.s_s_
call fcn.004ebd14
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], 0x61b290
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x61b290
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str.should_be____.s_s__or___.s_s_
call fcn.004ebd14
mov esi, eax
mov eax, dword [esp + 0x44]
mov edx, 0x61b290
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str._or___.s_s_...___or_...
mov dword [esp], esi
call fcn.004ed93c
mov edx, dword [esp + 0x40]
cmp byte [edx], 0x30
je 0x57353d
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
xor edi, edi
jmp 0x572446
mov dword [esp + 0x38], esi
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x38]
jmp 0x572da6
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x5735c7
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x16
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.unbalanced_open_paren
mov ecx, 0x15
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x15], 0
mov dword [ebp + 8], 0x15
mov dword [ebp + 0xc], 0
mov ebp, dword [esp + 0xac]
mov dword [ebp + 0x20], 5
mov eax, 5
jmp 0x57221b
mov dword [esp + 0xc], 0x61b291
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x16
mov dword [esp], str.invalid_bareword___.s_s_
call fcn.004ebd14
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], 0x61b291
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], 0x16
mov dword [esp + 0xc], 0x61b291
mov dword [esp + 8], edx
mov dword [esp + 4], 0x16
mov dword [esp], str.should_be____.s_s__or___.s_s_
call fcn.004ebd14
mov esi, eax
mov edx, 0x61b291
mov eax, 0x16
jmp 0x573306
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x572fe3
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x573189
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x572c08
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x572f99
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x5729ce
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x573220
mov dword [esp], eax
call fcn.004dd020
jmp 0x573294
mov cl, byte [esp + 0x60]
cmp byte [esi - 3], cl
ja 0x573168
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
test eax, eax
je 0x5735da
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov dword [0x67b764], eax
mov dword [edx], 0
mov dword [esp], 0x17
call fcn.004edaf0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov esi, str.unbalanced_close_paren
mov ecx, 0x16
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [esp + 0x50]
mov eax, dword [ebp + 4]
mov byte [eax + 0x16], 0
mov dword [ebp + 8], 0x16
mov dword [ebp + 0xc], 0
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
jmp 0x57221b
mov dword [esp + 0x18], 0x20
lea eax, [esp + 0x7c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00525b70
mov eax, dword [esp + 0x7c]
movzx edx, byte [eax]
sub edx, 0x30
mov ebp, dword [esp + 0xac]
cmp edx, 9
jbe 0x57359c
mov edx, dword [esp + 0x40]
inc edx
cmp eax, edx
jne 0x57333a
mov dword [ebp + 0x20], 9
mov edx, dword [esp + 0x40]
movzx eax, byte [edx + 1]
cmp al, 0x62
je 0x57360a
cmp al, 0x6f
je 0x5735ed
sub eax, 0x30
cmp eax, 9
jbe 0x5735ed
mov eax, 9
xor edi, edi
jmp 0x572446
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x573370
call fcn.004dcd40
mov eax, dword [0x67b764]
mov dword [esp + 0x50], eax
jmp 0x5734e2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.__invalid_octal_number__
mov dword [esp], esi
call fcn.004eb900
jmp 0x573333
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.__invalid_binary_number__
mov dword [esp], esi
call fcn.004eb900
mov ebp, dword [esp + 0xac]
mov eax, dword [ebp + 0x20]
xor edi, edi
jmp 0x572446