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

Disassembly:
push 0xffffffffffffffff
push 0x4fd567
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x543f30]
xor eax, esp
mov dword [esp + 0xc4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x543f30]
xor eax, esp
push eax
lea eax, [esp + 0xdc]
mov dword fs:[0], eax
mov esi, ecx
add dword [esi + 0x64], 2
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x64]
lea edi, [esi + 0x64]
mov dword [esp + 0x30], eax
cmp ebx, eax
jne 0x4de0bc
add ebx, 0xfffffffe
mov dword [edi], ebx
mov eax, dword [esi + 4]
mov edx, dword [eax]
mov ecx, dword [edx + 8]
mov eax, dword [ecx + 4]
cmp byte [eax + 0x11], 0
mov ebp, dword [edi]
movzx ebx, word [ebp]
jne 0x4de085
mov edi, edi
cmp word [eax + 0xc], bx
jae 0x4de07b
mov eax, dword [eax + 8]
jmp 0x4de07f
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0x11], 0
je 0x4de070
mov eax, dword [edx + 8]
mov dword [esp + 0x20], ecx
cmp ecx, eax
je 0x4de09c
cmp bx, word [ecx + 0xc]
jb 0x4de09c
lea eax, [esp + 0x20]
jmp 0x4de0a4
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
mov eax, dword [eax]
cmp eax, dword [edx + 8]
je 0x4de0b5
cmp byte [eax + 0xe], 1
je 0x4de705
add ebp, 0xfffffffe
mov dword [edi], ebp
jmp 0x4de057
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
mov ebp, dword [ecx]
mov ecx, eax
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x30]
mov dword [esp + 0x24], ecx
push eax
lea ecx, [ebp + 4]
call fcn.004d75b0
mov ebp, dword [ebp + 8]
mov eax, dword [esp + 0x2c]
cmp eax, ebp
je 0x4de158
cmp byte [eax + 0xe], 0xd
jne 0x4de158
mov ebp, dword [esi + 4]
cmp ebx, dword [esp + 0x30]
je 0x4de151
movzx esi, word [ebx]
add ebx, 2
mov dword [edi], ebx
mov edx, dword [ebp]
mov ecx, dword [edx + 8]
mov eax, dword [ecx + 4]
cmp byte [eax + 0x11], 0
jne 0x4de125
lea ecx, [ecx]
cmp word [eax + 0xc], si
jae 0x4de11b
mov eax, dword [eax + 8]
jmp 0x4de11f
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0x11], 0
je 0x4de110
mov eax, dword [edx + 8]
mov dword [esp + 0x20], ecx
cmp ecx, eax
je 0x4de13c
cmp si, word [ecx + 0xc]
jb 0x4de13c
lea eax, [esp + 0x20]
jmp 0x4de144
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
mov eax, dword [eax]
cmp eax, dword [edx + 8]
je 0x4de0f0
cmp byte [eax + 0xe], 2
jne 0x4de0f0
mov al, 1
jmp 0x4df536
push 0x10
push 0
mov ecx, esi
mov dword [esp + 0x38], 0
call fcn.004e7eb0
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
shr edx, 0x14
mov ebp, eax
and dl, 1
mov byte [ebp + 0xc], dl
mov eax, dword [esi]
mov edx, dword [eax + 0x13c]
mov ecx, ebp
sub ecx, edx
mov dword [esp + 0x20], 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 ebx, dword [esi]
mov eax, dword [ebx + 0x140]
sub eax, dword [ebx + 0x13c]
mov cl, byte [esi + 0x7c]
mov edx, dword [esi + 0x6c]
mov dword [esi + 0x78], eax
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x70]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x70], eax
mov eax, dword [edi]
mov byte [esi + 0x7c], 0
mov dword [esi + 0x6c], 0xffffffff
movzx eax, word [eax]
mov dword [esp + 0x3c], edx
movzx edx, ax
mov byte [esp + 0x1f], cl
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edx
push eax
lea edx, [esp + 0x2c]
push edx
add ecx, 4
mov byte [esp + 0x2f], 1
call fcn.004d75b0
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x28]
cmp ecx, eax
jne 0x4de22c
xor eax, eax
jmp 0x4de230
movzx eax, byte [ecx + 0xe]
movzx eax, al
dec eax
cmp eax, 0x34
ja case.0x4de244.3
movzx eax, byte [eax + 0x4df594]
jmp dword [eax*4 + 0x4df560]
mov eax, dword [esi + 0x68]
mov dword [esi + 0x6c], eax
xor eax, eax
mov dword [ebp + 8], eax
add dword [edi], 2
mov dword [esp + 0x14], eax
jmp 0x4df114
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x60]
push ecx
push 0xa
push eax
push edi
call fcn.004d6300
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x4de291
mov ecx, dword [edi]
movzx edx, word [ecx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 2
je 0x4df066
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
je 0x4de2bb
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4de2a6
push str.The_recursive_sub_expression_refers_to_an_invalid_marking_group__or_is_unterminated.
lea ecx, [esp + 0x6c]
call fcn.00404f45
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x68]
push eax
sar ecx, 1
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xf0], 0
call fcn.004d8930
lea ecx, [esp + 0x68]
call fcn.0040125d
jmp 0x4df534
mov eax, dword [edi]
mov ecx, dword [esi + 4]
add eax, 2
push ecx
mov dword [edi], eax
mov eax, dword [esi + 0x60]
push 0xa
push eax
push edi
call fcn.004d6300
mov ebx, eax
add esp, 0x10
test ebx, ebx
jle 0x4de332
mov edx, dword [edi]
movzx eax, word [edx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 2
jne 0x4de332
add ebx, dword [esi + 0x68]
jmp 0x4df066
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4de35c
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4de347
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x88]
call fcn.00404f45
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
lea ecx, [esp + 0x84]
push ecx
sar edx, 1
push edx
push 0x14
mov ecx, esi
mov dword [esp + 0xf0], 1
call fcn.004d8930
lea ecx, [esp + 0x84]
call fcn.0040125d
jmp 0x4df534
mov eax, dword [edi]
mov ecx, dword [esi + 4]
add eax, 2
push ecx
mov dword [edi], eax
mov eax, dword [esi + 0x60]
push 0xa
push eax
push edi
call fcn.004d6300
add esp, 0x10
test eax, eax
jg 0x4de416
add dword [edi], 0xfffffffe
mov ecx, esi
call fcn.004dbe30
mov ebx, dword [edi]
mov dword [esp + 0x18], eax
cmp ebx, dword [esi + 0x60]
jne 0x4df08b
add ebx, 0xfffffffe
mov eax, dword [esi + 4]
mov dword [edi], ebx
mov ebp, dword [eax]
movzx edx, word [ebx]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [ebp + 4]
mov dword [esp + 0x3c], edx
call fcn.004d75b0
mov eax, dword [esp + 0x28]
cmp eax, dword [ebp + 8]
je 0x4de411
movzx eax, byte [eax + 0xe]
cmp al, 1
je 0x4de587
sub ebx, 2
jmp 0x4de3dc
mov ebx, dword [esi + 0x68]
sub ebx, eax
inc ebx
test ebx, ebx
jg 0x4df066
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
je 0x4de455
lea esp, [esp]
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4de440
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0xa4]
call fcn.00404f45
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0xa0]
push eax
sar ecx, 1
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xf0], 2
call fcn.004d8930
lea ecx, [esp + 0xa0]
call fcn.0040125d
jmp 0x4df534
or eax, 0xffffffff
push 0xc
mov dword [ebp + 8], eax
add dword [edi], 2
push 0x10
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.004e7eb0
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
mov edx, dword [ecx + 0x140]
mov dword [esp + 0x30], 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 0x4df114
mov eax, 0xfffffffe
push 0xc
mov dword [ebp + 8], eax
add dword [edi], 2
push 0x10
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.004e7eb0
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
mov edx, dword [ecx + 0x140]
mov dword [esp + 0x30], 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 0x4df114
mov eax, dword [edi]
add eax, 2
mov dword [esp + 0x14], eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x4de594
mov ecx, dword [esi + 4]
mov ebx, eax
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx edx, word [ebx]
push edx
call fcn.004d83f0
cmp al, 1
je 0x4de587
sub ebx, 2
mov dword [edi], ebx
mov eax, ebx
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4de570
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
sar edx, 1
push edx
jmp 0x4df52b
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 0x35
jne 0x4de5ab
mov eax, 0xfffffffe
jmp 0x4de5b2
cmp al, 0x25
jne 0x4de601
or eax, 0xffffffff
push 0xc
mov dword [ebp + 8], eax
add dword [edi], 2
push 0x10
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.004e7eb0
mov edx, dword [esi]
sub eax, dword [edx + 0x13c]
push 0x10
push 0x1a
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.004e7eb0
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 0x4de4db
mov edx, dword [esp + 0x14]
add edx, 0xfffffffe
mov dword [esp + 0x18], 0x3e
mov dword [edi], edx
jmp 0x4ded76
mov eax, 0xfffffffd
jmp 0x4de49e
mov eax, 0xfffffffc
mov dword [ebp + 8], eax
add dword [edi], 2
mov ecx, dword [edi]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x60]
cmp ecx, eax
jne 0x4de674
lea ebx, [ecx - 2]
mov ecx, dword [esi + 4]
mov dword [edi], ebx
movzx edx, word [ebx]
push edx
call fcn.004d83f0
cmp al, 1
je 0x4de667
mov edi, edi
sub ebx, 2
mov dword [edi], ebx
mov eax, ebx
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4de650
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
sar edx, 1
push edx
jmp 0x4df52b
mov ecx, dword [esi + 4]
push ecx
push 0xa
push eax
push edi
call fcn.004d6300
mov ebx, dword [edi]
mov ecx, dword [esi + 0x60]
add esp, 0x10
mov ebp, eax
cmp ebx, ecx
jne 0x4de6c2
mov ecx, dword [esi + 4]
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
call fcn.004d83f0
cmp al, 1
je 0x4df525
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4de6a8
jmp 0x4df525
movzx eax, word [ebx]
cmp eax, 0x52
jne 0x4de842
add ebx, 2
mov dword [edi], ebx
cmp ebx, ecx
jne 0x4de712
mov ecx, dword [esi + 4]
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
call fcn.004d83f0
cmp al, 1
je 0x4de705
lea esp, [esp]
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4de6f0
mov eax, dword [edi]
sub eax, dword [esi + 0x5c]
sar eax, 1
push eax
jmp 0x4df52b
cmp word [ebx], 0x26
jne 0x4de78d
add ebx, 2
mov dword [esp + 0x18], ebx
mov dword [edi], ebx
cmp ebx, ecx
je 0x4de747
mov ebp, dword [esi + 4]
mov ebx, dword [edi]
movzx ecx, word [ebx]
push ecx
mov ecx, ebp
call fcn.004d83f0
cmp al, 2
je 0x4de743
add ebx, 2
mov dword [edi], ebx
cmp ebx, dword [esi + 0x60]
jne 0x4de728
mov ebx, dword [esp + 0x18]
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x4de781
mov ecx, dword [esi + 4]
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
call fcn.004d83f0
cmp al, 1
je 0x4df525
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4de767
jmp 0x4df525
push eax
push ebx
call fcn.004d6190
add esp, 8
jmp 0x4de79d
mov eax, dword [esi + 4]
push eax
push 0xa
push ecx
push edi
call fcn.004d6300
add esp, 0x10
push 0x10
mov ebx, eax
push 0x1b
mov ecx, esi
neg ebx
call fcn.004e7eb0
test ebx, ebx
jns 0x4de7b3
dec ebx
jmp 0x4de7b5
xor ebx, ebx
mov dword [eax + 8], ebx
mov ebx, dword [edi]
movzx eax, word [ebx]
mov ebp, dword [esi + 4]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 2
je 0x4de7fe
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4df525
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4de7e4
jmp 0x4df525
lea eax, [ebx + 2]
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x4df114
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4de835
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4de820
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
sar ecx, 1
push ecx
jmp 0x4df52b
cmp eax, 0x27
je 0x4debac
cmp eax, 0x3c
je 0x4debac
cmp eax, 0x44
jne 0x4de96a
mov edx, str.DEFINE
mov eax, dword [edi]
cmp eax, ecx
je 0x4de87c
movsx bx, byte [edx]
cmp word [eax], bx
jne 0x4de87c
add eax, 2
inc edx
mov dword [edi], eax
cmp byte [edx], 0
jne 0x4de862
mov eax, dword [edi]
cmp eax, ecx
je 0x4de932
cmp byte [edx], 0
jne 0x4de932
push 0x10
push 0x1b
mov ecx, esi
call fcn.004e7eb0
mov dword [eax + 8], 0x270f
mov ebx, dword [edi]
movzx edx, word [ebx]
mov ebp, dword [esi + 4]
push edx
mov ecx, ebp
call fcn.004d83f0
cmp al, 2
je 0x4de8ea
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4df525
lea ecx, [ecx]
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4de8d0
jmp 0x4df525
lea eax, [ebx + 2]
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x4df114
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4de925
lea esp, [esp]
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4de910
mov eax, dword [edi]
sub eax, dword [esi + 0x5c]
sar eax, 1
push eax
jmp 0x4df52b
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4df525
jmp 0x4de950
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4de950
jmp 0x4df525
test ebp, ebp
jle 0x4dea14
push 0x10
push 0x1b
mov ecx, esi
call fcn.004e7eb0
mov dword [eax + 8], ebp
mov ebx, dword [edi]
movzx ecx, word [ebx]
mov ebp, dword [esi + 4]
push ecx
mov ecx, ebp
call fcn.004d83f0
cmp al, 2
je 0x4de9cc
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx edx, word [ebx]
push edx
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4df525
lea esp, [esp]
sub ebx, 2
mov dword [edi], ebx
mov eax, ebx
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4de9b0
jmp 0x4df525
lea eax, [ebx + 2]
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x4df114
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx edx, word [ebx]
push edx
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4dea07
mov edi, edi
sub ebx, 2
mov dword [edi], ebx
mov eax, ebx
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4de9f0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
sar edx, 1
push edx
jmp 0x4df52b
mov ebp, dword [esi + 4]
push eax
mov ecx, ebp
call fcn.004d83f0
mov ecx, ebp
cmp al, 8
je 0x4dea5a
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
call fcn.004d83f0
cmp al, 1
je 0x4df525
jmp 0x4dea40
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4dea40
jmp 0x4df525
add ebx, 2
mov dword [edi], ebx
cmp ebx, dword [esi + 0x60]
jne 0x4dea98
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
call fcn.004d83f0
cmp al, 1
je 0x4dea8b
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4dea76
mov eax, dword [edi]
sub eax, dword [esi + 0x5c]
sar eax, 1
push eax
jmp 0x4df52b
movzx eax, word [ebx]
push eax
call fcn.004d83f0
cmp al, 0x14
jne 0x4deb4e
add ebx, 2
mov dword [edi], ebx
cmp ebx, dword [esi + 0x60]
jne 0x4deae9
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4deadc
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4deac7
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
sar ecx, 1
push ecx
jmp 0x4df52b
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 0x25
je 0x4deb44
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 0x35
je 0x4deb44
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx edx, word [ebx]
push edx
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4deb37
jmp 0x4deb20
sub ebx, 2
mov dword [edi], ebx
mov eax, ebx
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4deb20
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
sar edx, 1
push edx
jmp 0x4df52b
add ebx, 0xfffffffa
mov dword [edi], ebx
jmp 0x4df114
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 0x25
je 0x4deba2
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 0x35
je 0x4deba2
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4deb95
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4deb80
mov eax, dword [edi]
sub eax, dword [esi + 0x5c]
sar eax, 1
push eax
jmp 0x4df52b
add ebx, 0xfffffffc
mov dword [edi], ebx
jmp 0x4df114
lea eax, [ebx + 2]
mov dword [edi], eax
mov edx, eax
cmp eax, ecx
je 0x4debce
movzx ecx, word [eax]
cmp ecx, 0x3e
je 0x4debce
cmp ecx, 0x27
je 0x4debce
add eax, 2
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x4debb7
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x4dec0c
mov ecx, dword [esi + 4]
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx edx, word [ebx]
push edx
call fcn.004d83f0
cmp al, 1
je 0x4df525
mov edi, edi
sub ebx, 2
mov dword [edi], ebx
mov eax, ebx
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4debf0
jmp 0x4df525
push eax
push edx
call fcn.004d6190
add esp, 8
push 0x10
push 0x1b
mov ecx, esi
mov ebx, eax
call fcn.004e7eb0
mov dword [eax + 8], ebx
mov eax, dword [edi]
movzx ecx, word [eax]
cmp ecx, 0x3e
je 0x4dec35
cmp ecx, 0x27
jne 0x4dec3f
lea ebx, [eax + 2]
mov dword [edi], ebx
cmp ebx, dword [esi + 0x60]
jne 0x4deca6
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
je 0x4dec69
sub ebx, 2
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4dec54
push str.Unterminated_named_capture.
lea ecx, [esp + 0x50]
call fcn.00404f45
mov dword [esp + 0xe4], 3
mov eax, dword [edi]
sub eax, dword [esi + 0x5c]
lea edx, [esp + 0x4c]
push edx
sar eax, 1
push eax
push 0x14
mov ecx, esi
call fcn.004d8930
lea ecx, [esp + 0x4c]
call fcn.0040125d
jmp 0x4df534
movzx ecx, word [ebx]
mov ebp, dword [esi + 4]
push ecx
mov ecx, ebp
call fcn.004d83f0
cmp al, 2
je 0x4decf4
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx edx, word [ebx]
push edx
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4dece7
lea esp, [esp]
sub ebx, 2
mov dword [edi], ebx
mov eax, ebx
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4decd0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
sar edx, 1
push edx
jmp 0x4df52b
lea eax, [ebx + 2]
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x4df114
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4ded2b
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4ded16
mov eax, dword [edi]
sub eax, dword [esi + 0x5c]
sar eax, 1
push eax
jmp 0x4df52b
mov eax, dword [edi]
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4df525
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4ded53
jmp 0x4df525
movzx ecx, word [esp + 0x18]
mov dword [esp + 0x18], ecx
test dword [ebx + 0x18], 0x400000
mov dword [esp + 0x14], 0
jne 0x4dedc1
mov eax, dword [esi + 0x68]
inc eax
mov dword [esi + 0x68], eax
test dword [ebx + 0x18], 0x800000
mov dword [esp + 0x14], eax
je 0x4dedc1
mov eax, dword [edi]
sub eax, dword [esi + 0x5c]
lea edx, [esp + 0x34]
sar eax, 1
add eax, 0xfffffffe
push edx
lea ecx, [ebx + 0x148]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
call fcn.004daff0
mov eax, dword [esp + 0x14]
mov dword [ebp + 8], eax
add dword [edi], 2
mov eax, dword [edi]
mov ecx, dword [esi + 0x60]
mov edx, eax
cmp eax, ecx
jne 0x4dee12
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4dee05
jmp 0x4dedf0
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4dedf0
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
sar ecx, 1
push ecx
jmp 0x4df52b
mov bx, word [esp + 0x18]
cmp word [eax], bx
je 0x4dee26
add eax, 2
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x4dee12
mov eax, dword [edi]
cmp eax, ecx
jne 0x4dee61
mov ecx, dword [esi + 4]
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx edx, word [ebx]
push edx
call fcn.004d83f0
cmp al, 1
je 0x4df525
sub ebx, 2
mov dword [edi], ebx
mov eax, ebx
movzx ecx, word [eax]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4dee45
jmp 0x4df525
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi]
push eax
push edx
call fcn.004dcbc0
add dword [edi], 2
jmp 0x4df114
mov eax, dword [esp + 0x18]
cmp ax, 0x52
jne 0x4deeed
mov eax, dword [edi]
mov ecx, dword [esi + 4]
add eax, 2
mov dword [edi], eax
movzx edx, word [eax]
push edx
mov dword [esp + 0x18], eax
xor ebx, ebx
call fcn.004d83f0
cmp al, 2
je 0x4df066
mov eax, dword [esp + 0x14]
add eax, 0xfffffffe
mov dword [edi], eax
jmp 0x4deeb0
mov ebp, dword [edi]
mov eax, dword [esi + 4]
movzx ecx, word [ebp]
mov ebx, dword [eax]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], ecx
push eax
lea ecx, [ebx + 4]
call fcn.004d75b0
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 8]
je 0x4deee6
movzx eax, byte [eax + 0xe]
cmp al, 1
je 0x4de835
add ebp, 0xfffffffe
mov dword [edi], ebp
jmp 0x4deeb0
cmp ax, 0x26
jne 0x4def97
mov ebx, dword [edi]
add ebx, 2
mov dword [edi], ebx
mov dword [esp + 0x34], ebx
cmp ebx, dword [esi + 0x60]
je 0x4def48
movzx edx, word [ebx]
mov eax, dword [esi + 4]
mov eax, dword [eax]
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], edx
push ecx
lea edx, [esp + 0x18]
push edx
lea ecx, [eax + 4]
mov dword [esp + 0x20], eax
call fcn.004d75b0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
je 0x4def3e
cmp byte [ecx + 0xe], 2
je 0x4def48
add ebx, 2
mov dword [edi], ebx
cmp ebx, dword [esi + 0x60]
jne 0x4def07
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x4def8d
lea ebp, [eax - 2]
mov eax, dword [esi + 4]
mov dword [edi], ebp
mov ebx, dword [eax]
movzx edx, word [ebp]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x24]
push ecx
lea ecx, [ebx + 4]
mov dword [esp + 0x30], edx
call fcn.004d75b0
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 8]
je 0x4def88
movzx eax, byte [eax + 0xe]
cmp al, 1
je 0x4de587
sub ebp, 2
jmp 0x4def52
push eax
mov eax, dword [esp + 0x38]
jmp 0x4df05b
cmp ax, 0x50
jne 0x4de3c3
mov eax, dword [edi]
mov ecx, dword [esi + 0x60]
add eax, 2
mov dword [edi], eax
cmp eax, ecx
jne 0x4defe6
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4defd9
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4defc4
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
sar ecx, 1
push ecx
jmp 0x4df52b
cmp word [eax], 0x3e
jne 0x4de3c3
add eax, 2
mov dword [esp + 0x18], eax
mov dword [edi], eax
cmp eax, ecx
je 0x4df020
lea ecx, [ecx]
mov ebx, dword [edi]
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 2
je 0x4df01c
add ebx, 2
mov dword [edi], ebx
cmp ebx, dword [esi + 0x60]
jne 0x4df000
mov eax, dword [esp + 0x18]
mov ecx, dword [edi]
cmp ecx, dword [esi + 0x60]
jne 0x4df05a
lea ebx, [ecx - 2]
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4df525
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4df040
jmp 0x4df525
push ecx
push eax
call fcn.004d6190
mov ebx, eax
add esp, 8
xor eax, eax
push 0x10
push 0x1d
mov ecx, esi
mov dword [esp + 0x1c], eax
mov dword [ebp + 8], eax
call fcn.004e7eb0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0
mov ecx, dword [esi]
mov ebx, dword [ecx + 0x18]
jmp 0x4df100
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x18]
shr eax, 0x14
shr ecx, 0x14
xor al, cl
and al, 1
mov byte [esi + 0x7c], al
xor eax, eax
mov dword [ebp + 8], eax
mov ebx, dword [edi]
mov ebp, dword [esi + 4]
mov dword [esp + 0x14], eax
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 2
jne 0x4df0d4
mov edx, dword [esp + 0x18]
push edx
mov ecx, esi
call fcn.004d4c10
mov al, byte [esi + 0x7c]
or byte [esp + 0x1f], al
mov byte [esp + 0x27], 0
jmp 0x4df0f6
movzx eax, word [ebx]
push eax
mov ecx, ebp
call fcn.004d83f0
cmp al, 0x24
jne 0x4df4fb
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.004d4c10
add dword [edi], 2
cmp byte [esi + 0x7c], 0
je 0x4df114
mov ebx, dword [esp + 0x18]
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.004e7eb0
mov byte [eax + 8], bl
mov edx, dword [edi]
cmp edx, dword [esi + 0x60]
je 0x4df126
mov eax, dword [esi + 0x58]
mov ecx, esi
call eax
test al, al
jne 0x4df114
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, esi
call fcn.004d8b20
test al, al
jne 0x4df183
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
je 0x4df165
jmp 0x4df150
sub ebx, 2
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4df150
push str.Invalid_alternation_operators_within___...__block.
lea ecx, [esp + 0x50]
call fcn.00404f45
mov dword [esp + 0xe4], 4
jmp 0x4dec82
mov eax, dword [edi]
mov ebp, dword [esi + 0x60]
cmp eax, ebp
jne 0x4df1c3
lea ebx, [eax - 2]
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4df1b6
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4df1a1
sub ebp, dword [esi + 0x5c]
sar ebp, 1
push ebp
push 8
jmp 0x4df52d
add eax, 2
cmp byte [esp + 0x27], 0
mov dword [edi], eax
je 0x4df1f9
cmp byte [esi + 0x7c], 0
je 0x4df1ed
mov ebx, dword [esp + 0x2c]
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.004e7eb0
mov byte [eax + 8], bl
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.004d4c10
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x14]
test ebx, ebx
je 0x4df2a0
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 0x4df2a0
cmp ebp, 0xfffffffe
je 0x4df2a0
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
je 0x4df275
sub ebx, 2
mov dword [edi], ebx
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
jne 0x4df260
push str.Invalid_or_empty_zero_width_assertion.
lea ecx, [esp + 0x50]
call fcn.00404f45
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x4c]
push eax
sar ecx, 1
mov dword [esp + 0xe8], 5
push ecx
jmp 0x4dec8f
cmp ebp, 0xfffffffc
jne 0x4df472
mov edx, dword [esi]
mov eax, dword [edx + 0x13c]
mov ebx, dword [esp + 0x44]
add eax, ebx
cmp dword [eax], 0x11
je 0x4df37b
push 0x110
push 0x11
push ebx
mov ecx, esi
call fcn.004e7520
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 + 0x14]
mov eax, dword [esi]
mov eax, dword [eax + 0x13c]
add eax, ebx
add eax, dword [eax + 4]
mov eax, dword [eax]
cmp eax, 0x1b
je 0x4df472
test eax, eax
je 0x4df472
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4df335
nop
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4df320
push str.A_repetition_operator_cannot_be_applied_to_a_zero_width_assertion.
lea ecx, [esp + 0xc0]
call fcn.00404f45
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
lea ecx, [esp + 0xbc]
push ecx
sar edx, 1
push edx
push 0xd
mov ecx, esi
mov dword [esp + 0xf0], 8
call fcn.004d8930
lea ecx, [esp + 0xbc]
call fcn.0040125d
jmp 0x4df534
mov ecx, dword [eax + 8]
cmp dword [eax + ecx], 0x11
jne 0x4df3f2
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx edx, word [ebx]
mov ecx, dword [esi + 4]
push edx
call fcn.004d83f0
cmp al, 1
je 0x4df3b5
lea esp, [esp]
sub ebx, 2
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
jne 0x4df3a0
push str.More_than_one_alternation_operator__was_encountered_inside_a_conditional_expression.
lea ecx, [esp + 0x50]
call fcn.00404f45
mov eax, dword [edi]
sub eax, dword [esi + 0x5c]
lea edx, [esp + 0x4c]
push edx
sar eax, 1
push eax
push 2
mov ecx, esi
mov dword [esp + 0xf0], 6
call fcn.004d8930
lea ecx, [esp + 0x4c]
call fcn.0040125d
jmp 0x4df534
add eax, dword [eax + 4]
cmp dword [eax], 0x1b
jne 0x4df2ea
cmp dword [eax + 8], 0x270f
jne 0x4df2ea
add dword [edi], 0xfffffffe
mov ebx, dword [edi]
movzx ecx, word [ebx]
push ecx
mov ecx, dword [esi + 4]
call fcn.004d83f0
cmp al, 1
je 0x4df435
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4df420
push str.Alternation_operators_are_not_allowed_inside_a_DEFINE_block.
lea ecx, [esp + 0x50]
call fcn.00404f45
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
lea ecx, [esp + 0x4c]
push ecx
sar edx, 1
push edx
push 2
mov ecx, esi
mov dword [esp + 0xf0], 7
call fcn.004d8930
lea ecx, [esp + 0x4c]
call fcn.0040125d
jmp 0x4df534
push 0x10
push 1
mov ecx, esi
call fcn.004e7eb0
mov dword [eax + 8], ebp
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
mov ecx, dword [esp + 0x40]
shr edx, 0x14
and dl, 1
mov byte [eax + 0xc], dl
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 0x1f]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x78], ecx
mov byte [esi + 0x7c], dl
cmp eax, dword [esi + 0x68]
jbe 0x4df4ae
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], ecx
test ebp, ebp
jle 0x4df4f7
mov eax, dword [esi]
test dword [eax + 0x18], 0x800000
je 0x4df4e5
mov edi, dword [edi]
sub edi, dword [esi + 0x5c]
lea edx, [ebp - 1]
sar edi, 1
push edx
lea ecx, [eax + 0x148]
dec edi
call fcn.004d4cd0
mov dword [eax + 4], edi
cmp ebp, 0x20
jge 0x4df4f7
lea ecx, [ebp - 1]
mov eax, 1
shl eax, cl
or dword [esi + 0x18], eax
mov al, 1
jmp 0x4df536
add ebx, 0xfffffffe
mov dword [edi], ebx
movzx ecx, word [ebx]
push ecx
mov ecx, ebp
call fcn.004d83f0
cmp al, 1
je 0x4df525
nop
sub ebx, 2
mov dword [edi], ebx
movzx eax, word [ebx]
mov ecx, dword [esi + 4]
push eax
call fcn.004d83f0
cmp al, 1
jne 0x4df510
sub ebx, dword [esi + 0x5c]
sar ebx, 1
push ebx
push 0x14
mov ecx, esi
call fcn.004da550
xor al, al
mov ecx, dword [esp + 0xdc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.0049d196
add esp, 0xd4
ret
sub esp, 0x14
push ebx
push esi
mov esi, ecx
add dword [esi + 0x64], 2
mov ebx, dword [esi + 0x64]
cmp ebx, dword [esi + 0x60]
jne 0x4e0778
sub ebx, dword [esi + 0x5c]
sar ebx, 1
push ebx
push 8
call fcn.004da550
pop esi
xor al, al
pop ebx
add esp, 0x14
ret
push ebp
mov ebp, dword [esi]
mov eax, dword [ebp + 0x18]
push edi
test eax, 0x203
je 0x4e0792
and eax, 0x1003
cmp eax, 0x1001
jne 0x4e07cf
mov eax, dword [esi + 4]
movzx ecx, word [ebx]
mov edi, dword [eax]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], ecx
push eax
lea ecx, [edi + 4]
call fcn.004d75b0
mov eax, dword [esp + 0x18]
cmp eax, dword [edi + 8]
je 0x4e07cf
movzx eax, byte [eax + 0xe]
cmp al, 8
jne 0x4e07cf
pop edi
pop ebp
mov ecx, esi
pop esi
pop ebx
add esp, 0x14
jmp 0x4de000
xor edi, edi
test dword [ebp + 0x18], 0x400000
jne 0x4e080b
inc dword [esi + 0x68]
test dword [ebp + 0x18], 0x800000
mov edi, dword [esi + 0x68]
je 0x4e080b
sub ebx, dword [esi + 0x5c]
lea ecx, [esp + 0x1c]
sar ebx, 1
dec ebx
push ecx
lea ecx, [ebp + 0x148]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0
call fcn.004daff0
push 0x10
push 0
mov ecx, esi
call fcn.004e7eb0
mov dword [eax + 8], edi
mov edx, dword [esi]
mov ecx, dword [edx + 0x18]
shr ecx, 0x14
and cl, 1
mov byte [eax + 0xc], cl
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
mov edx, dword [esi + 0x78]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + 0x140]
mov ebx, 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 + 0x18], ebx
mov byte [esp + 0x13], dl
mov byte [esi + 0x7c], 0
mov dword [esp + 0x14], eax
mov dword [esi + 0x6c], 0xffffffff
mov ecx, dword [esi + 0x64]
cmp ecx, dword [esi + 0x60]
je 0x4e0898
mov edx, dword [esi + 0x58]
mov ecx, esi
call edx
test al, al
jne 0x4e0885
push ebx
mov ecx, esi
call fcn.004d8b20
test al, al
je 0x4e08ff
cmp byte [esi + 0x7c], 0
je 0x4e08c4
mov ebx, ebp
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.004e7eb0
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [eax + 0x18], ebp
mov eax, ebp
shr eax, 0x14
and al, 1
cmp byte [esi + 0xc], al
je 0x4e08d8
mov byte [esi + 0xc], al
mov eax, dword [esp + 0x14]
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 0x4e0909
sub ecx, dword [esi + 0x5c]
sar ecx, 1
push ecx
push 8
mov ecx, esi
call fcn.004da550
pop edi
pop ebp
pop esi
xor al, al
pop ebx
add esp, 0x14
ret
test edi, edi
je 0x4e0931
mov ecx, dword [esi]
test dword [ecx + 0x18], 0x800000
je 0x4e0931
sub eax, dword [esi + 0x5c]
lea edx, [edi - 1]
sar eax, 1
push edx
add ecx, 0x148
mov ebp, eax
call fcn.004d4cd0
mov dword [eax + 4], ebp
add dword [esi + 0x64], 2
push 0x10
push 1
mov ecx, esi
call fcn.004e7eb0
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 0x4e096d
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