Function at 0x419070
Capabilities:
Check for time delay via queryperformancecounter
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov ebx, dword [ebp + 8]
mov eax, dword [0x4636bc]
xor eax, ebp
mov dword [esp + 0x110], eax
xor edi, edi
cmp dword [ebx + 0x490], 0
je 0x41bd4f
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x41bd4f
lea ecx, [ebx + 0x490]
mov dword [esp + 0x20], ecx
push dword [ebp + 0x18]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.00429470
add esp, 0x10
lea eax, [ebx + 0x524]
mov dword [esp + 0x64], eax
mov dword [ebx + 0x528], 0
mov dword [ebx + 0x530], 0
lea esi, [ebx + 0x474]
push 0
push dword [ebx + 0x474]
call fcn.0042a200
add esp, 8
cmp ax, 1
mov dword [esp + 8], esi
jne 0x419116
push 0
push dword [esi]
call fcn.0042a310
add esp, 8
test eax, eax
je 0x41bd67
cmp dword [ebx + 0x58], 0
mov edi, ebx
jne 0x419127
cmp dword [edi + 0x4f8], 0
je 0x41914a
mov dword [edi + 0x7c], 0x676e69
mov dword [edi + 0x79], 0x69737261
mov dword [edi + 0x75], 0x705f656d
mov dword [edi + 0x71], 0x75736572
mov ecx, edi
call fcn.0041c0c0
mov dword [edi + 0x514], 0
mov esi, dword [edi + 0x508]
mov edi, dword [edi + 0x50c]
mov eax, esi
or eax, edi
je 0x419184
lea eax, [esp + 0xf8]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
add esi, dword [esp + 0xf8]
adc edi, dword [esp + 0xfc]
jmp 0x419188
xor esi, esi
xor edi, edi
mov edx, dword [ebp + 8]
mov dword [edx + 0x500], esi
mov dword [edx + 0x504], edi
lea eax, [edx + 0x58]
mov dword [esp + 0x24], eax
lea eax, [edx + 0x4f8]
mov dword [esp + 0x14], eax
lea eax, [edx + 0x71]
mov dword [esp + 0xc], eax
lea eax, [edx + 0x4e0]
mov dword [esp + 0x3c], eax
lea eax, [edx + 0x4ec]
mov dword [esp + 0x98], eax
lea eax, [edx + 0x4cc]
mov dword [esp + 0x7c], eax
lea ecx, [edx + 0x4d4]
lea eax, [edx + 0x1c]
mov dword [esp + 0x94], eax
lea eax, [edx + 0x478]
mov dword [esp + 0x40], eax
lea eax, [edx + 0x34]
mov dword [esp + 0x74], eax
lea eax, [edx + 0x28]
mov dword [esp + 0x78], eax
lea eax, [edx + 0x4a0]
mov dword [esp + 0x60], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 8]
push dword [eax]
call fcn.0042a1f0
add esp, 4
mov dword [esp + 0x68], eax
test eax, eax
je 0x41b310
xor eax, eax
mov ebx, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x18], eax
push eax
push dword [ebx]
call fcn.0042d390
add esp, 8
test al, al
jne 0x419293
mov eax, dword [esp + 0x18]
add eax, 1
mov ebx, dword [esp + 8]
push dword [ebx]
mov edi, eax
call fcn.0042a1f0
add esp, 4
mov dword [esp + 0x68], eax
cmp edi, eax
mov eax, edi
jb 0x419240
jmp 0x41b31c
push eax
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042d390
add esp, 8
test al, al
je 0x419253
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x4192a9
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x419339
mov esi, dword [esp + 0x18]
push esi
mov ebx, dword [ebp + 8]
push dword [ebx + 0x474]
lea eax, [esp + 0xbc]
push eax
call fcn.0042a220
add esp, 0xc
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
push esi
push dword [ebx + 0x474]
lea eax, [esp + 0xb0]
push eax
call fcn.0042a220
add esp, 0xc
mov edi, dword [esp + 0xac]
push esi
push dword [ebx + 0x474]
call fcn.0042a200
add esp, 8
movzx ebx, ax
mov eax, dword [ebp + 8]
push dword [eax + 0x474]
call fcn.0042a1f0
add esp, 4
push dword [esp]
push edi
push ebx
mov ebx, dword [ebp + 8]
push eax
push esi
push str.process_version:_d__version_count:_u__state:_d__row:_u__col:_u
push 0x400
push dword [esp + 0x28]
call fcn.0041c050
add esp, 0x20
mov ecx, ebx
call fcn.0041c0c0
mov edi, dword [esp + 0x18]
push edi
mov esi, dword [esp + 0xc]
push dword [esi]
call fcn.0042a200
add esp, 8
mov word [esp + 0x12], ax
push edi
push dword [esi]
lea eax, [esp + 0x10c]
push eax
call fcn.0042a220
add esp, 0xc
mov eax, dword [esp + 0x104]
mov dword [esp + 0x4c], eax
push edi
push dword [esi]
call fcn.0042a250
add esp, 8
mov ecx, eax
mov eax, dword [0x453754]
mov dword [esp + 0xd0], eax
mov eax, dword [0x453750]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
cmp dword [esp + 0x68], 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x88], edx
jne 0x4198f1
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], edx
jmp 0x41941b
movzx eax, word [ebx + 0x26]
mov esi, dword [ebp + 8]
movzx eax, ax
push eax
push dword [esi + 0x490]
call fcn.00416ab0
add esp, 8
push eax
push str.reusable_node_has_different_external_scanner_state_symbol:_s
push 0x400
push dword [esp + 0x18]
call fcn.0041c050
add esp, 0x10
mov ecx, esi
call fcn.0041c0c0
mov ecx, dword [esp + 0x3c]
call fcn.0041c3f0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4e4]
test ecx, ecx
je 0x419440
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov edx, ecx
shl edx, 4
mov ebx, dword [edx + eax - 0x10]
mov eax, dword [edx + eax - 0xc]
jmp 0x419442
xor ebx, ebx
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], ebx
test ebx, ebx
je 0x4198db
test ecx, ecx
je 0x419470
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
shl ecx, 4
mov ecx, dword [ecx + edx - 4]
jmp 0x419475
mov ecx, 0xffffffff
mov edi, eax
shr edi, 0x18
test bl, 1
jne 0x419490
mov eax, dword [ebx + 4]
add eax, dword [ebx + 0x10]
jmp 0x419498
shr eax, 0x10
movzx eax, al
add eax, edi
mov edx, ebx
shr edx, 8
mov dword [esp], ecx
add eax, ecx
test bl, 1
jne 0x4194b0
movzx ecx, word [ebx + 0x26]
jmp 0x4194b3
movzx ecx, dl
cmp cx, 1
sbb esi, esi
or esi, eax
mov eax, dword [esp]
cmp eax, dword [esp + 0x4c]
ja 0x419880
jae 0x419500
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x4194e0
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x419616
test bl, 1
jne 0x4195e0
movzx eax, word [ebx + 0x26]
jmp 0x4195e3
mov dword [esp + 0x34], edi
mov dword [esp + 4], edx
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x98]
mov edx, dword [edi]
mov edi, dword [edi + 4]
push ecx
push eax
push edi
push edx
call fcn.00428f90
add esp, 0x10
test al, al
je 0x4195b0
test bl, 1
mov ecx, dword [esp + 4]
jne 0x4196e2
movzx eax, byte [ebx + 0x2a]
mov edi, str.has_changes
test al, 0x20
jne 0x419730
cmp word [ebx + 0x26], 0xffff
je 0x419722
mov edi, str.is_missing
test byte [ebx + 0x2b], 2
jne 0x419730
mov edi, str.is_fragile
test al, 0x18
jne 0x419730
mov edi, str.contains_different_included_range
push esi
push dword [esp + 4]
mov eax, dword [ebp + 8]
push dword [eax + 0x530]
push dword [esp + 0x70]
call fcn.0042dd00
mov ecx, dword [esp + 0x14]
add esp, 0x10
test al, al
jne 0x419730
jmp 0x41b048
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
mov ecx, dword [esp + 4]
jne 0x4195ca
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x419412
test bl, 1
je 0x4193db
movzx eax, cl
jmp 0x4193df
movzx eax, dl
movzx eax, ax
push eax
mov edi, dword [ebp + 8]
push dword [edi + 0x490]
call fcn.00416ab0
add esp, 8
push eax
push str.past_reusable_node_symbol:_s
push 0x400
push dword [esp + 0x18]
call fcn.0041c050
add esp, 0x10
mov ecx, edi
call fcn.0041c0c0
cmp esi, dword [esp + 0x4c]
jbe 0x419412
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x4e0]
mov ecx, dword [ecx + 0x4e4]
mov edx, ecx
shl edx, 4
mov ebx, dword [edx + eax - 0x10]
test bl, 1
jne 0x419412
cmp word [ebx + 0x24], 0
je 0x419412
mov edx, dword [edx + eax - 4]
mov dword [esp], edx
lea edi, [ecx + 1]
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x4e8]
cmp edi, edx
jbe 0x4196a8
lea esi, [edx + edx]
cmp esi, 9
mov dword [esp + 4], edx
mov edx, 8
cmovb esi, edx
cmp esi, edi
cmovb esi, edi
cmp dword [esp + 4], esi
jae 0x4196a8
mov ecx, esi
shl ecx, 4
push ecx
push eax
call dword [0x463778]
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4e0], eax
mov dword [ecx + 0x4e8], esi
mov ecx, dword [ecx + 0x4e4]
lea edi, [ecx + 1]
mov esi, dword [ebp + 8]
mov dword [esi + 0x4e4], edi
movzx edx, word [ebx + 0x24]
shl edx, 3
mov esi, ebx
sub esi, edx
neg edx
mov edx, dword [ebx + edx + 4]
shl ecx, 4
mov esi, dword [esi]
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], edx
mov dword [eax + ecx + 8], 0
mov edx, dword [esp]
mov dword [eax + ecx + 0xc], edx
jmp 0x41941b
mov edi, str.has_changes
test bl, 0x10
jne 0x419730
mov edi, str.is_missing
test bl, 0x20
jne 0x419730
mov edi, str.contains_different_included_range
push esi
push dword [esp + 4]
mov eax, dword [ebp + 8]
push dword [eax + 0x530]
push dword [esp + 0x70]
call fcn.0042dd00
mov ecx, dword [esp + 0x14]
add esp, 0x10
test al, al
jne 0x419730
jmp 0x419a4c
mov edi, str.is_error
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x419742
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x419784
test bl, 1
jne 0x41974d
movzx eax, word [ebx + 0x26]
jmp 0x419750
movzx eax, cl
mov esi, dword [ebp + 8]
movzx eax, ax
push eax
push dword [esi + 0x490]
call fcn.00416ab0
add esp, 8
push eax
push edi
push str.cant_reuse_node__s_tree:_s
push 0x400
push dword [esp + 0x1c]
call fcn.0041c050
add esp, 0x14
mov ecx, esi
call fcn.0041c0c0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x4e0]
mov ecx, dword [ecx + 0x4e4]
mov edx, ecx
shl edx, 4
mov ebx, dword [edx + eax - 0x10]
test bl, 1
jne 0x41984e
cmp word [ebx + 0x24], 0
je 0x41984e
mov edi, dword [edx + eax - 4]
lea edx, [ecx + 1]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x4e8]
cmp edx, esi
mov dword [esp], edx
jbe 0x419814
mov dword [esp + 4], edi
lea edi, [esi + esi]
cmp edi, 9
mov edx, 8
cmovb edi, edx
mov edx, dword [esp]
cmp edi, edx
cmovb edi, edx
cmp esi, edi
jae 0x419810
mov ecx, edi
shl ecx, 4
push ecx
push eax
call dword [0x463778]
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4e0], eax
mov dword [ecx + 0x4e8], edi
mov ecx, dword [ecx + 0x4e4]
lea edx, [ecx + 1]
mov dword [esp], edx
mov edi, dword [esp + 4]
mov edx, dword [ebp + 8]
mov esi, dword [esp]
mov dword [edx + 0x4e4], esi
movzx edx, word [ebx + 0x24]
shl edx, 3
mov esi, ebx
sub esi, edx
neg edx
mov edx, dword [ebx + edx + 4]
shl ecx, 4
mov esi, dword [esi]
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], edx
mov dword [eax + ecx + 8], 0
mov dword [eax + ecx + 0xc], edi
jmp 0x41941b
mov ecx, dword [esp + 0x3c]
call fcn.0041c3f0
mov ebx, dword [ebp + 8]
mov ecx, ebx
mov esi, dword [esp + 0x18]
mov edx, esi
call fcn.0041dbe0
push esi
push dword [ebx + 0x474]
call fcn.0042a200
add esp, 8
mov word [esp + 0x12], ax
jmp 0x41941b
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x50]
jne 0x41989a
cmp dword [eax], 0
je 0x419977
test bl, 1
jne 0x4198a5
movzx eax, word [ebx + 0x26]
jmp 0x4198a8
movzx eax, dl
movzx eax, ax
push eax
mov ebx, dword [ebp + 8]
push dword [ebx + 0x490]
call fcn.00416ab0
add esp, 8
push eax
push str.before_reusable_node_symbol:_s
push 0x400
push dword [esp + 0x18]
call fcn.0041c050
add esp, 0x10
mov ecx, ebx
call fcn.0041c0c0
xor edx, edx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], edx
mov eax, edx
mov esi, eax
mov dword [esp + 0x84], eax
test eax, eax
jne 0x419b3e
mov dword [esp + 0xf8], ecx
mov eax, dword [esp + 0x88]
mov dword [esp + 0xfc], eax
xor esi, esi
mov eax, dword [esp + 0x7c]
cmp dword [eax], 0
je 0x419b30
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x4dc], eax
jne 0x419b30
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov edi, dword [esp + 0x58]
mov edx, dword [edi]
mov edi, dword [edi + 4]
push ecx
push eax
push edi
push edx
call fcn.00428f90
add esp, 0x10
test al, al
je 0x419b30
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4cc]
test al, 1
jne 0x41997e
movzx eax, word [eax + 0x26]
jmp 0x419981
xor edx, edx
jmp 0x4198e1
movzx eax, ah
movzx eax, ax
movzx edi, word [esp + 0x12]
lea ecx, [esp + 0xc0]
push ecx
push eax
push edi
mov ebx, dword [ebp + 8]
push dword [ebx + 0x490]
call fcn.00416960
add esp, 0x10
mov eax, dword [ebx + 0x4cc]
mov dword [esp + 0xec], eax
test al, 1
jne 0x4199d0
lea ecx, [eax + 0x40]
cmp word [eax + 0x24], 0
lea edx, [eax + 0x26]
cmove ecx, edx
movzx ecx, word [ecx]
mov dword [esp], ecx
je 0x4199df
lea ecx, [eax + 0x42]
jmp 0x4199e2
movzx ecx, ah
mov dword [esp], ecx
lea ecx, [esp + 0xee]
jmp 0x4199e2
lea ecx, [eax + 0x28]
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x490]
mov ebx, dword [ecx + 0x58]
mov edx, dword [ebx + edi*4]
cmp dx, 0xffff
je 0x419b30
mov edi, dword [ebp + 8]
movzx edi, byte [edi + 0x4d3]
mov dword [esp + 0x34], edi
cmp dword [esp + 0xc4], 0
je 0x419ad1
mov edi, dword [esp + 4]
movzx edi, word [edi]
cmp dword [ebx + edi*4], edx
jne 0x419ad1
mov edi, dword [esp]
cmp di, word [ecx + 0x64]
jne 0x419b02
test al, 1
jne 0x419aae
mov cl, byte [eax + 0x2b]
shr cl, 2
test cl, 1
je 0x419ab8
jmp 0x419ad1
movzx eax, cl
xor ecx, ecx
mov dword [esp], ecx
mov edi, ecx
movzx ecx, ax
movzx esi, word [esp + 0x12]
lea eax, [esp + 0xc0]
push eax
mov dword [esp + 0x20], ecx
push ecx
push esi
mov eax, dword [esp + 0x2c]
push dword [eax]
call fcn.00416960
add esp, 0x10
mov dword [esp + 0xd4], ebx
mov eax, edi
test al, al
je 0x41b038
lea eax, [ebx + 0x40]
cmp word [ebx + 0x24], 0
lea ecx, [ebx + 0x26]
cmove eax, ecx
movzx eax, word [eax]
mov dword [esp + 0x28], eax
je 0x41b05c
lea ecx, [ebx + 0x42]
jmp 0x41b05f
mov ecx, eax
shr cl, 6
test cl, 1
jne 0x419ad1
lea ecx, [eax + 0x28]
test al, 1
lea edi, [esp + 0xee]
cmovne ecx, edi
movzx edi, word [esp + 0x12]
cmp word [ecx], di
je 0x419b02
test al, 1
mov ecx, dword [esp + 0x34]
jne 0x419adc
mov ecx, dword [eax + 0x10]
test ecx, ecx
setne al
cmp word [esp], 0
sete cl
or cl, al
cmp cl, 1
jne 0x419b30
cmp edx, 0x10000
jae 0x419b30
cmp byte [esp + 0xc8], 0
je 0x419b30
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push ecx
push eax
call fcn.00426f00
add esp, 8
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x4cc]
mov eax, dword [eax + 0x4d0]
jmp 0x419b30
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], esi
test esi, esi
sete al
movzx esi, word [esp + 0x12]
test si, si
sete byte [esp + 0x57]
mov dword [esp + 0x38], esi
test al, 1
je 0x41a6f0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov eax, dword [eax + 0x58]
movzx ecx, word [eax + esi*4]
mov word [esp + 0x34], cx
cmp cx, 0xffff
je 0x41a040
movzx ebx, word [eax + esi*4 + 2]
mov edi, dword [esp + 0x18]
push edi
mov esi, dword [esp + 0xc]
push dword [esi]
lea eax, [esp + 0x100]
push eax
call fcn.0042a220
add esp, 0xc
push edi
mov edi, ebx
push dword [esi]
call fcn.0042a250
add esp, 8
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe4], eax
mov dword [esp + 0x80], 0
mov dword [esp], 0
test di, di
je 0x419bdd
movzx ecx, di
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
imul ecx, dword [eax + 0x10]
add ecx, dword [eax + 0x68]
mov dword [esp], ecx
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
push eax
push edx
push ecx
push dword [ebp + 8]
call fcn.00429530
add esp, 0x10
mov dword [esp + 0x8c], 0
mov dword [esp + 0x5c], 0
xor esi, esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov al, byte [esp + 0x57]
mov byte [esp + 4], al
mov dword [esp + 0x90], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], 0
jmp 0x419c71
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x2c], ecx
mov esi, dword [edx + 0x24]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx + 8]
mov dword [esp + 0xf4], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xec], eax
cmp dword [esp], 0
mov dword [esp + 0x28], edi
je 0x419e82
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x419cb5
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x419ce5
movzx eax, di
push dword [esp + 0xf4]
push dword [esp + 0xf4]
push eax
push str.lex_external_state:_d__row:_u__column:_u
push 0x400
push dword [esp + 0x20]
call fcn.0041c050
add esp, 0x18
mov ecx, dword [ebp + 8]
call fcn.0041c0c0
mov edi, dword [ebp + 8]
push edi
call fcn.00429610
add esp, 4
mov eax, dword [esp + 0xe4]
mov ecx, dword [edi + 0x490]
mov edi, dword [ecx + 0x80]
test eax, eax
je 0x419d30
mov ebx, dword [eax + 0x44]
add eax, 0x2c
push eax
call fcn.00426e20
add esp, 4
push ebx
mov ebx, dword [ebp + 8]
push eax
push dword [ebx + 0x4f4]
jmp 0x419d3d
push 0
push 0
mov eax, dword [ebp + 8]
push dword [eax + 0x4f4]
call edi
add esp, 0xc
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x490]
push dword [esp]
push ecx
push dword [ecx + 0x4f4]
call dword [eax + pe_nt_image_headers32]
add esp, 0xc
mov ebx, eax
lea eax, [esp + 0xe0]
push eax
push dword [ebp + 8]
call fcn.004297a0
add esp, 8
test bl, bl
je 0x419e5f
mov dword [esp + 0x48], esi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x490]
mov edi, dword [esp + 0xc]
push edi
push dword [ebx + 0x4f4]
call dword [eax + 0x7c]
add esp, 8
mov esi, eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
push ecx
push eax
call fcn.00428f60
add esp, 8
mov dword [esp + 0x70], esi
push esi
push edi
push eax
call fcn.00426e30
add esp, 0xc
mov ecx, eax
xor cl, 1
mov dword [esp + 0x44], ecx
mov ecx, dword [ebx + 0x34]
cmp ecx, dword [esp + 0xec]
jne 0x41a090
test byte [esp + 4], 1
jne 0x419e05
push dword [esp + 0x18]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042c990
add esp, 8
test al, al
jne 0x41a090
cmp byte [esp + 0x44], 0
je 0x419e0d
jmp 0x41a090
test al, al
je 0x41a090
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x419e1f
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x419e5b
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x490]
mov ecx, dword [eax + 0x6c]
movzx edx, word [esi + 4]
movzx ecx, word [ecx + edx*2]
push ecx
push eax
call fcn.00416ab0
add esp, 8
push eax
push str.ignore_empty_external_token_symbol:_s
push 0x400
push dword [esp + 0x18]
call fcn.0041c050
add esp, 0x10
mov ecx, esi
call fcn.0041c0c0
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
push eax
push edx
push ecx
push dword [ebp + 8]
call fcn.00429530
add esp, 0x10
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
movzx edi, word [esp + 0x34]
jne 0x419e99
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x419ec6
push dword [esp + 0xf4]
push dword [esp + 0xf4]
push edi
push str.lex_internal_state:_d__row:_u__column:_u
push 0x400
push dword [esp + 0x20]
call fcn.0041c050
add esp, 0x18
mov ecx, dword [ebp + 8]
call fcn.0041c0c0
mov ebx, dword [ebp + 8]
push ebx
call fcn.00429610
add esp, 4
mov eax, dword [ebx + 0x490]
push edi
push ebx
call dword [eax + 0x5c]
add esp, 8
mov ecx, ebx
mov ebx, eax
lea eax, [esp + 0xe0]
push eax
push ecx
call fcn.004297a0
add esp, 8
test bl, bl
jne 0x41a1a0
test byte [esp + 4], 1
jne 0x419f30
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x58]
movzx edi, word [eax + 2]
test edi, edi
je 0x419fff
mov edx, dword [ecx + 0x10]
imul edx, edi
add edx, dword [ecx + 0x68]
mov dword [esp], edx
jmp 0x41a006
test byte [esp + 0x30], 1
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
jne 0x419fc4
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x419f55
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x419f91
mov eax, dword [esp + 0xc]
mov dword [eax + 0x18], 0x726574
mov dword [eax + 0x14], 0x63617261
mov dword [eax + 0x10], 0x68635f64
mov dword [eax + 0xc], 0x657a696e
mov dword [eax + 8], 0x676f6365
mov dword [eax + 4], 0x726e755f
mov dword [eax], 0x70696b73
mov ecx, dword [ebp + 8]
call fcn.0041c0c0
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov dword [esp + 0x90], eax
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov bl, 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x80], eax
mov esi, eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
cmp eax, edx
jne 0x419c60
mov dword [esp + 0x1c], edx
mov eax, dword [ebp + 8]
push eax
call dword [eax + 0x18]
add esp, 4
test al, al
jne 0x41a193
push 0
mov esi, dword [ebp + 8]
push esi
call dword [esi + 8]
add esp, 8
mov eax, dword [esi + 0x1c]
jmp 0x419c60
mov dword [esp], 0
movzx eax, word [eax]
mov word [esp + 0x34], ax
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
push eax
push edx
push ecx
push dword [ebp + 8]
call fcn.00429530
add esp, 0x10
mov byte [esp + 4], 1
jmp 0x419c71
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x41a052
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41a06d
push 0x26
push str.no_lookahead_after_non_terminal_extra
push dword [esp + 0x14]
call fcn.00433bb0
add esp, 0xc
mov ecx, dword [ebp + 8]
call fcn.0041c0c0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xcc], 0
xor eax, eax
jmp 0x41a5d0
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x70]
mov cl, 1
mov esi, dword [esp + 0x48]
test byte [esp + 0x30], 1
je 0x41a1af
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov eax, dword [esp + 0x5c]
sub eax, dword [esp + 0xf8]
mov dword [esp + 0xec], eax
mov edi, dword [esp + 0x8c]
mov eax, edi
mov ebx, esi
sub eax, ecx
jbe 0x41a0e1
mov esi, dword [esp + 0x80]
mov ecx, esi
jmp 0x41a0ee
mov esi, dword [esp + 0x80]
mov ecx, esi
sub ecx, edx
xor eax, eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sub eax, dword [esp + 0x5c]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x2c]
sub eax, edi
ja 0x41a119
sub ebx, esi
xor eax, eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ebx
mov eax, dword [esp + 0xe0]
sub eax, ecx
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd4]
mov dword [esp], ecx
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xf4]
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x20]
push dword [ebx]
push dword [esp + 0x3c]
push eax
push edx
push esi
push dword [esp + 0x14]
push edi
push ecx
push dword [esp + 0x24]
push dword [esp + 0xb4]
push dword [esp + 0x68]
call fcn.004279c0
add esp, 0x2c
mov dword [esp], eax
jmp 0x41a354
mov eax, dword [ebp + 8]
mov word [eax + 4], 0xffff
nop
nop
nop
nop
xor eax, eax
xor ecx, ecx
test byte [esp + 0x30], 1
jne 0x41a0a7
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
mov dword [esp], ecx
cmp ecx, eax
jae 0x41a1e8
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x78]
mov dword [edx + 8], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov esi, dword [ebp + 8]
movzx ecx, word [esi + 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [esi + 0x2c]
mov edi, eax
sub edi, dword [esp + 0xf8]
mov esi, dword [esi + 0x30]
mov dword [esp + 0xec], edi
mov ebx, dword [esp + 0x100]
mov edi, edx
sub edi, ecx
jbe 0x41a221
mov ecx, esi
jmp 0x41a227
mov ecx, esi
sub ecx, ebx
xor edi, edi
mov ebx, dword [ebp + 8]
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], ecx
mov edi, dword [ebx + 0x38]
mov ecx, dword [esp]
sub ecx, eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0xd4], ecx
sub edi, edx
ja 0x41a252
sub eax, esi
xor edi, edi
mov ecx, dword [esp + 4]
mov edx, dword [esp]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], eax
mov esi, dword [esp + 0xe0]
sub esi, edx
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test cl, cl
mov dword [esp + 0x34], esi
je 0x41a5f2
movzx ecx, word [esp + 0x28]
mov eax, dword [eax + 0x6c]
movzx edi, word [eax + ecx*2]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
movzx esi, cl
movzx edx, al
movzx eax, di
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0xd8]
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 4]
movzx eax, bl
mov ecx, dword [esp + 0x20]
push dword [ecx]
push esi
push edx
push eax
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x40]
push edi
push dword [esp + 0x20]
push dword [esp + 0x50]
push dword [esp + 0x70]
push dword [esp + 0x5c]
push dword [esp + 0x4c]
push dword [esp + 0x74]
call fcn.00427670
add esp, 0x38
mov dword [esp], eax
test bl, bl
je 0x41a354
mov eax, dword [esp]
add eax, 0x2c
push dword [esp + 0x70]
push dword [esp + 0x10]
push eax
mov esi, edx
call fcn.00426de0
mov edx, esi
add esp, 0xc
mov eax, dword [esp]
mov al, byte [eax + 0x2a]
mov ecx, dword [esp + 0x44]
shl cl, 7
and al, 0x7f
or al, cl
mov ecx, dword [esp]
mov byte [ecx + 0x2a], al
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x50]
jne 0x41a372
cmp dword [eax], 0
je 0x41a4b3
mov eax, dword [esp]
test al, 1
mov dword [esp + 4], edx
jne 0x41a390
movzx eax, word [eax + 0x26]
jmp 0x41a393
movzx eax, ah
movzx eax, ax
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
call fcn.00416ab0
add esp, 8
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0x6578656c
mov dword [ecx + 4], 0x6f6c5f64
mov dword [ecx + 8], 0x68616b6f
mov dword [ecx + 0xc], 0x20646165
mov dword [ecx + 0x10], 0x3a6d7973
mov byte [ecx + 0x14], 0
mov cl, byte [eax]
test cl, cl
je 0x41a450
add eax, 1
mov esi, 0x14
nop
nop
nop
movsx ebx, cl
lea edx, [ebx - 9]
cmp edx, 4
ja case.default.0x41a3ed
mov cl, 0x74
jmp dword [edx*4 + 0x453758]
mov cl, 0x6e
jmp case.0x41a3ed.9
mov edx, 1
mov edi, esi
cmp ebx, 0x5c
jne 0x41a430
mov cl, 0x5c
jmp case.0x41a3ed.9
mov cl, 0x76
jmp case.0x41a3ed.9
mov cl, 0x66
jmp case.0x41a3ed.9
mov cl, 0x72
nop
nop
nop
nop
nop
nop
lea edi, [esi + 1]
mov edx, dword [ebp + 8]
mov byte [edx + esi + 0x71], 0x5c
mov edx, 2
add edx, esi
mov esi, dword [ebp + 8]
mov byte [esi + edi + 0x71], cl
movzx ecx, byte [eax]
test cl, cl
je 0x41a455
add eax, 1
mov esi, edx
cmp edx, 0x400
jb 0x41a3e0
jmp 0x41a455
mov edx, 0x14
mov eax, dword [esp]
test al, 1
jne 0x41a470
mov ecx, eax
mov eax, dword [eax + 4]
add eax, dword [ecx + 0x10]
jmp 0x41a481
mov eax, dword [esp + 4]
mov ecx, eax
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
add eax, ecx
mov esi, dword [esp + 0x58]
mov ecx, 0x400
sub ecx, edx
mov edi, dword [ebp + 8]
add edx, edi
add edx, 0x71
push eax
push str.__size:_u
push ecx
push edx
call fcn.0041c050
add esp, 0x10
mov ecx, edi
call fcn.0041c0c0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 4]
mov dword [esp + 0xd0], edx
mov eax, dword [esp]
mov dword [esp + 0xcc], eax
test eax, eax
je 0x41a5c0
mov dword [esp + 0xfc], edx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xec], ecx
mov eax, dword [esp + 0x88]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
push ecx
push eax
call fcn.00426f00
add esp, 8
cmp dword [esp + 0xec], 0
je 0x41a529
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
push ecx
push eax
call fcn.00426f00
add esp, 8
mov ecx, dword [esp + 0x7c]
cmp dword [ecx], 0
je 0x41a545
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push ecx
push eax
push dword [esp + 0x48]
call fcn.00426f70
add esp, 0xc
cmp dword [esi], 0
je 0x41a55d
mov eax, dword [esi]
mov ecx, dword [esi + 4]
push ecx
push eax
push dword [esp + 0x48]
call fcn.00426f70
add esp, 0xc
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov edx, dword [ebp + 8]
mov dword [edx + 0x4d0], ecx
mov dword [edx + 0x4cc], eax
mov eax, dword [esp + 0x4c]
mov dword [edx + 0x4dc], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov dword [edx + 0x4d8], ecx
mov dword [edx + 0x4d4], eax
test byte [esp + 0xcc], 1
jne 0x41a5c4
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + 0x26]
jmp 0x41a5cc
xor eax, eax
jmp 0x41a5cc
movzx eax, byte [esp + 0xcd]
mov esi, dword [esp + 0x38]
movzx eax, ax
lea ecx, [esp + 0xc0]
push ecx
push eax
push esi
mov eax, dword [esp + 0x2c]
push dword [eax]
call fcn.00416960
add esp, 0x10
xor eax, eax
jmp 0x41a6f0
xor ecx, ecx
mov edi, dword [esp + 0x28]
test di, di
je 0x41a290
cmp di, word [eax + 0x64]
jne 0x41a290
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 8]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
push eax
push edx
push ecx
push ebx
call fcn.00429530
add esp, 0x10
push ebx
call fcn.00429610
add esp, 4
mov eax, dword [ebx + 0x490]
push 0
push ebx
call dword [eax + 0x60]
add esp, 8
test al, al
je 0x41a28e
mov eax, dword [esp + 0x74]
mov ecx, dword [esp]
cmp dword [eax], ecx
jne 0x41a28e
movzx eax, word [ebx + 4]
mov ecx, dword [ebx + 0x490]
mov esi, dword [ecx + 0x18]
mov ebx, dword [esp + 0x38]
cmp esi, ebx
jbe 0x41a683
mov edx, dword [ecx + 4]
imul edx, ebx
add edx, eax
add edx, edx
add edx, dword [ecx + 0x28]
cmp word [edx], 0
setne cl
cmovne edi, eax
jmp 0x41a290
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
sub ebx, esi
mov ecx, dword [ecx + ebx*4]
movzx esi, word [edx + ecx*2]
xor ebx, ebx
mov dword [esp], esi
test esi, esi
je 0x41a28e
lea edx, [edx + ecx*2]
add edx, 2
jmp 0x41a6b7
add ebx, 1
xor ecx, ecx
mov edx, esi
cmp ebx, dword [esp]
je 0x41a290
lea esi, [edx + 4]
movzx ecx, word [edx + 2]
test ecx, ecx
je 0x41a6a7
mov dword [esp + 0x30], ebx
lea esi, [esi + ecx*2]
xor ebx, ebx
nop
nop
nop
nop
nop
cmp word [edx + ebx*2 + 4], ax
je 0x41a674
add ebx, 1
cmp ecx, ebx
jne 0x41a6d0
mov ebx, dword [esp + 0x30]
jmp 0x41a6a7
mov dword [esp + 0x2c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x514]
add eax, 1
cmp eax, 0x64
mov ecx, 0
cmove eax, ecx
mov dword [edx + 0x514], eax
test eax, eax
jne 0x41a763
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x518]
test eax, eax
je 0x41a72c
mov eax, dword [eax]
test eax, eax
jne 0x41bd31
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x500]
mov esi, dword [eax + 0x504]
mov eax, edi
or eax, esi
je 0x41a763
lea eax, [esp + 0xf8]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp edi, dword [esp + 0xf8]
sbb esi, dword [esp + 0xfc]
jb 0x41bd31
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
test eax, eax
je 0x41a89d
xor edi, edi
mov dword [esp + 0x34], 0xffffffff
jmp 0x41a7a8
test edx, 0x100
je 0x41abd0
add edi, 1
cmp edi, dword [esp]
jae 0x41a890
mov eax, dword [esp + 0xc0]
movzx ecx, byte [eax + edi*8]
cmp ecx, 3
ja case.default.0x41a7c5
movzx ebx, word [eax + edi*8 + 2]
movzx esi, bx
movsx edx, word [eax + edi*8 + 4]
jmp dword [ecx*4 + 0x45376c]
mov dword [esp + 0x28], edx
movzx ecx, byte [eax + edi*8 + 1]
mov dword [esp + 4], ecx
movzx ecx, word [eax + edi*8 + 6]
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x41a7f7
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41a83d
push esi
mov ebx, dword [ebp + 8]
push dword [ebx + 0x490]
mov word [esp + 0x24], cx
mov dword [esp + 0x38], edx
call fcn.00416ab0
add esp, 8
push dword [esp + 4]
push eax
push str.reduce_sym:_s__child_count:_u
push 0x400
push dword [esp + 0x1c]
call fcn.0041c050
add esp, 0x14
mov ecx, ebx
call fcn.0041c0c0
mov edx, dword [esp + 0x30]
movzx ecx, word [esp + 0x1c]
xor eax, eax
test edx, edx
sete al
xor ebx, ebx
cmp dword [esp], 2
setae bl
movzx ecx, cx
mov dword [esp], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
push eax
push ebx
push dword [esp + 8]
push dword [esp + 0x34]
push dword [esp + 0x14]
push esi
call fcn.0041c560
add esp, 0x18
cmp eax, 0xffffffff
mov ecx, dword [esp + 0x34]
cmovne ecx, eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
jmp case.default.0x41a7c5
mov eax, dword [esp + 0x34]
cmp eax, 0xffffffff
jne 0x41aa68
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x41aca6
test al, 1
jne 0x41a8d0
test byte [eax + 0x2b], 4
mov esi, dword [esp + 0x38]
je 0x41aa0f
movzx ecx, word [eax + 0x26]
jmp 0x41a8df
test al, 0x40
mov esi, dword [esp + 0x38]
je 0x41aa0f
movzx ecx, ah
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
movzx edx, word [eax + 0x64]
cmp cx, dx
je 0x41aa0f
movzx ecx, dx
lea edx, [esp + 0xc0]
push edx
push ecx
push esi
push eax
call fcn.00416960
add esp, 0x10
cmp dword [esp + 0xc4], 0
je 0x41aa0f
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x41a928
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41a99c
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
movzx ecx, word [eax + 0x64]
push ecx
push eax
call fcn.00416ab0
add esp, 8
mov edi, eax
test byte [esp + 0xcc], 1
jne 0x41a960
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + 0x26]
jmp 0x41a968
movzx eax, byte [esp + 0xcd]
movzx eax, ax
push eax
mov ebx, dword [ebp + 8]
push dword [ebx + 0x490]
call fcn.00416ab0
add esp, 8
push edi
push eax
push str.switch_from_keyword:_s__to_word_token:_s
push 0x400
push dword [esp + 0x1c]
call fcn.0041c050
add esp, 0x14
mov ecx, ebx
call fcn.0041c0c0
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
push ecx
push eax
push dword [esp + 0x48]
call fcn.00427b90
add esp, 0xc
mov dword [esp + 0xfc], edx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
movzx ecx, word [eax + 0x64]
push eax
push ecx
lea eax, [esp + 0x100]
push eax
call fcn.00427930
add esp, 0xc
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x2c]
test al, 1
jne 0x419b5c
jmp 0x41a6f0
cmp word [esp + 0x12], 0
je 0x41afb7
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x18]
mov edx, esi
call fcn.0041dbe0
test al, al
je 0x41afdb
push esi
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042a200
add esp, 8
mov word [esp + 0x12], ax
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
push ecx
push eax
push dword [esp + 0x48]
call fcn.00426f70
add esp, 0xc
mov al, 1
jmp 0x419b43
push dword [esp + 0x18]
push eax
mov esi, dword [esp + 0x10]
push dword [esi]
call fcn.0042b480
add esp, 0xc
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
test eax, eax
je 0x41aaa9
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
push dword [esi]
call fcn.0042d420
add esp, 0xc
push dword [edi]
push 1
push 2
push 0x45c6f2
call fcn.0043c500
add esp, 0x10
push dword [esp + 0x18]
push dword [esi]
call fcn.0042a200
add esp, 8
mov word [esp + 0x12], ax
mov ecx, dword [esp + 0xcc]
mov al, 1
test ecx, ecx
je 0x419b43
test cl, 1
jne 0x41aadf
cmp word [ecx + 0x24], 0
je 0x41aae4
movzx eax, word [ecx + 0x40]
jmp 0x41aae8
movzx eax, ch
jmp 0x41aae8
movzx eax, word [ecx + 0x26]
movzx eax, ax
movzx ecx, word [esp + 0x12]
lea edx, [esp + 0xc0]
push edx
push eax
push ecx
mov eax, dword [esp + 0x2c]
push dword [eax]
call fcn.00416960
add esp, 0x10
mov eax, dword [esp + 0x2c]
jmp 0x419b43
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x41ab32
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41ab4b
mov eax, dword [esp + 0xc]
mov dword [eax + 3], 0x747065
mov dword [eax], 0x65636361
mov ecx, dword [ebp + 8]
call fcn.0041c0c0
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
push esi
push eax
call fcn.0041cd10
add esp, 8
jmp 0x41aef3
test byte [esp + 0xcc], 1
jne 0x41aba0
mov eax, dword [esp + 0xcc]
cmp word [eax + 0x24], 0
je 0x41aba0
mov ecx, dword [ebp + 8]
lea edx, [esp + 0xcc]
push dword [esp + 0x3c]
push 0
call fcn.0041c1f0
add esp, 8
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
push esi
push eax
call fcn.0041d060
add esp, 8
jmp 0x41aee0
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
and dx, 1
mov dword [esp + 0x28], edx
je 0x41ac19
test eax, eax
mov esi, dword [esp + 0x38]
jne 0x41abf8
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
movzx eax, word [esp + 0x12]
mov edi, eax
je 0x41ac4f
mov eax, dword [esp + 0xc]
mov dword [eax + 8], 0x617274
mov dword [eax + 4], 0x78655f74
mov dword [eax], 0x66696873
movzx eax, word [esp + 0x12]
mov edi, eax
jmp 0x41ac47
test eax, eax
jne 0x41ac2a
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41ad30
push esi
push str.shift_state:_u
push 0x400
push dword [esp + 0x18]
call fcn.0041c050
add esp, 0x10
mov esi, dword [esp + 0x38]
mov edi, ebx
mov ecx, dword [ebp + 8]
call fcn.0041c0c0
test byte [esp + 0xcc], 1
jne 0x41ad70
mov eax, dword [esp + 0xcc]
cmp word [eax + 0x24], 0
je 0x41ad70
mov ecx, dword [ebp + 8]
lea edx, [esp + 0xcc]
push dword [esp + 0x3c]
push esi
call fcn.0041c1f0
add esp, 8
test byte [esp + 0xcc], 1
jne 0x41acbd
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + 0x26]
cmp ax, 0xfffd
jbe 0x41acc5
jmp 0x41ad6b
push dword [esp + 0x18]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042d330
add esp, 8
jmp 0x41aef3
movzx eax, byte [esp + 0xcd]
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
movzx edx, ax
cmp dword [ecx + 0xc], edx
jbe 0x41ad19
lea eax, [esp + 0xf8]
push eax
push edx
push esi
push ecx
call fcn.00416960
add esp, 0x10
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x41ad6b
mov ecx, dword [esp + 0xf8]
cmp byte [ecx + eax*8 - 8], 0
jne 0x41ad6b
test byte [ecx + eax*8 - 4], 1
jne 0x41ad10
movzx eax, word [ecx + eax*8 - 6]
mov word [esp + 0x12], ax
movzx eax, word [esp + 0x12]
mov edi, eax
jmp 0x41ad70
mov edi, dword [ecx + 0x18]
cmp edi, esi
jbe 0x41ad46
imul esi, dword [ecx + 4]
add esi, edx
add esi, esi
add esi, dword [ecx + 0x28]
movzx edi, word [esi]
jmp 0x41ad70
mov esi, dword [esp + 0x38]
mov edi, ebx
test byte [esp + 0xcc], 1
je 0x41ac5d
jmp 0x41ad70
mov edx, esi
mov esi, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
sub edx, edi
mov edi, dword [ecx + edx*4]
movzx ebx, word [esi + edi*2]
xor edx, edx
test ebx, ebx
je 0x41ad6b
lea ecx, [esi + edi*2]
add ecx, 2
mov dword [esp], ebx
jmp 0x41af7d
xor edi, edi
nop
nop
nop
mov dword [esp], edi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xd4], eax
test al, 1
jne 0x41adb1
cmp word [eax + 0x24], 0
setne bl
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xf8], eax
mov al, byte [eax + 0x2a]
shr al, 2
jmp 0x41adc4
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], ecx
shr al, 3
xor ebx, ebx
mov edi, dword [esp + 0x28]
test di, di
setne cl
test al, 1
sete al
xor al, cl
jne 0x41ae48
test bl, bl
jne 0x41ae48
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
push ecx
push eax
push dword [esp + 0x48]
call fcn.00427b90
add esp, 0xc
mov edi, edx
mov ecx, edx
shld ecx, eax, 0x18
test al, 1
jne 0x41ae27
shl ecx, 8
movzx esi, al
mov dword [esp + 4], ebx
mov bl, byte [ecx + esi + 0x2a]
mov edx, dword [esp + 0x28]
shl dl, 2
and bl, 0xfb
or bl, dl
mov byte [ecx + esi + 0x2a], bl
mov ebx, dword [esp + 4]
jmp 0x41ae35
mov edx, dword [esp + 0x28]
shl dl, 3
and al, 0xf7
or al, dl
shl ecx, 8
movzx eax, al
or eax, ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edi
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
movzx edx, word [esp]
movzx esi, bl
push edx
push esi
push ecx
push eax
push dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
push dword [eax]
call fcn.0042a350
add esp, 0x18
test byte [esp + 0xf8], 1
jne 0x41aee0
mov eax, dword [esp + 0xf8]
test byte [eax + 0x2a], 0x40
je 0x41aee0
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
push ecx
push eax
call fcn.00428b20
add esp, 8
mov dword [esp + 0xf0], edx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
push ecx
push eax
push dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push dword [eax]
call fcn.0042a270
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esp + 0x84], 0
je 0x41aef3
mov ecx, dword [esp + 0x3c]
call fcn.0041c3f0
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
test eax, eax
mov esi, dword [esp + 8]
je 0x41af25
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
push dword [esi]
call fcn.0042d420
add esp, 0xc
push dword [edi]
push 1
push 2
push 0x45c6f2
call fcn.0043c500
add esp, 0x10
mov edi, dword [esp + 0x18]
push edi
push dword [esi]
lea eax, [esp + 0xa4]
push eax
call fcn.0042a220
add esp, 0xc
mov ecx, dword [esp + 0x9c]
cmp ecx, dword [esp + 0x6c]
mov dword [esp + 0x4c], ecx
ja 0x41b2f3
test edi, edi
mov eax, edi
je 0x419280
cmp ecx, dword [esp + 0x6c]
jne 0x419280
jmp 0x41b2fe
add edx, 1
xor edi, edi
cmp edx, ebx
je 0x41ad70
mov edi, ecx
add ecx, 4
mov esi, edi
movzx edi, word [edi + 2]
test edi, edi
je 0x41af70
lea ecx, [ecx + edi*2]
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + ebx*2 + 4], ax
je 0x41ad2b
add ebx, 1
cmp edi, ebx
jne 0x41afa0
mov ebx, dword [esp]
jmp 0x41af70
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
push esi
push eax
call fcn.0041d060
add esp, 8
jmp 0x41aef3
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x41afed
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41b011
mov eax, dword [esp + 0xc]
mov byte [eax + 0xc], 0
mov dword [eax + 8], 0x726f7272
mov dword [eax + 4], 0x655f7463
mov dword [eax], 0x65746564
mov ecx, dword [ebp + 8]
call fcn.0041c0c0
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
push ecx
push eax
push dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push dword [eax]
call fcn.0042d350
add esp, 0x10
jmp 0x41aef3
movzx eax, bh
mov dword [esp + 0x28], eax
lea ecx, [esp + 0xd6]
jmp 0x41b05f
cmp word [ebx + 0x24], 0
je 0x41b2e8
movzx eax, word [ebx + 0x40]
jmp 0x41b2ec
lea ecx, [ebx + 0x28]
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov edi, dword [eax + 0x58]
mov edx, dword [edi + esi*4]
cmp dx, 0xffff
je 0x41b12a
cmp dword [esp + 0xc4], 0
je 0x41b0ca
movzx ecx, word [ecx]
cmp dword [edi + ecx*4], edx
jne 0x41b0ca
mov ecx, dword [esp + 0x28]
cmp cx, word [eax + 0x64]
jne 0x41b0c4
cmp byte [esp], 0
je 0x41b09f
mov cl, byte [ebx + 0x2b]
shr cl, 2
jmp 0x41b0a4
mov ecx, ebx
shr cl, 6
test cl, 1
jne 0x41b0ca
lea ecx, [ebx + 0x28]
cmp byte [esp], 0
lea esi, [esp + 0xd6]
cmove ecx, esi
movzx esi, word [esp + 0x12]
cmp word [ecx], si
jne 0x41b0ca
mov edx, dword [esp + 4]
jmp 0x41b101
test bl, 1
mov ecx, dword [esp + 0x34]
jne 0x41b0d6
mov ecx, dword [ebx + 0x10]
test ecx, ecx
setne cl
cmp word [esp + 0x28], 0
sete ch
or ch, cl
cmp ch, 1
jne 0x41b12a
cmp edx, 0x10000
jae 0x41b12a
cmp byte [esp + 0xc8], 0
mov edx, dword [esp + 4]
je 0x41b12a
mov ecx, dword [esp + 0x24]
cmp dword [ecx], 0
jne 0x41b117
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
je 0x41b2bd
cmp byte [esp], 0
je 0x41b28e
movzx ecx, word [ebx + 0x26]
jmp 0x41b291
mov ecx, dword [esp + 0x24]
cmp dword [ecx], 0
jne 0x41b13c
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
je 0x41b190
push dword [esp + 0x1c]
push eax
call fcn.00416ab0
add esp, 8
mov edi, eax
cmp byte [esp], 0
je 0x41b157
movzx eax, word [ebx + 0x26]
jmp 0x41b15c
movzx eax, byte [esp + 4]
mov esi, dword [ebp + 8]
movzx eax, ax
push eax
push dword [esi + 0x490]
call fcn.00416ab0
add esp, 8
push edi
push eax
push str.cant_reuse_node_symbol:_s__first_leaf_symbol:_s
push 0x400
push dword [esp + 0x1c]
call fcn.0041c050
add esp, 0x14
mov ecx, esi
call fcn.0041c0c0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x4e0]
mov ecx, dword [ecx + 0x4e4]
lea edx, [ecx - 1]
shl edx, 4
mov ebx, dword [eax + edx]
test bl, 1
jne 0x41b280
add edx, eax
add edx, 0xc
jmp 0x41b218
mov edi, dword [ebp + 8]
mov dword [edi + 0x4e4], ebx
mov ebx, dword [esp + 4]
movzx edx, word [ebx + 0x24]
shl edx, 3
mov esi, ebx
sub esi, edx
neg edx
mov edx, dword [ebx + edx + 4]
shl ecx, 4
mov esi, dword [esi]
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], edx
mov dword [eax + ecx + 8], 0
mov edx, dword [esp]
mov dword [eax + ecx + 0xc], edx
mov eax, dword [edi + 0x4e0]
mov ecx, dword [edi + 0x4e4]
mov edx, ecx
shl edx, 4
mov ebx, dword [edx + eax - 0x10]
add edx, eax
add edx, 0xfffffffc
test bl, 1
jne 0x41b280
cmp word [ebx + 0x24], 0
je 0x41b280
mov dword [esp + 4], ebx
mov edx, dword [edx]
lea ebx, [ecx + 1]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x4e8]
cmp ebx, esi
mov dword [esp], edx
jbe 0x41b1c0
lea edi, [esi + esi]
cmp edi, 9
mov edx, 8
cmovb edi, edx
cmp edi, ebx
cmovb edi, ebx
cmp esi, edi
jae 0x41b1c0
mov ecx, edi
shl ecx, 4
push ecx
push eax
call dword [0x463778]
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4e0], eax
mov dword [ecx + 0x4e8], edi
mov ecx, dword [ecx + 0x4e4]
lea ebx, [ecx + 1]
jmp 0x41b1c0
mov ecx, dword [esp + 0x3c]
call fcn.0041c3f0
jmp 0x4198db
movzx ecx, dl
movzx ecx, cx
push ecx
push eax
call fcn.00416ab0
add esp, 8
push eax
push str.reuse_node_symbol:_s
push 0x400
push dword [esp + 0x18]
call fcn.0041c050
add esp, 0x10
mov ecx, dword [ebp + 8]
call fcn.0041c0c0
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
push ecx
push eax
call fcn.00426f00
add esp, 8
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0xfc]
jmp 0x4198dd
movzx eax, word [ebx + 0x26]
mov cl, 1
jmp 0x419a51
mov dword [esp + 0x6c], ecx
mov eax, edi
jmp 0x419257
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x4c], ecx
jmp 0x419257
mov dword [esp + 0x68], 0
mov ebx, dword [esp + 8]
push dword [ebx]
call fcn.0042a1f0
add esp, 4
test eax, eax
je 0x41b5c0
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x30], 0
xor esi, esi
jmp 0x41b372
push esi
push ecx
call fcn.0042ca30
add esp, 8
add esi, 0xffffffff
add esi, 1
push dword [ebx]
call fcn.0042a1f0
add esp, 4
cmp esi, eax
jae 0x41b5d0
push esi
push dword [ebx]
call fcn.0042d3b0
add esp, 8
mov ecx, dword [ebx]
test al, al
jne 0x41b350
push esi
push ecx
call fcn.0042a2d0
add esp, 8
mov edi, eax
push esi
push dword [ebx]
call fcn.0042d3d0
add esp, 8
mov byte [esp], al
lea ebx, [edi + 0x64]
push esi
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042a310
add esp, 8
mov dword [esp + 0x2c], eax
push esi
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042c970
mov edx, ebx
add esp, 8
mov dword [esp + 0x48], eax
mov al, 1
cmp byte [esp], 0
mov ebx, dword [esp + 8]
cmove edx, edi
mov dword [esp + 0x1c], edx
jne 0x41b3f0
push esi
push dword [ebx]
call fcn.0042a200
mov edx, dword [esp + 0x24]
add esp, 8
test ax, ax
sete al
mov byte [esp + 0x18], al
mov ecx, dword [esp + 0x44]
cmp edx, ecx
mov eax, ecx
cmovb eax, edx
cmp byte [esp + 0x18], 0
cmove ecx, eax
test esi, esi
mov dword [esp + 0x44], ecx
je 0x41b5b9
add dword [esp + 0x2c], 1
xor edi, edi
jmp 0x41b441
push esi
push dword [ebx]
call fcn.0042ca30
add esp, 8
add esi, 0xffffffff
mov al, 1
mov dword [esp + 0x30], eax
mov edi, esi
add edi, 1
cmp edi, esi
jae 0x41b35d
mov dword [esp], esi
push edi
push dword [ebx]
call fcn.0042a2d0
add esp, 8
mov esi, eax
push edi
push dword [ebx]
call fcn.0042d3d0
add esp, 8
mov byte [esp + 4], al
lea eax, [esi + 0x64]
mov dword [esp + 0x34], eax
push edi
push dword [ebx]
call fcn.0042a310
add esp, 8
mov dword [esp + 0x28], eax
push edi
push dword [ebx]
mov ebx, dword [esp + 0x3c]
call fcn.0042c970
add esp, 8
mov cl, 1
cmp byte [esp + 4], 0
cmove ebx, esi
je 0x41b4d0
test cl, cl
mov esi, dword [esp]
je 0x41b510
cmp byte [esp + 0x18], 0
jne 0x41b510
cmp dword [esp + 0x1c], ebx
mov ebx, dword [esp + 8]
jae 0x41b570
push edi
push dword [ebx]
call fcn.0042ca30
add esp, 8
add esi, 0xffffffff
add edi, 0xffffffff
jmp 0x41b590
mov esi, eax
push edi
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042a200
add esp, 8
test ax, ax
sete cl
je 0x41b553
cmp byte [esp + 0x18], 0
mov eax, esi
je 0x41b491
cmp ebx, dword [esp + 0x1c]
mov ebx, dword [esp + 8]
mov esi, dword [esp]
jb 0x41b420
jmp 0x41b5a0
mov edx, ebx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
jae 0x41b53a
mov eax, ecx
sub eax, ebx
mov ecx, dword [esp + 0x28]
add ecx, 1
imul ecx, eax
cmp ecx, 0x641
mov ebx, dword [esp + 8]
jae 0x41b420
jmp 0x41b5a0
jbe 0x41b55a
imul edx, dword [esp + 0x2c]
cmp edx, 0x640
mov ebx, dword [esp + 8]
ja 0x41b4ad
jmp 0x41b570
mov eax, esi
jmp 0x41b491
cmp dword [esp + 0x48], eax
mov ebx, dword [esp + 8]
jle 0x41b5a0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
push edi
push dword [ebx]
call fcn.0042cd30
add esp, 0xc
test al, al
jne 0x41b42b
push edi
push esi
push dword [ebx]
call fcn.0042cb30
add esp, 0xc
mov al, 1
mov dword [esp + 0x30], eax
jmp 0x41b436
push esi
push edi
push dword [ebx]
call fcn.0042cd30
add esp, 0xc
test al, al
jne 0x41b42b
jmp 0x41b436
xor esi, esi
jmp 0x41b35d
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x30], 0
push dword [ebx]
call fcn.0042a1f0
add esp, 4
cmp eax, 7
jb 0x41b601
nop
push 6
push dword [ebx]
call fcn.0042ca30
add esp, 8
push dword [ebx]
call fcn.0042a1f0
add esp, 4
cmp eax, 6
ja 0x41b5e0
mov al, 1
mov dword [esp + 0x30], eax
push dword [ebx]
call fcn.0042a1f0
add esp, 4
test eax, eax
je 0x41bb80
push dword [ebx]
call fcn.0042a1f0
add esp, 4
test eax, eax
je 0x41bb80
mov esi, eax
xor edi, edi
xor ebx, ebx
jmp 0x41b64f
mov esi, dword [esp + 0x38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov al, 1
add edi, 1
mov ebx, eax
cmp edi, esi
jae 0x41bb80
push edi
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042d3d0
add esp, 8
test al, al
je 0x41b640
test bl, 1
jne 0x41ba90
mov eax, dword [ebp + 8]
cmp dword [eax + 0x510], 5
ja 0x41ba90
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
mov ebx, dword [ebp + 8]
jne 0x41b690
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41b6ae
push edi
push str.resume_version:_u
push 0x400
push dword [esp + 0x18]
call fcn.0041c050
add esp, 0x10
mov ecx, ebx
call fcn.0041c0c0
push edi
push dword [ebx + 0x474]
call fcn.0042a2d0
add esp, 8
mov dword [esp + 0x44], eax
push edi
push dword [ebx + 0x474]
call fcn.0042d3f0
add esp, 8
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], eax
push dword [ebx + 0x474]
call fcn.0042a1f0
add esp, 4
mov dword [esp], eax
mov ecx, ebx
mov edx, edi
push 0
call fcn.0041e6e0
add esp, 4
push dword [ebx + 0x474]
call fcn.0042a1f0
add esp, 4
mov ecx, ebx
mov ebx, eax
push edi
push dword [ecx + 0x474]
lea eax, [esp + 0xf4]
push eax
call fcn.0042a220
add esp, 0xc
mov dword [esp + 0x34], ebx
cmp ebx, edi
mov dword [esp + 0x38], esi
mov esi, dword [esp]
jbe 0x41baac
mov dword [esp + 0x28], 0
mov ebx, edi
mov dword [esp + 0x18], edi
jmp 0x41b79a
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 4]
mov dword [esp + 0x104], 0
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
push 0
push 0
push ecx
push eax
push ebx
mov eax, dword [esp + 0x1c]
push dword [eax]
call fcn.0042a350
add esp, 0x18
cmp ebx, edi
lea eax, [ebx + 1]
cmove eax, esi
mov ebx, eax
cmp eax, dword [esp + 0x34]
jae 0x41baac
test byte [esp + 0x28], 1
jne 0x41b758
mov dword [esp + 4], ebx
push ebx
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042a200
add esp, 8
mov edi, eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
cmp dword [eax + 0xc], 2
jb 0x41b750
mov si, 1
jmp 0x41b805
movzx eax, ah
mov edx, dword [esp + 0x2c]
movzx eax, ax
mov ecx, dword [ebp + 8]
push eax
call fcn.0041e6e0
add esp, 4
test al, al
jne 0x41ba1a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add esi, 1
movzx ecx, si
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
cmp dword [eax + 0xc], ecx
jbe 0x41ba80
cmp si, 0xfffd
ja 0x41b7f0
movzx ebx, si
movzx ecx, di
lea edx, [esp + 0xf8]
push edx
push ebx
push ecx
push eax
call fcn.00416960
add esp, 0x10
mov ecx, dword [esp + 0xfc]
test ecx, ecx
je 0x41b7f0
mov edx, dword [esp + 0xf8]
cmp byte [edx + ecx*8 - 8], 0
jne 0x41b7f0
test byte [edx + ecx*8 - 4], 1
mov eax, edi
jne 0x41b84b
movzx eax, word [edx + ecx*8 - 6]
test ax, ax
je 0x41b7f0
cmp ax, di
je 0x41b7f0
test byte [esp + 0xc0], 1
jne 0x41b873
mov ecx, dword [esp + 0xc0]
cmp word [ecx + 0x24], 0
je 0x41b87d
movzx ecx, word [ecx + 0x40]
jmp 0x41b881
movzx ecx, byte [esp + 0xc1]
jmp 0x41b881
movzx ecx, word [ecx + 0x26]
movzx ecx, cx
movzx edx, ax
lea eax, [esp + 0xf8]
push eax
push ecx
mov dword [esp + 0x24], edx
push edx
mov eax, dword [esp + 0x2c]
push dword [eax]
call fcn.00416960
add esp, 0x10
cmp dword [esp + 0xfc], 0
je 0x41b7f0
mov eax, dword [esp + 0xf8]
cmp byte [eax], 1
jne 0x41b7f0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
push eax
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00429530
add esp, 0x10
push dword [ebp + 8]
call fcn.004292a0
add esp, 4
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x2c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [edx + 0x38]
sub eax, dword [esp + 0xec]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf4]
sub ecx, dword [esp + 0x2c]
ja 0x41b926
sub edx, eax
xor ecx, ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], edx
mov ecx, dword [esp + 0xc0]
test cl, 1
mov dword [esp + 0x48], ecx
jne 0x41b94f
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 0x1c]
add edx, dword [ecx + 0x10]
jmp 0x41b96c
movzx eax, byte [esp + 0xc7]
movzx edx, byte [esp + 0xc6]
add edx, eax
movzx eax, byte [esp + 0xc5]
shr eax, 4
mov ecx, dword [esp + 4]
add edx, eax
mov dword [esp + 0x70], edx
push ecx
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042cc30
add esp, 8
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xfc]
mov ecx, dword [esp + 0x20]
push dword [ecx]
push dword [esp + 0x74]
push eax
push edx
push dword [esp + 0x6c]
push ebx
push dword [esp + 0x58]
call fcn.00428920
add esp, 0x1c
mov dword [esp + 0xd8], edx
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
push dword [esp + 0x1c]
push 0
push ecx
push eax
push dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
push dword [eax]
call fcn.0042a350
add esp, 0x18
mov eax, dword [esp + 0x48]
test al, 1
jne 0x41b7c8
cmp word [eax + 0x24], 0
je 0x41ba11
movzx eax, word [eax + 0x40]
jmp 0x41b7cb
movzx eax, word [eax + 0x26]
jmp 0x41b7cb
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x41ba2c
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41ba72
push dword [esp + 0x2c]
mov edi, dword [ebp + 8]
push dword [edi + 0x474]
call fcn.0042a200
add esp, 8
movzx esi, ax
push ebx
push dword [edi + 0x490]
call fcn.00416ab0
add esp, 8
push esi
push eax
push str.recover_with_missing_symbol:_s__state:_u
push 0x400
push dword [esp + 0x1c]
call fcn.0041c050
add esp, 0x14
mov ecx, edi
call fcn.0041c0c0
mov al, 1
mov dword [esp + 0x28], eax
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x18]
mov esi, dword [esp]
jmp 0x41b754
push edi
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0042ca30
add esp, 8
add edi, 0xffffffff
add esi, 0xffffffff
mov eax, ebx
jmp 0x41b642
mov ebx, dword [esp + 0x34]
cmp esi, ebx
mov eax, dword [esp + 8]
jae 0x41badf
nop
nop
nop
nop
nop
nop
nop
nop
push esi
push edi
push dword [eax]
mov esi, edi
mov edi, eax
call fcn.0042cd30
mov eax, edi
mov edi, esi
mov esi, dword [esp + 0xc]
add esp, 0xc
add ebx, 0xffffffff
cmp esi, ebx
jne 0x41bac0
push 0x10
push edi
push dword [eax]
call fcn.0042c470
add esp, 0xc
test byte [esp + 0xc0], 1
mov ebx, dword [ebp + 8]
jne 0x41bb1e
mov eax, dword [esp + 0xc0]
cmp word [eax + 0x24], 0
je 0x41bb1e
mov ecx, ebx
lea edx, [esp + 0xc0]
push dword [esp + 0x3c]
push 0
call fcn.0041c1f0
add esp, 8
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
mov ecx, ebx
mov edx, edi
push esi
push eax
call fcn.0041d060
add esp, 8
mov eax, dword [ebx + 0x4f8]
test eax, eax
je 0x41b62d
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0042d420
add esp, 0xc
mov eax, dword [esp + 0x14]
push dword [eax]
push 1
push 2
push 0x45c6f2
call fcn.0043c500
add esp, 0x10
jmp 0x41b62d
test byte [esp + 0x30], 1
je 0x41bbee
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x41bb99
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41bbee
mov eax, dword [esp + 0xc]
mov byte [eax + 8], 0
mov dword [eax + 4], 0x65736e65
mov dword [eax], 0x646e6f63
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.0041c0c0
mov eax, dword [esi + 0x4f8]
test eax, eax
je 0x41bbee
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0042d420
add esp, 0xc
mov eax, dword [esp + 0x14]
push dword [eax]
push 1
push 2
push 0x45c6f2
call fcn.0043c500
add esp, 0x10
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x41bc21
test al, 1
jne 0x41bc0c
mov ecx, 0x262
test byte [eax + 0x2b], 2
jne 0x41bc1b
mov ecx, dword [eax + 0x20]
jmp 0x41bc1b
test al, 0x20
mov ecx, 0x262
mov eax, 0
cmove ecx, eax
cmp ecx, dword [esp + 0x44]
jb 0x41bc7d
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x528]
mov edx, dword [ecx + 0x530]
cmp edx, eax
jae 0x41bc72
mov ecx, dword [esp + 0x64]
mov esi, dword [ecx]
neg eax
lea ecx, [edx + 1]
lea edx, [edx + edx*2]
lea edx, [esi + edx*8]
add edx, 0x14
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x4c]
cmp dword [edx], esi
ja 0x41bc72
mov esi, dword [ebp + 8]
mov dword [esi + 0x530], ecx
lea esi, [eax + ecx]
add esi, 1
add ecx, 1
add edx, 0x18
cmp esi, 1
jne 0x41bc50
cmp dword [esp + 0x68], 0
jne 0x419216
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x20]
push dword [edx]
push dword [esp + 0x44]
push ecx
push eax
call fcn.00427ce0
add esp, 0x10
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jne 0x41bcac
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x41bcf8
mov eax, dword [esp + 0xc]
mov byte [eax + 4], 0
mov dword [eax], 0x656e6f64
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.0041c0c0
mov eax, dword [esi + 0x4f8]
test eax, eax
je 0x41bcf8
mov edx, dword [esp + 0x60]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
push edx
push ecx
call fcn.00428f00
add esp, 0x10
mov eax, dword [esp + 0x14]
push dword [eax]
push 0xa
call fcn.0043bf01
add esp, 8
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov esi, dword [ebp + 8]
push dword [esi + 0x5c]
push dword [esi + 0x40]
push dword [esi + 0x490]
push ecx
push eax
call fcn.0041eb00
add esp, 0x14
mov edi, eax
mov dword [esi + 0x4a0], 0
push esi
call fcn.00418f00
add esp, 4
jmp 0x41bd4f
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
push ecx
push eax
push dword [esp + 0x48]
call fcn.00426f70
add esp, 0xc
xor edi, edi
mov ecx, dword [esp + 0x110]
xor ecx, ebp
call fcn.0042fb70
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x41bdd5
mov eax, dword [edi]
mov ecx, dword [edi + 4]
push ecx
push eax
call fcn.00426f00
add esp, 8
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebx + 0x520], ecx
mov dword [ebx + 0x51c], eax
push dword [esp + 0x64]
push dword [ebx + 0x5c]
push dword [ebx + 0x40]
push dword [edi + 0x10]
push dword [edi + 0xc]
call fcn.0042dd50
add esp, 0x14
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebx + 0x4e4], 0
mov dword [ebx + 0x4ec], 0
cmp dword [ebx + 0x4e8], 0
je 0x41be17
mov eax, dword [ebx + 0x4e0]
xor ecx, ecx
jmp 0x41be56
mov dword [ebx + 0x4e4], 0
mov dword [ebx + 0x4ec], 0
cmp dword [ebx + 0x58], 0
mov edi, ebx
jne 0x41bdfe
cmp dword [edi + 0x4f8], 0
je 0x41914a
mov word [edi + 0x79], 0x65
mov dword [edi + 0x75], 0x73726170
mov dword [edi + 0x71], 0x5f77656e
jmp 0x419143
mov eax, dword [ebx + 0x4e0]
test eax, eax
je 0x41be32
push 0x80
push eax
call dword [0x463778]
add esp, 8
jmp 0x41be40
push 0x80
call dword [0x463770]
add esp, 4
mov dword [ebx + 0x4e0], eax
mov dword [ebx + 0x4e8], 8
mov ecx, dword [ebx + 0x4e4]
lea edx, [ecx + 1]
mov dword [ebx + 0x4e4], edx
shl ecx, 4
mov dword [eax + ecx + 4], edi
mov dword [eax + ecx], esi
mov dword [eax + ecx + 8], 0
mov dword [eax + ecx + 0xc], 0
mov eax, dword [ebx + 0x4e0]
mov ecx, dword [ebx + 0x4e4]
mov edx, ecx
shl edx, 4
mov ebx, dword [edx + eax - 0x10]
test bl, 1
jne 0x41bf37
cmp word [ebx + 0x24], 0
je 0x41bf37
mov edi, dword [edx + eax - 4]
lea edx, [ecx + 1]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x4e8]
cmp edx, esi
mov dword [esp + 0x24], edi
jbe 0x41beff
lea edi, [esi + esi]
mov dword [esp + 0xc], edi
cmp edi, 9
mov edi, 8
cmovae edi, dword [esp + 0xc]
cmp edi, edx
cmovb edi, edx
cmp esi, edi
jae 0x41beff
mov ecx, edi
shl ecx, 4
push ecx
push eax
call dword [0x463778]
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4e0], eax
mov dword [ecx + 0x4e8], edi
mov ecx, dword [ecx + 0x4e4]
lea edx, [ecx + 1]
mov edi, dword [ebp + 8]
mov dword [edi + 0x4e4], edx
movzx edx, word [ebx + 0x24]
shl edx, 3
mov esi, ebx
sub esi, edx
neg edx
mov edx, dword [ebx + edx + 4]
shl ecx, 4
mov esi, dword [esi]
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], edx
mov dword [eax + ecx + 8], 0
mov edx, dword [esp + 0x24]
mov dword [eax + ecx + 0xc], edx
jmp 0x41bf4e
mov edi, dword [ebp + 8]
mov dword [edi + 0x4e4], 0
mov dword [edi + 0x4ec], 0
cmp dword [edi + 0x58], 0
jne 0x41bf5d
cmp dword [edi + 0x4f8], 0
je 0x41bfc5
mov byte [edi + 0x81], 0
mov dword [edi + 0x7d], 0x74696465
mov dword [edi + 0x79], 0x5f726574
mov dword [edi + 0x75], 0x66615f65
mov dword [edi + 0x71], 0x73726170
mov ecx, edi
call fcn.0041c0c0
lea esi, [edi + 0x4f8]
mov eax, dword [edi + 0x4f8]
test eax, eax
mov dword [esp + 0xc], esi
je 0x41bfcf
lea ecx, [edi + 0x51c]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
push ecx
push edx
call fcn.00428f00
add esp, 0x10
push dword [esi]
push 0xa
call fcn.0043bf01
add esp, 8
jmp 0x41bfcf
lea eax, [edi + 0x4f8]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x528]
test eax, eax
je 0x41914a
lea ecx, [edi + 0x71]
mov dword [esp + 0x24], ecx
xor ebx, ebx
mov esi, 0x14
jmp 0x41c02e
push dword [ecx + esi]
push dword [ecx + esi - 4]
push str.different_included_range__u____u
push 0x400
push dword [esp + 0x34]
call fcn.0041c050
add esp, 0x14
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.0041c0c0
mov eax, dword [edi + 0x528]
add ebx, 1
add esi, 0x18
cmp ebx, eax
mov edi, dword [ebp + 8]
jae 0x41914a
mov ecx, dword [edi + 0x524]
cmp dword [edi + 0x58], 0
jne 0x41bff0
mov edx, dword [esp + 0xc]
cmp dword [edx], 0
jne 0x41bff0
jmp 0x41c01d