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

Disassembly:
push 0xffffffffffffffff
push 0x592a37
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x5ed80c]
xor eax, esp
mov dword [esp + 0xbc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5ed80c]
xor eax, esp
push eax
lea eax, [esp + 0xd4]
mov dword fs:[0], eax
mov esi, ecx
inc dword [esi + 0x64]
mov eax, dword [esi + 0x64]
mov ebx, dword [esi + 0x60]
mov edx, dword [esi + 4]
lea edi, [esi + 0x64]
cmp eax, ebx
jne 0x54f1fd
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x54f1f2
nop
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54f1e0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x5502fb
movzx ecx, byte [eax]
mov ebp, dword [edx]
mov cl, byte [ecx + ebp + 4]
cmp cl, 0xd
jne 0x54f22c
jmp 0x54f210
cmp eax, ebx
je 0x54f225
mov cl, byte [eax]
inc eax
mov dword [edi], eax
mov esi, dword [edx]
movzx ecx, cl
cmp byte [ecx + esi + 4], 2
jne 0x54f210
mov al, 1
jmp 0x550306
xor ebx, ebx
push 0x10
push ebx
mov ecx, esi
mov dword [esp + 0x28], ebx
call fcn.005382c0
mov edx, dword [esi]
mov ebp, eax
mov eax, dword [edx + 0x18]
shr eax, 0x14
and al, 1
mov byte [ebp + 0xc], al
mov eax, dword [esi]
mov edx, dword [eax + 0x13c]
mov ecx, ebp
sub ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x78]
mov dword [esp + 0x40], ecx
mov ecx, edx
mov edx, dword [eax + 0x140]
sub edx, ecx
add edx, 3
and edx, 0xfffffffc
add edx, ecx
mov dword [eax + 0x140], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x140]
sub ecx, dword [eax + 0x13c]
mov dl, byte [esi + 0x7c]
mov dword [esi + 0x78], ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x6c]
mov byte [esi + 0x7c], bl
mov ebx, dword [edi]
mov byte [esp + 0x17], dl
mov edx, dword [esi + 0x70]
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x70], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x6c], 0xffffffff
mov bl, byte [ebx]
mov dword [esp + 0x3c], edx
mov edx, dword [ecx]
mov byte [esp + 0x16], bl
movzx ebx, bl
movzx edx, byte [ebx + edx + 4]
dec edx
mov byte [esp + 0x1f], 1
cmp edx, 0x34
ja case.0x54f2e6.3
movzx edx, byte [edx + 0x550364]
jmp dword [edx*4 + 0x550330]
mov eax, dword [esi + 0x68]
mov dword [esi + 0x6c], eax
xor eax, eax
mov dword [ebp + 8], eax
inc dword [edi]
mov dword [esp + 0x18], eax
jmp 0x54ff24
mov eax, dword [esi + 0x60]
push ecx
push 0xa
push eax
push edi
call fcn.0054afe0
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x54f32e
mov ecx, dword [edi]
mov eax, dword [esi + 4]
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 2
je 0x54fe8b
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
mov edx, 1
cmp byte [ebx + ecx + 4], dl
je 0x54f357
sub eax, edx
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x54f345
push str.The_recursive_sub_expression_refers_to_an_invalid_marking_group__or_is_unterminated.
lea ecx, [esp + 0x64]
call fcn.00401dd0
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x60]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe8], 0
call fcn.0054c350
lea ecx, [esp + 0x60]
call fcn.0054b8f0
jmp 0x550304
mov eax, dword [edi]
inc eax
push ecx
mov dword [edi], eax
mov eax, dword [esi + 0x60]
push 0xa
push eax
push edi
call fcn.0054afe0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jle 0x54f3c6
mov edx, dword [edi]
mov eax, dword [esi + 4]
movzx ecx, byte [edx]
mov eax, dword [eax]
cmp byte [ecx + eax + 4], 2
jne 0x54f3c6
add ebx, dword [esi + 0x68]
jmp 0x54fe8b
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
mov ebx, 1
cmp byte [edx + ecx + 4], bl
je 0x54f3f2
lea ecx, [ecx]
sub eax, ebx
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], bl
jne 0x54f3e0
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x80]
call fcn.00401dd0
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x7c]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe8], ebx
call fcn.0054c350
lea ecx, [esp + 0x7c]
call fcn.0054b8f0
jmp 0x550304
mov eax, dword [edi]
inc eax
push ecx
mov dword [edi], eax
mov eax, dword [esi + 0x60]
push 0xa
push eax
push edi
call fcn.0054afe0
add esp, 0x10
test eax, eax
jg 0x54f48c
dec dword [edi]
mov ecx, esi
call fcn.0054e800
mov ebx, eax
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x54feb0
mov ecx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x5502f7
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x54f475
jmp 0x5502f7
mov ebx, dword [esi + 0x68]
sub ebx, eax
inc ebx
test ebx, ebx
jg 0x54fe8b
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54f4c2
lea ecx, [ecx]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54f4b0
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x9c]
call fcn.00401dd0
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x98]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe8], 2
call fcn.0054c350
lea ecx, [esp + 0x98]
call fcn.0054b8f0
jmp 0x550304
or eax, 0xffffffff
push 0xc
mov dword [ebp + 8], eax
inc dword [edi]
push 0x10
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.005382c0
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
mov edx, dword [ecx + 0x140]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x13c]
sub edx, eax
add edx, 3
and edx, 0xfffffffc
add edx, eax
mov dword [ecx + 0x140], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x140]
sub ecx, dword [eax + 0x13c]
mov dword [esi + 0x78], ecx
jmp 0x54ff24
mov eax, 0xfffffffe
jmp 0x54f509
mov edx, dword [edi]
inc edx
mov dword [edi], edx
cmp edx, dword [esi + 0x60]
jne 0x54f59a
lea eax, [edx - 1]
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x54f593
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x54f581
mov eax, dword [edi]
jmp 0x5502f7
movzx ebx, byte [edx]
mov ecx, dword [ecx]
mov cl, byte [ebx + ecx + 4]
cmp cl, 0x35
jne 0x54f5af
mov eax, 0xfffffffe
jmp 0x54f5b7
cmp cl, 0x25
jne 0x54f605
or eax, 0xffffffff
push 0xc
mov dword [ebp + 8], eax
inc dword [edi]
push 0x10
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.005382c0
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
push 0x10
push 0x1a
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.005382c0
mov eax, dword [esi]
mov ecx, dword [eax + 0x13c]
mov edx, dword [eax + 0x140]
sub edx, ecx
add edx, 3
and edx, 0xfffffffc
add edx, ecx
mov dword [eax + 0x140], edx
jmp 0x54f545
dec edx
mov byte [esp + 0x16], 0x3e
mov dword [edi], edx
jmp 0x54fc34
mov eax, 0xfffffffd
jmp 0x54f509
mov eax, 0xfffffffc
mov dword [ebp + 8], eax
inc dword [edi]
mov ecx, dword [edi]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x60]
cmp ecx, eax
jne 0x54f660
lea eax, [ecx - 1]
mov ecx, dword [esi + 4]
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54f659
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54f647
mov eax, dword [edi]
jmp 0x5502f7
mov ecx, dword [esi + 4]
push ecx
push 0xa
push eax
push edi
call fcn.0054afe0
mov ecx, dword [edi]
mov dl, byte [ecx]
add esp, 0x10
mov ebx, eax
cmp dl, 0x52
jne 0x54f7c9
mov edx, dword [esi + 0x60]
inc ecx
mov dword [edi], ecx
cmp ecx, edx
jne 0x54f6bd
mov eax, dword [esi + 4]
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x54f6b2
mov eax, ecx
lea ecx, [ecx]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54f6a0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x5502fb
cmp byte [ecx], 0x26
jne 0x54f729
inc ecx
mov dword [esp + 0x24], ecx
mov dword [edi], ecx
cmp ecx, edx
je 0x54f6ea
mov ebx, dword [esi + 4]
mov eax, dword [edi]
movzx ebp, byte [eax]
mov ecx, dword [ebx]
cmp byte [ecx + ebp + 4], 2
je 0x54f6e6
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x54f6d0
mov ecx, dword [esp + 0x24]
mov eax, dword [edi]
cmp eax, edx
jne 0x54f71d
mov edx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x5502f7
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54f706
jmp 0x5502f7
push eax
push ecx
call fcn.0054a520
add esp, 8
jmp 0x54f739
mov eax, dword [esi + 4]
push eax
push 0xa
push edx
push edi
call fcn.0054afe0
add esp, 0x10
push 0x10
mov ebp, eax
push 0x1b
mov ecx, esi
neg ebp
call fcn.005382c0
test ebp, ebp
jns 0x54f74f
dec ebp
jmp 0x54f751
xor ebp, ebp
mov dword [eax + 8], ebp
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x54f78f
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x5502f7
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54f778
jmp 0x5502f7
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x54ff24
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54f7c2
lea ebx, [ebx]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54f7b0
mov eax, dword [edi]
jmp 0x5502f7
cmp dl, 0x27
je 0x54fa9e
cmp dl, 0x3c
je 0x54fa9e
cmp dl, 0x44
jne 0x54f8c8
mov ebp, dword [esi + 0x60]
mov ecx, str.DEFINE
lea esp, [esp]
mov eax, dword [edi]
cmp eax, ebp
je 0x54f805
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x54f805
inc eax
inc ecx
mov dword [edi], eax
cmp byte [ecx], 0
jne 0x54f7f0
mov eax, dword [edi]
cmp eax, ebp
je 0x54f89b
cmp byte [ecx], 0
jne 0x54f89b
push 0x10
push 0x1b
mov ecx, esi
call fcn.005382c0
mov dword [eax + 8], 0x270f
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x54f867
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x5502f7
mov edi, edi
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54f850
jmp 0x5502f7
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x54ff24
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54f894
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54f882
mov eax, dword [edi]
jmp 0x5502f7
mov edx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x5502f7
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54f8b1
jmp 0x5502f7
test ebx, ebx
jle 0x54f94d
push 0x10
push 0x1b
mov ecx, esi
call fcn.005382c0
mov dword [eax + 8], ebx
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x54f919
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x5502f7
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54f902
jmp 0x5502f7
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x54ff24
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54f946
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54f934
mov eax, dword [edi]
jmp 0x5502f7
mov eax, dword [esi + 4]
mov ebx, dword [eax]
movzx edx, dl
cmp byte [edx + ebx + 4], 8
je 0x54f98b
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x54f982
jmp 0x54f970
dec ecx
mov dword [edi], ecx
movzx eax, byte [ecx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [eax + edx + 4], 1
jne 0x54f970
sub ecx, dword [esi + 0x5c]
push ecx
jmp 0x5502fb
mov ebp, dword [esi + 0x60]
inc ecx
mov dword [edi], ecx
cmp ecx, ebp
jne 0x54f9c3
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x54f9b8
mov eax, ecx
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54f9a6
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x5502fb
movzx edx, byte [ecx]
mov ebx, dword [eax]
cmp byte [ebx + edx + 4], 0x14
jne 0x54fa58
inc ecx
mov dword [edi], ecx
cmp ecx, ebp
jne 0x54fa0d
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x54fa02
mov eax, ecx
jmp 0x54f9f0
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54f9f0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x5502fb
movzx edx, byte [ecx]
mov ebx, dword [eax]
cmp byte [ebx + edx + 4], 0x25
je 0x54fa4e
cmp byte [ebx + edx + 4], 0x35
je 0x54fa4e
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x54fa43
mov eax, ecx
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54fa31
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x5502fb
add ecx, 0xfffffffd
mov dword [edi], ecx
jmp 0x54ff24
cmp byte [ebx + edx + 4], 0x25
je 0x54fa94
cmp byte [ebx + edx + 4], 0x35
je 0x54fa94
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x54fa89
mov eax, ecx
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54fa77
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x5502fb
add ecx, 0xfffffffe
mov dword [edi], ecx
jmp 0x54ff24
mov edx, dword [esi + 0x60]
lea eax, [ecx + 1]
mov dword [edi], eax
mov ebx, eax
cmp eax, edx
je 0x54fac6
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x3e
je 0x54fac6
cmp cl, 0x27
je 0x54fac6
inc eax
mov ecx, eax
mov dword [edi], eax
cmp ecx, dword [esi + 0x60]
jne 0x54fab0
mov eax, dword [edi]
cmp eax, edx
jne 0x54faf9
mov ecx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x5502f7
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54fae2
jmp 0x5502f7
push eax
push ebx
call fcn.0054a520
add esp, 8
push 0x10
push 0x1b
mov ecx, esi
mov ebx, eax
call fcn.005382c0
mov dword [eax + 8], ebx
mov eax, dword [edi]
mov cl, byte [eax]
cmp cl, 0x3e
je 0x54fb21
cmp cl, 0x27
jne 0x54fb2b
mov ebx, dword [esi + 0x60]
inc eax
mov dword [edi], eax
cmp eax, ebx
jne 0x54fb8d
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54fb52
mov edi, edi
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54fb40
push str.Unterminated_named_capture.
lea ecx, [esp + 0x48]
call fcn.00401dd0
mov dword [esp + 0xdc], 3
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x44]
push eax
push ecx
push 0x14
mov ecx, esi
call fcn.0054c350
lea ecx, [esp + 0x44]
call fcn.0054b8f0
jmp 0x550304
mov ecx, dword [esi + 4]
movzx ebp, byte [eax]
mov edx, dword [ecx]
cmp byte [edx + ebp + 4], 2
je 0x54fbc9
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54fbc2
jmp 0x54fbb0
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54fbb0
mov eax, dword [edi]
jmp 0x5502f7
inc eax
mov dword [edi], eax
cmp eax, ebx
jne 0x54ff24
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54fbf5
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54fbe3
mov eax, dword [edi]
jmp 0x5502f7
mov eax, dword [edi]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x5502f7
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x54fc15
jmp 0x5502f7
mov cl, byte [esp + 0x16]
mov byte [esp + 0x16], cl
xor ebx, ebx
test dword [eax + 0x18], 0x400000
mov dword [esp + 0x18], ebx
jne 0x54fc7d
mov ecx, dword [esi + 0x68]
inc ecx
mov dword [esi + 0x68], ecx
test dword [eax + 0x18], 0x800000
mov ebx, ecx
mov dword [esp + 0x18], ebx
je 0x54fc7d
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea edx, [esp + 0x24]
add ecx, 0xfffffffe
mov dword [esp + 0x24], ecx
push edx
lea ecx, [eax + 0x148]
mov dword [esp + 0x2c], 0
call fcn.0053d0b0
mov dword [ebp + 8], ebx
inc dword [edi]
mov eax, dword [edi]
mov ebp, dword [esi + 0x60]
mov ecx, eax
cmp eax, ebp
jne 0x54fcc0
mov edx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x54fcb2
nop
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54fca0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x5502fb
mov dl, byte [esp + 0x16]
cmp byte [eax], dl
je 0x54fcd0
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x54fcc0
mov eax, dword [edi]
cmp eax, ebp
jne 0x54fd07
mov edx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x5502f7
lea esp, [esp]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54fcf0
jmp 0x5502f7
push ebx
push eax
push ecx
mov ecx, dword [esi]
call fcn.0054e9b0
inc dword [edi]
jmp 0x54ff24
mov al, byte [esp + 0x16]
cmp al, 0x52
jne 0x54fd6b
mov eax, dword [edi]
inc eax
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [esp + 0x24], eax
movzx eax, byte [eax]
xor ebx, ebx
cmp byte [eax + edx + 4], 2
je 0x54fe8b
mov eax, dword [esp + 0x24]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x54fd64
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x54fd52
mov eax, dword [edi]
jmp 0x5502f7
cmp al, 0x26
jne 0x54fdd2
mov eax, dword [edi]
inc eax
mov dword [edi], eax
mov dword [esp + 0x24], eax
cmp eax, dword [esi + 0x60]
je 0x54fd94
lea ecx, [ecx]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x54fd94
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x54fd80
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x54fdc7
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x5502f7
mov edi, edi
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x54fdb0
jmp 0x5502f7
push eax
mov eax, dword [esp + 0x28]
push eax
jmp 0x54fe81
cmp al, 0x50
jne 0x54f447
mov eax, dword [edi]
mov edx, dword [esi + 0x60]
inc eax
mov dword [edi], eax
cmp eax, edx
jne 0x54fe19
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x54fe12
lea esp, [esp]
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x54fe00
mov eax, dword [edi]
jmp 0x5502f7
cmp byte [eax], 0x3e
jne 0x54f447
lea ebx, [eax + 1]
mov dword [esp + 0x24], ebx
mov dword [edi], ebx
cmp ebx, edx
je 0x54fe4a
nop
mov eax, dword [edi]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x54fe46
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x54fe30
mov ebx, dword [esp + 0x24]
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x54fe7f
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x5502f7
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x54fe68
jmp 0x5502f7
push eax
push ebx
call fcn.0054a520
mov ebx, eax
add esp, 8
xor eax, eax
push 0x10
push 0x1d
mov ecx, esi
mov dword [esp + 0x20], eax
mov dword [ebp + 8], eax
call fcn.005382c0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0
mov eax, dword [esi]
mov ebx, dword [eax + 0x18]
jmp 0x54ff10
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
shr eax, 0x14
mov ecx, ebx
shr ecx, 0x14
xor cl, al
and cl, 1
mov byte [esi + 0x7c], cl
xor eax, eax
mov dword [ebp + 8], eax
mov edx, dword [edi]
mov ecx, dword [esi + 4]
mov ebp, dword [ecx]
mov dword [esp + 0x18], eax
movzx eax, byte [edx]
cmp byte [eax + ebp + 4], 2
jne 0x54fef5
push ebx
mov ecx, esi
call fcn.00549d70
mov dl, byte [esi + 0x7c]
or byte [esp + 0x17], dl
mov byte [esp + 0x1f], 0
jmp 0x54ff0a
cmp byte [eax + ebp + 4], 0x24
jne 0x5502d4
push ebx
mov ecx, esi
call fcn.00549d70
inc dword [edi]
cmp byte [esi + 0x7c], 0
je 0x54ff24
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.005382c0
mov byte [eax + 8], bl
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
je 0x54ff36
mov edx, dword [esi + 0x58]
mov ecx, esi
call edx
test al, al
jne 0x54ff24
mov eax, dword [esp + 0x30]
push eax
mov ecx, esi
call fcn.0054c540
test al, al
jne 0x54ff90
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x54ff72
lea esp, [esp]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x54ff60
push str.Invalid_alternation_operators_within___...__block.
lea ecx, [esp + 0x48]
call fcn.00401dd0
mov dword [esp + 0xdc], 4
jmp 0x54fb6b
mov eax, dword [edi]
mov ecx, dword [esi + 0x60]
cmp eax, ecx
jne 0x54ffcd
mov ebx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], 1
je 0x54ffc2
jmp 0x54ffb0
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], 1
jne 0x54ffb0
sub ecx, dword [esi + 0x5c]
push ecx
push 8
jmp 0x5502fd
inc eax
cmp byte [esp + 0x1f], 0
mov dword [edi], eax
je 0x550001
cmp byte [esi + 0x7c], 0
je 0x54fff5
mov ebx, dword [esp + 0x2c]
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.005382c0
mov byte [eax + 8], bl
mov eax, dword [esp + 0x2c]
push eax
mov ecx, esi
call fcn.00549d70
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x550090
mov eax, dword [esi]
mov ecx, dword [eax + 0x13c]
mov edx, dword [eax + 0x140]
sub edx, ecx
add edx, 3
and edx, 0xfffffffc
add edx, ecx
mov dword [eax + 0x140], edx
mov eax, dword [esi]
mov edx, dword [eax + 0x13c]
lea ecx, [edx + ebx]
mov ebx, dword [eax + 0x140]
sub ebx, edx
sub ebx, ecx
add ebx, edx
mov dword [ecx + 8], ebx
cmp dword [esi + 8], ecx
jne 0x550090
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x550072
lea ecx, [ecx]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x550060
push str.Invalid_or_empty_zero_width_assertion.
lea ecx, [esp + 0x48]
call fcn.00401dd0
mov dword [esp + 0xdc], 5
jmp 0x54fb6b
mov ebp, dword [esp + 0x18]
cmp ebp, 0xfffffffc
jne 0x55024d
mov edx, dword [esi]
mov eax, dword [edx + 0x13c]
mov ebx, dword [esp + 0x34]
add eax, ebx
cmp dword [eax], 0x11
je 0x550167
push 0x110
push 0x11
push ebx
mov ecx, esi
call fcn.0054a590
mov ecx, dword [esi]
mov edx, dword [ecx + 0x13c]
mov ebp, dword [ecx + 0x140]
sub ebp, edx
sub ebp, eax
add ebp, edx
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0x18]
mov edx, dword [esi]
mov eax, dword [edx + 0x13c]
add eax, ebx
add eax, dword [eax + 4]
mov eax, dword [eax]
cmp eax, 0x1b
je 0x55024d
test eax, eax
je 0x55024d
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x550123
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x550111
push str.A_repetition_operator_cannot_be_applied_to_a_zero_width_assertion.
lea ecx, [esp + 0xb8]
call fcn.00401dd0
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0xb4]
push eax
push ecx
push 0xd
mov ecx, esi
mov dword [esp + 0xe8], 8
call fcn.0054c350
lea ecx, [esp + 0xb4]
call fcn.0054b8f0
jmp 0x550304
mov ecx, dword [eax + 8]
cmp dword [eax + ecx], 0x11
jne 0x5501d0
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x550195
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x550183
push str.More_than_one_alternation_operator__was_encountered_inside_a_conditional_expression.
lea ecx, [esp + 0x48]
call fcn.00401dd0
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x44]
push eax
push ecx
push 2
mov ecx, esi
mov dword [esp + 0xe8], 6
call fcn.0054c350
lea ecx, [esp + 0x44]
call fcn.0054b8f0
jmp 0x550304
add eax, dword [eax + 4]
cmp dword [eax], 0x1b
jne 0x5500de
cmp dword [eax + 8], 0x270f
jne 0x5500de
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x550212
lea esp, [esp]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x550200
push str.Alternation_operators_are_not_allowed_inside_a_DEFINE_block.
lea ecx, [esp + 0x48]
call fcn.00401dd0
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x44]
push eax
push ecx
push 2
mov ecx, esi
mov dword [esp + 0xe8], 7
call fcn.0054c350
lea ecx, [esp + 0x44]
call fcn.0054b8f0
jmp 0x550304
push 0x10
push 1
mov ecx, esi
call fcn.005382c0
mov dword [eax + 8], ebp
mov edx, dword [esi]
mov ecx, dword [edx + 0x18]
mov edx, dword [esp + 0x30]
shr ecx, 0x14
and cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [esp + 0x40]
mov cl, byte [esp + 0x17]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x74], edx
mov byte [esi + 0x7c], cl
cmp eax, dword [esi + 0x68]
jbe 0x550289
mov dword [esi + 0x68], eax
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], eax
test ebp, ebp
jle 0x5502d0
mov eax, dword [esi]
test dword [eax + 0x18], 0x800000
je 0x5502be
mov edi, dword [edi]
sub edi, dword [esi + 0x5c]
lea ecx, [ebp - 1]
push ecx
lea ecx, [eax + 0x148]
dec edi
call fcn.00536da0
mov dword [eax + 4], edi
cmp ebp, 0x20
jge 0x5502d0
lea ecx, [ebp - 1]
mov edx, 1
shl edx, cl
or dword [esi + 0x18], edx
mov al, 1
jmp 0x550306
lea eax, [edx - 1]
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x5502f7
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x5502e5
sub eax, dword [esi + 0x5c]
push eax
push 0x14
mov ecx, esi
call fcn.0054d7c0
xor al, al
mov ecx, dword [esp + 0xd4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xbc]
xor ecx, esp
call fcn.0055bc32
add esp, 0xcc
ret
sub esp, 0x14
push ebx
push esi
mov esi, ecx
mov ebx, 1
add dword [esi + 0x64], ebx
mov eax, dword [esi + 0x64]
cmp eax, dword [esi + 0x60]
jne 0x552c5a
sub eax, dword [esi + 0x5c]
push eax
push 8
call fcn.0054d7c0
pop esi
xor al, al
pop ebx
add esp, 0x14
ret
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
push ebp
push edi
test edx, 0x203
je 0x552c79
mov edi, edx
and edi, 0x1003
cmp edi, 0x1001
jne 0x552c96
mov edi, dword [esi + 4]
movzx ebp, byte [eax]
mov edi, dword [edi]
cmp byte [edi + ebp + 4], 8
jne 0x552c96
pop edi
pop ebp
mov ecx, esi
pop esi
pop ebx
add esp, 0x14
jmp 0x54f180
xor edi, edi
test edx, 0x400000
jne 0x552cd0
add dword [esi + 0x68], ebx
test dword [ecx + 0x18], 0x800000
mov edi, dword [esi + 0x68]
je 0x552cd0
sub eax, dword [esi + 0x5c]
add ecx, 0x148
sub eax, ebx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x24], 0
call fcn.0053d0b0
push 0x10
push 0
mov ecx, esi
call fcn.005382c0
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
shr edx, 0x14
and dl, bl
mov byte [eax + 0xc], dl
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
mov edx, dword [ecx + 0x140]
mov ebx, eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x13c]
sub edx, eax
add edx, 3
and edx, 0xfffffffc
add edx, eax
mov dword [ecx + 0x140], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x140]
sub ecx, dword [eax + 0x13c]
mov dl, byte [esi + 0x7c]
mov dword [esi + 0x78], ecx
mov ebp, dword [eax + 0x18]
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x14], ebx
mov byte [esp + 0x13], dl
mov byte [esi + 0x7c], 0
mov dword [esp + 0x18], eax
mov dword [esi + 0x6c], 0xffffffff
lea esp, [esp]
mov ecx, dword [esi + 0x64]
cmp ecx, dword [esi + 0x60]
je 0x552d63
mov edx, dword [esi + 0x58]
mov ecx, esi
call edx
test al, al
jne 0x552d50
push ebx
mov ecx, esi
call fcn.0054c540
test al, al
je 0x552dc8
cmp byte [esi + 0x7c], 0
je 0x552d8f
mov ebx, ebp
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.005382c0
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [eax + 0x18], ebp
mov eax, ebp
shr eax, 0x14
and al, 1
cmp byte [esi + 0xc], al
je 0x552da3
mov byte [esi + 0xc], al
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x60]
mov dl, byte [esp + 0x13]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x64]
mov byte [esi + 0x7c], dl
cmp eax, ecx
jne 0x552dd2
sub ecx, dword [esi + 0x5c]
push ecx
push 8
mov ecx, esi
call fcn.0054d7c0
pop edi
pop ebp
pop esi
xor al, al
pop ebx
add esp, 0x14
ret
test edi, edi
je 0x552df8
mov ecx, dword [esi]
test dword [ecx + 0x18], 0x800000
je 0x552df8
sub eax, dword [esi + 0x5c]
lea edx, [edi - 1]
push edx
add ecx, 0x148
mov ebp, eax
call fcn.00536da0
mov dword [eax + 4], ebp
inc dword [esi + 0x64]
push 0x10
push 1
mov ecx, esi
call fcn.005382c0
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
shr edx, 0x14
and dl, 1
mov byte [eax + 0xc], dl
mov eax, dword [esp + 0x1c]
lea ecx, [edi - 1]
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], eax
cmp ecx, 0x1e
ja 0x552e33
mov edx, 1
shl edx, cl
or dword [esi + 0x18], edx
pop edi
pop ebp
pop esi
mov al, 1
pop ebx
add esp, 0x14
ret