Function at 0x476370
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53bd40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x5c], 0
jmp 0x4763a0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
mov cl, byte [eax]
inc eax
mov byte [ebp - 0x11], cl
mov dword [ebp + 0xc], eax
movsx eax, byte [ebp - 0x11]
cmp eax, 0x59
ja case.0x478a59.6
jmp dword [eax*4 + 0x47a9c8]
mov edx, dword [ebp + 0x10]
push edx
call fcn.00471100
add esp, 4
mov eax, dword [esi + 4]
cmp eax, 6
je 0x4764e3
mov ebx, dword [esi]
dec eax
cmp eax, 6
ja case.0x4763eb.4
jmp dword [eax*4 + 0x47ab30]
movzx eax, bx
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x476418
dec ecx
sub esi, 8
mov word [eax*4 + 0x9b6478], cx
mov dword [ebp + 8], esi
jmp 0x4763d3
inc word [eax*4 + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
sub esi, 8
mov dword [ebp + 8], esi
jmp 0x4763d3
mov ecx, dword [0x8e6208]
movzx eax, bx
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x476462
dec ecx
sub esi, 8
mov word [eax], cx
mov dword [ebp + 8], esi
jmp 0x4763d3
lea edi, [eax + 4]
mov eax, edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x476470
sub eax, edx
inc eax
mov ecx, edi
push eax
mov edi, ebx
call fcn.0046ff70
add esp, 4
sub esi, 8
mov dword [ebp + 8], esi
jmp 0x4763d3
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, ebx
sub edx, ecx
cmp edx, eax
jb case.0x4763eb.4
xor eax, eax
mov ax, word [ebx - 2]
test ax, ax
je 0x4764c0
dec eax
sub esi, 8
mov word [ebx - 2], ax
mov dword [ebp + 8], esi
jmp 0x4763d3
mov ecx, ebx
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
sub esi, 8
mov dword [ebp + 8], esi
jmp 0x4763d3
mov ecx, dword [0xa7a5d8]
mov edi, dword [ebp + 0x18]
dec ecx
cmp esi, edi
mov dword [0xa7a5d8], ecx
jne 0x476513
mov dword [edi + 0xc], 0
mov ax, word [ebp + 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [ebp + 0x10]
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x476534
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp 0x476554
mov ebx, dword [ebp + 0x10]
inc word [eax*4 + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
mov eax, dword [esi]
sub esi, 8
xor ebx, ebx
mov bx, word [esi]
mov dword [ebp + 0xc], eax
movzx eax, bx
lea ecx, [eax + eax*2]
mov dword [esi + 4], 0
movzx eax, word [ecx*4 + 0x9b647a]
lea eax, [eax + eax*2]
mov edx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and edx, 0x1f
cmp dl, 0xf
mov dword [ebp + 8], esi
mov dword [ebp + 0x10], ebx
jb case.0x4763c0.87
jmp 0x4787d0
mov edi, dword [ebp + 0x10]
push edi
call fcn.00471100
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
add esp, 4
mov eax, dword [esi - 4]
sub esi, 8
cmp eax, 6
mov dword [ebp + 8], esi
je 0x47669d
mov ebx, dword [esi]
dec eax
cmp eax, 6
ja case.0x4765cf.4
jmp dword [eax*4 + 0x47ab4c]
movzx eax, bx
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x4765f6
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x4765cf.4
inc word [eax*4 + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
jmp case.0x4765cf.4
mov eax, dword [0x8e6208]
movzx edx, bx
lea eax, [eax + edx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x476630
dec ecx
mov word [eax], cx
jmp case.0x4765cf.4
lea edi, [eax + 4]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x476638
sub eax, edx
inc eax
mov ecx, edi
push eax
mov edi, ebx
call fcn.0046ff70
mov edi, dword [ebp + 0x10]
jmp 0x4765b2
mov edx, dword [0x8e6204]
mov eax, dword [0x966418]
mov ecx, ebx
sub ecx, edx
cmp ecx, eax
jb case.0x4765cf.4
xor eax, eax
mov ax, word [ebx - 2]
test ax, ax
je 0x476680
dec eax
mov word [ebx - 2], ax
jmp case.0x4765cf.4
mov ecx, ebx
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
jmp case.0x4765cf.4
mov edx, dword [0xa7a5d8]
mov eax, dword [ebp + 0x18]
dec edx
cmp esi, eax
mov dword [0xa7a5d8], edx
jne 0x4766d1
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov ax, di
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x4766f1
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp 0x476710
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
mov edx, dword [esi]
mov ecx, dword [ebp - 0x7c]
xor eax, eax
mov ax, word [esi - 8]
sub esi, 8
mov dword [ebp + 0xc], edx
mov edx, dword [ebp - 0x78]
mov dword [esi], ecx
mov dword [esi + 4], edx
mov dword [ebp + 8], esi
mov dword [ebp + 0x10], eax
movzx eax, ax
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x9b647a]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and ecx, 0x1f
cmp cl, 0xf
jb case.0x4763c0.87
jmp 0x4787c7
mov eax, dword [ebp + 0xc]
add esi, 8
mov dword [esi + 4], 5
mov edx, dword [eax]
add eax, 4
mov dword [ebp + 8], esi
mov dword [esi], edx
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
add esi, 8
mov dword [esi + 4], 4
mov ecx, dword [eax]
add eax, 4
mov dword [ebp + 8], esi
mov dword [esi], ecx
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov ecx, dword [ebp + 0xc]
add esi, 8
mov dword [esi + 4], 1
mov ax, word [ecx]
mov word [esi], ax
movzx edx, ax
mov eax, dword [0x8e6208]
inc word [eax + edx*8]
lea eax, [eax + edx*8]
add ecx, 2
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], ecx
jmp case.0x4763c0.87
mov ecx, dword [ebp + 0xc]
add esi, 8
mov dword [esi + 4], 2
mov ax, word [ecx]
mov word [esi], ax
movzx edx, ax
mov eax, dword [0x8e6208]
inc word [eax + edx*8]
lea eax, [eax + edx*8]
add ecx, 2
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], ecx
jmp case.0x4763c0.87
movzx eax, word [ebp + 0x10]
lea ecx, [eax + eax*2]
mov dx, word [ecx*4 + 0x9b647a]
mov word [ebp - 0x50], dx
jmp case.0x4763c0.87
mov eax, dword [0xa7a59c]
mov dword [ebp - 0x50], eax
jmp case.0x4763c0.87
mov ecx, dword [0xa7a480]
mov dword [ebp - 0x50], ecx
jmp case.0x4763c0.87
movzx eax, word [ebp + 0x10]
add esi, 8
lea edx, [eax + eax*2]
mov dword [esi + 4], 7
mov ax, word [edx*4 + 0x9b647a]
jmp 0x476899
mov eax, dword [0xa7a59c]
jmp 0x47688f
movzx eax, word [0xa7a5dc]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
add esi, 8
and ecx, 0x1f
mov dword [esi + 4], ecx
mov eax, dword [eax]
mov dword [esi], eax
push eax
mov eax, ecx
mov dword [ebp + 8], esi
call fcn.004717b0
add esp, 4
jmp case.0x4763c0.87
mov eax, dword [0xa7a480]
add esi, 8
mov dword [esi + 4], 7
mov word [esi], ax
movzx eax, ax
lea eax, [eax + eax*2]
inc word [eax*4 + 0x9b6478]
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
add esi, 8
mov dword [esi + 4], 0xb
mov edx, dword [eax]
add eax, 4
mov dword [ebp + 8], esi
mov dword [esi], edx
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov eax, dword [0xa7a5dc]
mov dword [ebp - 0x50], eax
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
add esi, 8
mov dword [esi + 4], 9
mov ecx, dword [eax]
add eax, 4
mov dword [ebp + 8], esi
mov dword [esi], ecx
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov edx, dword [ebp + 0xc]
movzx eax, word [edx]
push eax
mov eax, dword [ebp + 0x10]
add esi, 8
push eax
mov dword [ebp + 8], esi
call fcn.00470ae0
movzx ecx, ax
movzx eax, word [ecx*4 + 0x976478]
lea eax, [eax + eax*2]
mov edx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and edx, 0x1f
mov dword [esi + 4], edx
mov eax, dword [eax]
add esp, 8
mov dword [esi], eax
push eax
mov eax, edx
call fcn.004717b0
mov eax, dword [ebp + 0xc]
add esp, 4
add eax, 2
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
movzx eax, word [eax]
mov ecx, dword [ebp + 0x10]
push eax
push ecx
call fcn.00470ae0
movzx edx, ax
mov ax, word [edx*4 + 0x976478]
mov word [ebp - 0x50], ax
mov eax, dword [ebp + 0xc]
add esp, 8
add eax, 2
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
mov ebx, dword [ebp + 0x10]
push eax
mov eax, ebx
call fcn.00470a30
add esp, 4
test ax, ax
je 0x4769d7
movzx edi, ax
movzx eax, word [edi*4 + 0x976478]
lea edi, [edi*4 + 0x976478]
lea edx, [eax + eax*2]
lea eax, [edx*4 + 0x9b6478]
mov dword [ebp - 0x64], eax
movzx eax, bx
lea ecx, [eax + eax*2]
lea ecx, [ecx*4 + 0x9b6478]
call fcn.00470e00
mov eax, dword [ebp - 0x64]
call fcn.00471610
add dword [ebp + 0xc], 2
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov dword [ebp + 8], esi
call fcn.00472970
jmp case.0x4763c0.87
mov eax, dword [ebp - 0x50]
push esi
call fcn.00472ec0
add esp, 4
sub esi, 8
mov dword [ebp + 8], esi
mov dword [ebp - 0x50], eax
jmp case.0x4763c0.87
mov eax, dword [ebp - 0x50]
push esi
call fcn.00472be0
add esp, 4
sub esi, 8
mov dword [ebp + 8], esi
mov dword [ebp - 0x50], eax
jmp case.0x4763c0.87
mov eax, dword [ebp - 0x50]
push esi
call fcn.00473250
add esp, 4
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
add esi, 8
mov dword [ebp + 8], esi
mov dword [esi + 4], 7
call fcn.004713f0
mov dword [eax + 4], 0x6f
mov word [eax], 0
mov word [eax + 2], 0
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov word [esi], dx
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x50]
movzx eax, word [eax]
add esi, 8
push edx
mov dword [ebp + 8], esi
call fcn.00471950
add esp, 4
mov edi, esi
push eax
call fcn.00472040
mov eax, dword [ebp + 0xc]
add esp, 4
add eax, 2
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx]
push ecx
call fcn.00471950
add esp, 4
mov dword [ebp - 0x50], eax
add dword [ebp + 0xc], 2
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
mov cx, word [eax]
mov eax, dword [ebp - 0x50]
call fcn.00471a70
add dword [ebp + 0xc], 2
jmp case.0x4763c0.87
mov eax, dword [0x1407358]
mov edi, esi
mov dword [ebp - 0x50], eax
call fcn.00471e50
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
cmp dword [esi + 4], 6
je 0x476b34
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
mov edx, dword [ebp + 0x10]
push eax
push edx
call fcn.00470ae0
movzx eax, ax
movzx eax, word [eax*4 + 0x976478]
add esp, 8
mov edi, esi
call fcn.00471f80
sub esi, 8
mov dword [ebp + 8], esi
add dword [ebp + 0xc], 2
jmp case.0x4763c0.87
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0xc]
cmp eax, 6
movzx eax, word [ecx]
push eax
je 0x476b7e
mov edx, dword [ebp + 0x10]
push edx
call fcn.00470ae0
movzx eax, ax
movzx eax, word [eax*4 + 0x976478]
add esp, 8
mov edi, esi
call fcn.00471f80
mov eax, dword [ebp + 0xc]
sub esi, 8
add eax, 2
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov eax, dword [ebp + 0x10]
call fcn.00470a30
add esp, 4
test ax, ax
je 0x476bc4
movzx edi, ax
movzx eax, word [edi*4 + 0x976478]
lea edi, [edi*4 + 0x976478]
lea ebx, [eax + eax*2]
movzx eax, word [ebp + 0x10]
lea ecx, [eax + eax*2]
lea ecx, [ecx*4 + 0x9b6478]
lea ebx, [ebx*4 + 0x9b6478]
call fcn.00470e00
mov eax, ebx
call fcn.00471610
add dword [ebp + 0xc], 2
jmp case.0x4763c0.87
mov eax, dword [esi + 4]
cmp eax, 6
je case.0x4763c0.87
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x476be8.4
jmp dword [eax*4 + 0x47ab68]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x476c15
dec ecx
sub esi, 8
mov word [eax*4 + 0x9b6478], cx
mov dword [ebp + 8], esi
jmp case.0x4763c0.31
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.31
mov eax, dword [0x8e6208]
movzx edx, di
lea eax, [eax + edx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x476c60
dec ecx
sub esi, 8
mov word [eax], cx
mov dword [ebp + 8], esi
jmp case.0x4763c0.31
lea ecx, [eax + 4]
mov eax, ecx
lea edx, [eax + 1]
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x476c68
sub eax, edx
inc eax
push eax
call fcn.0046ff70
add esp, 4
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.31
mov edx, dword [0x8e6204]
mov eax, dword [0x966418]
mov ecx, edi
sub ecx, edx
cmp ecx, eax
jb case.0x476be8.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x476cb4
dec eax
sub esi, 8
mov word [edi - 2], ax
mov dword [ebp + 8], esi
jmp case.0x4763c0.31
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.31
cmp dword [esi + 4], 6
je case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [0xa7a5a4], 0x55ae9c
je 0x476d0b
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x12]
push eax
mov byte [ebp - 0x12], dl
call fcn.005376ef
push str.function_called_with_too_many_parameters
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov edi, esi
call fcn.00471f80
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov edi, dword [ebp + 0xc]
movzx ecx, byte [edi]
inc edi
mov dword [0xa7a508], ecx
mov dword [ebp + 0xc], edi
mov dword [0xa7a5a0], esi
call dword [edi]
mov eax, dword [0xa7a508]
mov esi, dword [0xa7a5a0]
add edi, 4
test eax, eax
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], esi
je 0x476fd9
mov dword [ebp - 0x58], eax
neg eax
lea edx, [esi + eax*8]
mov dword [0xa7a508], 0
mov dword [0xa7a5a0], edx
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x476d8f.4
jmp dword [eax*4 + 0x47ab84]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x476db9
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x476d8f.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x476d8f.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x476df6
dec ecx
mov word [eax], cx
jmp case.0x476d8f.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x476e00
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x476d8f.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x476d8f.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x476e3a
dec eax
mov word [edi - 2], ax
jmp case.0x476d8f.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [ebp - 0x58]
sub esi, 8
dec eax
mov dword [ebp + 8], esi
mov dword [ebp - 0x58], eax
jne 0x476d80
jmp 0x476fd9
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [ebp + 0xc], eax
cmp dword [esi + 4], 7
lea edx, [esi - 8]
mov dword [0xa7a508], ecx
mov dword [0xa7a5a0], edx
jne 0x47708a
xor ebx, ebx
mov bx, word [esi]
movzx eax, bx
lea eax, [eax + eax*2]
shl eax, 2
mov ecx, dword [eax + 0x9b647c]
and ecx, 0x1f
cmp ecx, 0xd
mov dword [ebp - 0x50], ebx
jne 0x476ffd
movzx esi, word [eax + 0x9b647a]
xor ecx, ecx
mov cx, word [eax + 0x9b6478]
test cx, cx
mov dword [ebp - 0x54], esi
je 0x476ed2
dec ecx
mov word [eax + 0x9b6478], cx
jmp 0x476eee
inc word [eax + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
mov eax, dword [ebp + 0xc]
push esi
call dword [eax]
mov edx, dword [ebp + 0xc]
mov eax, dword [0xa7a508]
mov esi, dword [0xa7a5a0]
add edx, 4
add esp, 4
test eax, eax
mov dword [ebp + 0xc], edx
mov dword [ebp + 8], esi
je 0x476fd9
mov dword [ebp - 0x58], eax
neg eax
lea ecx, [esi + eax*8]
mov dword [0xa7a508], 0
mov dword [0xa7a5a0], ecx
mov edi, edi
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x476f3f.4
jmp dword [eax*4 + 0x47aba0]
push edi
call fcn.004716b0
add esp, 4
jmp case.0x476f3f.4
mov eax, dword [0x8e6208]
movzx edx, di
lea eax, [eax + edx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x476f6c
dec ecx
mov word [eax], cx
jmp case.0x476f3f.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x476f74
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x476f3f.4
mov edx, dword [0x8e6204]
mov eax, dword [0x966418]
mov ecx, edi
sub ecx, edx
cmp ecx, eax
jb case.0x476f3f.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x476fae
dec eax
mov word [edi - 2], ax
jmp case.0x476f3f.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [ebp - 0x58]
sub esi, 8
dec eax
mov dword [ebp + 8], esi
mov dword [ebp - 0x58], eax
jne 0x476f30
mov ecx, dword [0xa7a5e4]
xor eax, eax
cmp ecx, eax
je 0x476fef
mov dword [0xa7a5e4], eax
jmp case.0x4763c0.87
add esi, 8
mov dword [ebp + 8], esi
mov dword [esi + 4], eax
jmp case.0x4763c0.87
mov edi, ecx
xor ecx, ecx
mov cx, word [eax + 0x9b6478]
test cx, cx
mov dword [ebp - 0x54], edi
je 0x47701a
dec ecx
mov word [eax + 0x9b6478], cx
jmp 0x477036
inc word [eax + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
mov edx, dword [edi*4 + 0x5757c8]
push edx
push str._s_is_not_an_entity
mov dword [0xa7a5e8], 0xffffffff
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x47707a
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x13]
push ecx
mov byte [ebp - 0x13], al
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [esi + 4]
mov edi, dword [esi]
mov dword [ebp - 0x54], eax
dec eax
cmp eax, 6
ja case.0x47709c.4
jmp dword [eax*4 + 0x47abbc]
push edi
call fcn.004716b0
add esp, 4
jmp case.0x47709c.4
mov eax, dword [0x8e6208]
movzx edx, di
lea eax, [eax + edx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x4770c9
dec ecx
mov word [eax], cx
jmp case.0x47709c.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4770d1
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47709c.4
mov edx, dword [0x8e6204]
mov eax, dword [0x966418]
mov ecx, edi
sub ecx, edx
cmp ecx, eax
jb case.0x47709c.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47710b
dec eax
mov word [edi - 2], ax
jmp case.0x47709c.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov edx, dword [ebp - 0x54]
mov eax, dword [edx*4 + 0x5757c8]
push eax
push str._s_is_not_an_entity
mov dword [0xa7a5e8], 0xffffffff
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x47716b
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x14]
push edx
mov byte [ebp - 0x14], cl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x4771bf
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [0xa7a5a4], 0x55ae48
je 0x4771ab
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x15]
push ecx
mov byte [ebp - 0x15], al
call fcn.005376ef
push str.wait_not_allowed_in___...___comment__call_as_a_thread_to_fix_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
call fcn.00475bd0
test al, al
je 0x477345
mov edx, dword [esi]
mov dword [ebp - 0x60], edx
fld dword [ebp - 0x60]
fcomp dword [0x568e64]
fnstsw ax
test ah, 1
jne 0x4772fa
fld dword [ebp - 0x60]
fcomp dword [0x569170]
fnstsw ax
test ah, 5
jp 0x4772ae
fld dword [ebp - 0x60]
mov dword [ebp - 0x84], 0
fmul dword [0x569090]
mov dword [ebp - 0x80], 0x3e100000
fstp dword [ebp - 0x64]
fld dword [ebp - 0x64]
fadd qword [ebp - 0x84]
fistp dword [ebp - 0x6c]
mov eax, dword [0xa7647c]
mov ecx, dword [ebp - 0x6c]
xor edx, edx
mov dx, word [0x1407354]
lea edi, [ecx + eax]
and edi, 0xffffff
push edi
mov dword [ebp - 0x54], edi
push edx
call fcn.00470ae0
movzx eax, ax
movzx eax, word [eax*4 + 0x976478]
add esp, 8
call fcn.004722a0
mov ebx, dword [ebp + 0x14]
movzx ecx, bx
add ecx, 0x10000
push ecx
push eax
call fcn.00470ae0
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
add esp, 8
sub esi, 8
push edi
push ebx
mov ecx, esi
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0x18]
push edx
sub ecx, esi
push eax
sar ecx, 3
mov eax, esi
call fcn.0047aec0
add esp, 0x10
mov dword [esi + 0xc], 0
mov ax, bx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [ebp - 0x60]
sub esp, 8
fstp qword [esp]
push str.wait_of__.0f_seconds_is_too_long
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 0xc
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x4772ea
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x16]
push edx
mov byte [ebp - 0x16], cl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
fld dword [ebp - 0x60]
sub esp, 8
fstp qword [esp]
push str.negative_wait_of__g_is_not_allowed
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 0xc
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x477335
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x17]
push ecx
mov byte [ebp - 0x17], al
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x477365
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 0x18], dl
call fcn.005376ef
mov ecx, dword [0xa7a5a4]
push ecx
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov ecx, dword [ebp + 0x10]
movzx eax, cx
add esi, 8
lea eax, [eax + eax*2]
inc word [eax*4 + 0x9b6478]
mov dword [esi + 4], 7
mov word [esi], cx
add esi, 8
mov dword [ebp + 8], esi
mov dword [esi + 4], 0
jmp case.0x4763c0.87
mov ebx, dword [ebp + 0x10]
movzx edi, bx
lea edi, [edi + edi*2]
shl edi, 2
xor eax, eax
mov ax, word [edi + 0x9b6478]
test ax, ax
je 0x4773cf
dec eax
mov word [edi + 0x9b6478], ax
jmp 0x4773eb
inc word [edi + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
mov eax, dword [0xa7a5d8]
cmp eax, 0x20
jge 0x47747a
movzx edi, word [edi + 0x9b647a]
mov ebx, dword [ebp + 0xc]
mov dword [eax*4 + 0xa7a510], ebx
inc eax
mov dword [0xa7a5d8], eax
movzx eax, di
lea eax, [eax + eax*2]
inc word [eax*4 + 0x9b6478]
mov dword [ebp - 0x50], edi
call fcn.004713f0
mov dword [eax + 4], 0x6c
mov word [eax], 0
mov word [eax + 2], di
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebx + 4]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [ebp + 0x10], edx
shl ecx, 3
mov edx, esi
sub edx, ecx
mov dword [edx + 4], 6
mov ecx, dword [ebx + 4]
shl ecx, 3
mov edx, esi
lea eax, [ebx + 8]
sub edx, ecx
mov dword [edx], eax
mov eax, dword [ebx]
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
test eax, eax
mov dword [0xa7a5a4], 0x55adc4
je 0x47749f
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x19]
push edx
mov byte [ebp - 0x19], cl
call fcn.005376ef
push str.script_stack_overflow__too_many_embedded_function_calls_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov ebx, dword [ebp + 0x10]
movzx edi, bx
lea edi, [edi + edi*2]
shl edi, 2
xor eax, eax
mov ax, word [edi + 0x9b6478]
test ax, ax
je 0x4774d7
dec eax
mov word [edi + 0x9b6478], ax
jmp 0x4774f3
inc word [edi + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
cmp dword [esi + 4], 9
jne 0x4775d6
mov eax, dword [0xa7a5d8]
cmp eax, 0x20
jge 0x477593
mov ecx, dword [ebp + 0xc]
movzx edi, word [edi + 0x9b647a]
mov dword [eax*4 + 0xa7a510], ecx
mov ebx, dword [esi]
inc eax
mov dword [0xa7a5d8], eax
movzx eax, di
sub esi, 8
lea eax, [eax + eax*2]
inc word [eax*4 + 0x9b6478]
mov dword [ebp + 8], esi
mov dword [ebp - 0x50], edi
call fcn.004713f0
mov dword [eax + 4], 0x6c
mov word [eax], 0
mov word [eax + 2], di
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp + 0x10], edx
shl ecx, 3
mov edx, esi
sub edx, ecx
mov dword [edx + 4], 6
mov edx, dword [eax]
lea ecx, [eax + 4]
shl edx, 3
mov eax, esi
sub eax, edx
mov dword [eax], ecx
mov dword [ebp + 0xc], ebx
jmp case.0x4763c0.87
test eax, eax
mov dword [0xa7a5e8], 1
mov dword [0xa7a5a4], 0x55adc4
je 0x4775c2
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x1a]
push edx
mov byte [ebp - 0x1a], cl
call fcn.005376ef
push str.script_stack_overflow__too_many_embedded_function_calls_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, dword [eax*4 + 0x5757c8]
push ecx
push str._s_is_not_a_function_pointer
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x477614
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x1b]
push eax
mov byte [ebp - 0x1b], dl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov ebx, dword [ebp + 0x10]
movzx eax, bx
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x477647
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp 0x477664
inc word [eax*4 + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
cmp dword [esi + 4], 7
jne 0x4777a7
movzx eax, word [esi]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and ecx, 0x1f
cmp cl, 0xf
jae 0x477743
mov eax, dword [0xa7a5d8]
cmp eax, 0x20
jge 0x47770a
mov ebx, dword [ebp + 0xc]
mov dword [eax*4 + 0xa7a510], ebx
mov di, word [esi]
inc eax
mov dword [0xa7a5d8], eax
call fcn.004713f0
mov dword [eax + 4], 0x6c
mov word [eax], 0
mov word [eax + 2], di
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebx + 4]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
sub esi, 8
mov dword [ebp + 0x10], edx
shl ecx, 3
mov edx, esi
sub edx, ecx
mov dword [edx + 4], 6
mov ecx, dword [ebx + 4]
shl ecx, 3
mov edx, esi
lea eax, [ebx + 8]
sub edx, ecx
mov dword [edx], eax
mov eax, dword [ebx]
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
test eax, eax
mov dword [0xa7a5a4], 0x55adc4
je 0x47772f
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x1c]
push edx
mov byte [ebp - 0x1c], cl
call fcn.005376ef
push str.script_stack_overflow__too_many_embedded_function_calls_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
movzx eax, word [esi]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x9b647c]
and ecx, 0x1f
mov edx, dword [ecx*4 + 0x5757c8]
push edx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 1
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x477797
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x1d]
push ecx
mov byte [ebp - 0x1d], al
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov edx, dword [esi + 4]
mov eax, dword [edx*4 + 0x5757c8]
push eax
push str._s_is_not_an_object
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x4777e5
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x1e]
push edx
mov byte [ebp - 0x1e], cl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov ebx, dword [ebp + 0x10]
movzx eax, bx
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x477818
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp 0x477835
inc word [eax*4 + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
cmp dword [esi + 4], 9
jne 0x4779ee
mov eax, dword [esi]
sub esi, 8
mov dword [ebp - 0x64], eax
cmp dword [esi + 4], 7
mov dword [ebp + 8], esi
jne 0x477996
movzx eax, word [esi]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and ecx, 0x1f
cmp cl, 0xf
jae 0x477932
mov eax, dword [0xa7a5d8]
cmp eax, 0x20
jge 0x4778ef
mov ebx, dword [ebp + 0xc]
mov dword [eax*4 + 0xa7a510], ebx
mov di, word [esi]
inc eax
mov dword [0xa7a5d8], eax
call fcn.004713f0
mov dword [eax + 4], 0x6c
mov word [eax], 0
mov word [eax + 2], di
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebx]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
sub esi, 8
mov dword [ebp + 0x10], edx
shl ecx, 3
mov edx, esi
sub edx, ecx
mov dword [edx + 4], 6
mov ecx, dword [ebx]
shl ecx, 3
mov edx, esi
lea eax, [ebx + 4]
sub edx, ecx
mov dword [edx], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
test eax, eax
mov dword [0xa7a5e8], 1
mov dword [0xa7a5a4], 0x55adc4
je 0x47791e
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x1f]
push edx
mov byte [ebp - 0x1f], cl
call fcn.005376ef
push str.script_stack_overflow__too_many_embedded_function_calls_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
movzx eax, word [esi]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x9b647c]
and ecx, 0x1f
mov edx, dword [ecx*4 + 0x5757c8]
push edx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x477986
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 0x20], al
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov edx, dword [esi + 4]
mov eax, dword [edx*4 + 0x5757c8]
push eax
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x4779de
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x21]
push edx
mov byte [ebp - 0x21], cl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x4779fd.4
jmp dword [eax*4 + 0x47abd8]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x477a27
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x4779fd.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x4779fd.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x477a64
dec ecx
mov word [eax], cx
jmp case.0x4779fd.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x477a70
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x4779fd.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x4779fd.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x477aaa
dec eax
mov word [edi - 2], ax
jmp case.0x4779fd.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [esi + 4]
mov ecx, dword [eax*4 + 0x5757c8]
sub esi, 8
push ecx
push str._s_is_not_a_function_pointer
mov dword [ebp + 8], esi
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x477b06
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x22]
push eax
mov byte [ebp - 0x22], dl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [0xa7a5d8]
cmp eax, 0x20
jge 0x477bd4
mov ebx, dword [ebp + 0xc]
mov dword [eax*4 + 0xa7a510], ebx
inc eax
mov dword [0xa7a5d8], eax
movzx eax, word [ebp + 0x10]
lea ecx, [eax + eax*2]
xor edi, edi
mov di, word [ecx*4 + 0x9b647a]
movzx eax, di
lea eax, [eax + eax*2]
inc word [eax*4 + 0x9b6478]
mov dword [ebp - 0x50], edi
call fcn.004713f0
mov dword [eax + 4], 0x6c
mov word [eax], 0
mov word [eax + 2], di
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ecx, dword [ebx + 4]
shl ecx, 3
mov edi, esi
sub edi, ecx
mov eax, dword [edi + 4]
push edi
push edx
mov dword [edi + 4], 6
mov ecx, dword [ebx]
push edx
push ecx
push esi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
call fcn.00476370
xor ecx, ecx
add esp, 0x14
mov esi, eax
movzx eax, si
lea eax, [eax + eax*2]
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x477e28
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp 0x477e4a
test eax, eax
mov dword [0xa7a5e8], 1
mov dword [0xa7a5a4], 0x55adc4
je 0x477c02
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x23]
push ecx
mov byte [ebp - 0x23], al
call fcn.005376ef
push str.script_stack_overflow__too_many_embedded_function_calls_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
cmp dword [esi + 4], 9
jne 0x477d59
mov eax, dword [0xa7a5d8]
cmp eax, 0x20
jge 0x477d16
mov edx, dword [ebp + 0xc]
mov dword [eax*4 + 0xa7a510], edx
mov ebx, dword [esi]
inc eax
mov dword [0xa7a5d8], eax
movzx eax, word [ebp + 0x10]
lea eax, [eax + eax*2]
xor edi, edi
mov di, word [eax*4 + 0x9b647a]
movzx eax, di
sub esi, 8
lea eax, [eax + eax*2]
inc word [eax*4 + 0x9b6478]
mov dword [ebp + 8], esi
mov dword [ebp - 0x50], edi
call fcn.004713f0
mov word [eax + 2], di
mov dword [eax + 4], 0x6c
mov word [eax], 0
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp + 0xc]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [eax]
shl ecx, 3
mov edi, esi
sub edi, ecx
mov eax, dword [edi + 4]
push edi
push edx
push edx
push ebx
push esi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
mov dword [edi + 4], 6
call fcn.00476370
xor ecx, ecx
add esp, 0x14
mov ebx, eax
movzx eax, bx
lea eax, [eax + eax*2]
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x477cdf
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp 0x477cfc
inc word [eax*4 + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x54]
lea esi, [edi + 8]
add eax, 4
mov dword [edi + 4], ecx
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
test eax, eax
mov dword [0xa7a5e8], 1
mov dword [0xa7a5a4], 0x55adc4
je 0x477d45
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 0x24], dl
call fcn.005376ef
push str.script_stack_overflow__too_many_embedded_function_calls_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov ecx, dword [esi + 4]
mov edx, dword [ecx*4 + 0x5757c8]
push edx
push str._s_is_not_a_function_pointer
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x477d96
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x25]
push ecx
mov byte [ebp - 0x25], al
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
cmp dword [esi + 4], 7
jne 0x477f08
movzx eax, word [esi]
lea eax, [eax + eax*2]
mov edx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and edx, 0x1f
cmp dl, 0xf
jae 0x477ea3
mov eax, dword [0xa7a5d8]
cmp eax, 0x20
jge 0x477e61
mov ebx, dword [ebp + 0xc]
mov dword [eax*4 + 0xa7a510], ebx
mov di, word [esi]
inc eax
mov dword [0xa7a5d8], eax
call fcn.004713f0
mov dword [eax + 4], 0x6c
mov word [eax], 0
mov word [eax + 2], di
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
sub esi, 8
mov dword [ebp + 8], esi
jmp 0x477b82
inc word [eax*4 + 0x9b6478]
mov ebx, esi
call fcn.00470f70
push esi
call fcn.004716b0
add esp, 4
mov eax, esi
call fcn.00471460
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x54]
lea esi, [edi + 8]
add ebx, 8
mov dword [edi + 4], edx
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], ebx
jmp case.0x4763c0.87
test eax, eax
mov dword [0xa7a5e8], 1
mov dword [0xa7a5a4], 0x55adc4
je 0x477e8f
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x26]
push ecx
mov byte [ebp - 0x26], al
call fcn.005376ef
push str.script_stack_overflow__too_many_embedded_function_calls_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
movzx eax, word [esi]
lea edx, [eax + eax*2]
mov eax, dword [edx*4 + 0x9b647c]
and eax, 0x1f
mov ecx, dword [eax*4 + 0x5757c8]
push ecx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x477ef8
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x27]
push eax
mov byte [ebp - 0x27], dl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov ecx, dword [esi + 4]
mov edx, dword [ecx*4 + 0x5757c8]
push edx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x477f4f
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x28]
push ecx
mov byte [ebp - 0x28], al
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
cmp dword [esi + 4], 9
jne 0x478170
mov ebx, dword [esi]
mov eax, dword [esi - 4]
sub esi, 8
cmp eax, 7
mov dword [ebp + 8], esi
jne 0x478119
movzx eax, word [esi]
lea eax, [eax + eax*2]
mov edx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and edx, 0x1f
cmp dl, 0xf
jae 0x4780b4
mov eax, dword [0xa7a5d8]
cmp eax, 0x20
jge 0x478072
mov ecx, dword [ebp + 0xc]
mov dword [eax*4 + 0xa7a510], ecx
mov di, word [esi]
inc eax
mov dword [0xa7a5d8], eax
call fcn.004713f0
mov word [eax + 2], di
mov dword [eax + 4], 0x6c
mov word [eax], 0
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp + 0xc]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [ecx]
sub esi, 8
shl eax, 3
mov edi, esi
sub edi, eax
mov ecx, dword [edi + 4]
push edi
push edx
push edx
push ebx
push esi
mov dword [ebp - 0x50], edx
mov dword [ebp + 8], esi
mov dword [ebp - 0x54], ecx
mov dword [edi + 4], 6
call fcn.00476370
xor ecx, ecx
add esp, 0x14
mov ebx, eax
movzx eax, bx
lea eax, [eax + eax*2]
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x47803b
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp 0x478058
inc word [eax*4 + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x54]
lea esi, [edi + 8]
add eax, 4
mov dword [edi + 4], edx
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
test eax, eax
mov dword [0xa7a5e8], 1
mov dword [0xa7a5a4], 0x55adc4
je 0x4780a0
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x29]
push ecx
mov byte [ebp - 0x29], al
call fcn.005376ef
push str.script_stack_overflow__too_many_embedded_function_calls_
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
movzx eax, word [esi]
lea edx, [eax + eax*2]
mov eax, dword [edx*4 + 0x9b647c]
and eax, 0x1f
mov ecx, dword [eax*4 + 0x5757c8]
push ecx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x478109
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x2a]
push eax
mov byte [ebp - 0x2a], dl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov ecx, dword [esi + 4]
mov edx, dword [ecx*4 + 0x5757c8]
push edx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x478160
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x2b]
push ecx
mov byte [ebp - 0x2b], al
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x47817f.4
jmp dword [eax*4 + 0x47abf4]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x4781a9
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x47817f.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x47817f.4
mov eax, dword [0x8e6208]
movzx edx, di
lea eax, [eax + edx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x4781e5
dec ecx
mov word [eax], cx
jmp case.0x47817f.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4781f0
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47817f.4
mov edx, dword [0x8e6204]
mov eax, dword [0x966418]
mov ecx, edi
sub ecx, edx
cmp ecx, eax
jb case.0x47817f.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47822a
dec eax
mov word [edi - 2], ax
jmp case.0x47817f.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov edx, dword [esi + 4]
mov eax, dword [edx*4 + 0x5757c8]
sub esi, 8
push eax
push str._s_is_not_a_function_pointer
mov dword [ebp + 8], esi
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x478286
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x2c]
push edx
mov byte [ebp - 0x2c], cl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x4782a5.4
jmp dword [eax*4 + 0x47ac10]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x4782d5
dec ecx
sub esi, 8
mov word [eax*4 + 0x9b6478], cx
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x478324
dec ecx
sub esi, 8
mov word [eax], cx
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
lea ecx, [eax + 4]
mov eax, ecx
lea edx, [eax + 1]
lea esp, [esp]
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x478330
sub eax, edx
inc eax
push eax
call fcn.0046ff70
add esp, 4
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x4782a5.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47837c
dec eax
sub esi, 8
mov word [edi - 2], ax
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov eax, esi
call fcn.00472350
sub esi, 8
mov dword [ebp + 8], esi
mov dword [ebp - 0x50], eax
jmp case.0x4763c0.87
cmp dword [esi + 4], 5
jne 0x4783ca
mov ecx, dword [esi]
xor eax, eax
test ecx, ecx
setne al
mov dword [esi], eax
jmp case.0x4763c0.87
mov edi, esi
call fcn.00475a10
test al, al
jne case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x4783f9
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x2d]
push edx
mov byte [ebp - 0x2d], cl
call fcn.005376ef
mov eax, dword [0xa7a5a4]
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
call fcn.00475b00
test al, al
jne case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x47843b
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x2e]
push edx
mov byte [ebp - 0x2e], cl
call fcn.005376ef
mov eax, dword [0xa7a5a4]
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
call fcn.00475bd0
test al, al
jne case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x47847d
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x2f]
push edx
mov byte [ebp - 0x2f], cl
call fcn.005376ef
mov eax, dword [0xa7a5a4]
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
call fcn.00475cb0
test al, al
jne case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x4784bf
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x30]
push edx
mov byte [ebp - 0x30], cl
call fcn.005376ef
mov eax, dword [0xa7a5a4]
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
cmp dword [esi + 4], 5
je 0x47852d
mov edi, esi
call fcn.00475a10
test al, al
jne 0x47852d
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x478505
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x31]
push edx
mov byte [ebp - 0x31], cl
call fcn.005376ef
mov eax, dword [0xa7a5a4]
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [esi + 4]
cmp eax, 5
jne 0x47853d
mov edx, dword [esi]
not edx
mov dword [esi], edx
jmp case.0x4763c0.87
mov eax, dword [esi]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esi], ecx
jmp case.0x4763c0.87
mov eax, dword [eax*4 + 0x5757c8]
push eax
push str._cannot_be_applied_to___s_
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x478578
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x32]
push edx
mov byte [ebp - 0x32], cl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
cmp dword [esi + 4], 5
je 0x478614
mov edi, esi
call fcn.00475a10
test al, al
jne 0x478614
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x4785bc
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x33]
push ecx
mov byte [ebp - 0x33], al
call fcn.005376ef
mov edx, dword [0xa7a5a4]
push edx
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
cmp dword [esi + 4], 5
je 0x47867d
mov edi, esi
call fcn.00475a10
test al, al
jne 0x47867d
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [0xa7a5e8], 1
je 0x47862f
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x34]
push ecx
mov byte [ebp - 0x34], al
call fcn.005376ef
cmp dword [esi], 0
mov eax, dword [ebp + 0xc]
jne 0x47861e
add eax, dword [eax]
add eax, 4
sub esi, 8
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov edx, dword [0xa7a5a4]
push edx
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
cmp dword [esi + 4], 5
je 0x4786fa
mov edi, esi
call fcn.00475a10
test al, al
jne 0x4786fa
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x4786b4
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x35]
push ecx
mov byte [ebp - 0x35], al
call fcn.005376ef
cmp dword [esi], 0
je 0x4786a5
sub esi, 8
mov dword [ebp + 8], esi
push edx
rdtsc
pop edx
sub eax, dword [0xa7a5d4]
js 0x47875d
mov eax, dword [ebp + 0xc]
add eax, dword [eax]
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
add dword [ebp + 0xc], 4
sub esi, 8
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov edx, dword [0xa7a5a4]
push edx
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
cmp dword [esi + 4], 5
je 0x478734
mov edi, esi
call fcn.00475a10
test al, al
jne 0x478734
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x47870f
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x36]
push ecx
mov byte [ebp - 0x36], al
call fcn.005376ef
cmp dword [esi], 0
jne 0x478749
mov eax, dword [ebp + 0xc]
add eax, dword [eax]
add eax, 4
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov edx, dword [0xa7a5a4]
push edx
push 0x568b30
push 1
call fcn.00435ad0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add esp, 0xc
add eax, ecx
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
cmp dword [esi], 0
je 0x478749
mov eax, dword [ebp + 0xc]
add eax, dword [eax]
add eax, 4
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
sub esi, 8
add eax, 4
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov eax, dword [0xa7a5e0]
test eax, eax
je 0x478797
push str.WARNING:_potential_infinite_loop_in_script._n
call fcn.004357b0
mov edi, dword [ebp + 0xc]
add esp, 4
push 0
mov eax, edi
call fcn.0046eee0
mov eax, dword [edi]
add esp, 4
add edi, eax
mov dword [ebp + 0xc], edi
push edx
rdtsc
pop edx
mov dword [0xa7a5d4], eax
jmp case.0x4763c0.87
mov eax, dword [0x8e60d0]
test eax, eax
jne 0x478846
push str.ERROR:_potential_infinite_loop_in_script___killing_thread._n
call fcn.004357b0
mov eax, dword [ebp + 0xc]
add esp, 4
push 0
call fcn.0046eee0
add esp, 4
push edx
rdtsc
pop edx
mov dword [0xa7a5d4], eax
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
lea ecx, [ecx]
push ebx
call fcn.00471100
add esp, 4
lea esp, [esp]
cmp dword [esi + 4], 6
je 0x4787f5
mov edx, esi
call fcn.004704e0
sub esi, 8
mov dword [ebp + 8], esi
jmp 0x4787e0
mov ecx, dword [0xa7a5d8]
dec ecx
cmp esi, edi
mov dword [0xa7a5d8], ecx
jne 0x478821
mov dword [edi + 0xc], 0
mov ax, bx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call fcn.004716b0
mov eax, dword [esi]
mov cx, word [esi - 8]
add esp, 4
sub esi, 8
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], esi
mov word [ebp + 0x10], cx
mov dword [esi + 4], 0
jmp 0x4787ca
call fcn.00470580
mov eax, dword [0xa7a5d8]
test eax, eax
mov byte [0xa7a5cc], 1
mov dword [0xa7a5a4], 0x55acf8
je 0x47887c
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x37]
push eax
mov byte [ebp - 0x37], dl
call fcn.005376ef
push str.potential_infinite_loop_in_script
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov ecx, dword [ebp - 0x50]
add esi, 8
push ecx
mov edi, esi
mov dword [ebp + 8], esi
call fcn.00472040
mov eax, dword [esi + 4]
add esp, 4
cmp eax, 5
jne 0x4788b3
inc dword [esi]
jmp case.0x4763c0.87
mov edx, dword [eax*4 + 0x5757c8]
push edx
push str._must_be_applied_to_an_int__applied_to__s_
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x4788ed
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x38]
push ecx
mov byte [ebp - 0x38], al
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov edx, dword [ebp - 0x50]
add esi, 8
push edx
mov edi, esi
mov dword [ebp + 8], esi
call fcn.00472040
mov eax, dword [esi + 4]
add esp, 4
cmp eax, 5
jne 0x478920
dec dword [esi]
jmp case.0x4763c0.87
mov eax, dword [eax*4 + 0x5757c8]
push eax
push str.___must_be_applied_to_an_int__applied_to__s_
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x47895b
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x39]
push edx
mov byte [ebp - 0x39], cl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
cmp dword [esi + 4], 5
jne case.0x478a59.6
mov ecx, dword [esi]
mov eax, dword [edi]
or ecx, eax
mov dword [esi], ecx
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
cmp dword [esi + 4], 5
jne case.0x478a59.6
mov eax, dword [esi]
mov ecx, dword [edi]
xor eax, ecx
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
cmp dword [esi + 4], 5
jne case.0x478a59.6
mov eax, dword [esi]
mov edx, dword [edi]
and eax, edx
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea eax, [esi + 8]
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.004761e0
test al, al
jne case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x478a1d
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x3a]
push ecx
mov byte [ebp - 0x3a], al
call fcn.005376ef
mov edx, dword [0xa7a5a4]
push edx
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
test al, al
je case.0x478a59.6
mov eax, dword [esi + 4]
cmp eax, 0xb
ja case.0x478a59.6
jmp dword [eax*4 + 0x47ac2c]
mov dword [esi + 4], 5
mov dword [esi], 0
jmp case.0x4763c0.87
mov eax, dword [esi]
mov edx, dword [edi]
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [esi], ecx
jmp case.0x4763c0.87
fld dword [esi]
fsub dword [edi]
fstp dword [ebp - 0x64]
mov edx, dword [ebp - 0x64]
and edx, 0x7fffffff
mov dword [ebp - 0x64], edx
fld dword [ebp - 0x64]
fcomp dword [0x569148]
fnstsw ax
mov dword [esi + 4], 5
test ah, 1
jne 0x478cc2
mov eax, 1
mov dword [esi], eax
jmp case.0x4763c0.87
xor eax, eax
mov ax, word [esi]
xor ebx, ebx
cmp ax, word [edi]
mov dword [esi + 4], 5
setne bl
mov dword [ebp - 0x54], ebx
call fcn.00470050
mov ax, word [edi]
call fcn.00470050
mov dword [esi], ebx
jmp case.0x4763c0.87
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esi + 4], 5
fld dword [ecx]
fcomp dword [edx]
fnstsw ax
test ah, 0x44
jp 0x478b20
fld dword [ecx + 4]
fcomp dword [edx + 4]
fnstsw ax
test ah, 0x44
jp 0x478b20
fld dword [ecx + 8]
mov dword [ebp - 0x54], 0
fcomp dword [edx + 8]
fnstsw ax
test ah, 0x44
jnp 0x478b27
mov dword [ebp - 0x54], 1
call fcn.00471770
mov ecx, dword [edi]
call fcn.00471770
mov eax, dword [ebp - 0x54]
mov dword [esi], eax
jmp case.0x4763c0.87
xor eax, eax
mov ax, word [esi]
xor ebx, ebx
cmp ax, word [edi]
mov dword [esi + 4], 5
setne bl
push eax
mov dword [ebp - 0x54], ebx
call fcn.004716b0
xor ecx, ecx
mov cx, word [edi]
add esp, 4
push ecx
call fcn.004716b0
add esp, 4
mov dword [esi], ebx
jmp case.0x4763c0.87
mov edx, dword [esi]
mov ecx, dword [edi]
xor eax, eax
cmp edx, ecx
setne al
mov dword [esi + 4], 5
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
mov eax, dword [esi + 4]
sub eax, 4
je 0x478bbe
dec eax
jne case.0x478a59.6
mov ecx, dword [esi]
mov eax, dword [edi]
xor edx, edx
cmp ecx, eax
setl dl
mov dword [esi], edx
jmp case.0x4763c0.87
fld dword [esi]
mov dword [esi + 4], 5
fcomp dword [edi]
fnstsw ax
test ah, 5
jp 0x478cc2
mov eax, 1
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
mov eax, dword [esi + 4]
sub eax, 4
je 0x478c13
dec eax
jne case.0x478a59.6
mov eax, dword [esi]
mov edx, dword [edi]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [esi], ecx
jmp case.0x4763c0.87
fld dword [esi]
mov dword [esi + 4], 5
fcomp dword [edi]
fnstsw ax
test ah, 0x41
jne 0x478cc2
mov eax, 1
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
mov eax, dword [esi + 4]
sub eax, 4
je 0x478c68
dec eax
jne case.0x478a59.6
mov edx, dword [esi]
mov ecx, dword [edi]
xor eax, eax
cmp edx, ecx
setle al
mov dword [esi], eax
jmp case.0x4763c0.87
fld dword [esi]
mov dword [esi + 4], 5
fcomp dword [edi]
fnstsw ax
test ah, 0x41
jp 0x478cc2
mov eax, 1
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
mov eax, dword [esi + 4]
sub eax, 4
je 0x478cb9
dec eax
jne case.0x478a59.6
mov ecx, dword [esi]
mov eax, dword [edi]
xor edx, edx
cmp ecx, eax
setge dl
mov dword [esi], edx
jmp case.0x4763c0.87
fld dword [esi]
fcomp dword [edi]
jmp 0x478aa0
xor eax, eax
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
cmp dword [esi + 4], 5
jne case.0x478a59.6
mov eax, dword [esi]
mov ecx, dword [edi]
shl eax, cl
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
cmp dword [esi + 4], 5
jne case.0x478a59.6
mov eax, dword [esi]
mov ecx, dword [edi]
sar eax, cl
mov dword [esi], eax
jmp case.0x4763c0.87
sub esi, 8
lea ebx, [esi + 8]
mov eax, ebx
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
mov eax, dword [esi + 4]
dec eax
cmp eax, 4
ja case.0x478a59.6
jmp dword [eax*4 + 0x47ac5c]
mov ecx, dword [esi]
mov eax, dword [ebx]
add ecx, eax
mov dword [esi], ecx
jmp case.0x4763c0.87
fld dword [esi]
fadd dword [ebx]
fstp dword [esi]
jmp case.0x4763c0.87
mov ecx, esi
call fcn.0047e360
mov di, word [esi]
mov edx, dword [0x8e6208]
movzx ecx, di
mov dword [ebp - 0x58], eax
lea eax, [edx + ecx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x478d84
dec ecx
mov word [eax], cx
jmp 0x478da4
lea ecx, [eax + 4]
mov eax, ecx
lea edx, [eax + 1]
mov dword [ebp - 0x64], edx
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x478d90
sub eax, dword [ebp - 0x64]
inc eax
push eax
call fcn.0046ff70
add esp, 4
mov bx, word [ebx]
mov ecx, dword [0x8e6208]
movzx eax, bx
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x478dcd
mov dx, word [ebp - 0x58]
dec ecx
mov word [eax], cx
mov word [esi], dx
jmp case.0x4763c0.87
lea ecx, [eax + 4]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x478dd5
sub eax, edi
inc eax
push eax
mov edi, ebx
call fcn.0046ff70
mov dx, word [ebp - 0x58]
add esp, 4
mov word [esi], dx
jmp case.0x4763c0.87
push 2
push 0xe
call fcn.0046e2d0
movzx edi, ax
mov word [edi*8 + 0x8e6318], 0
mov eax, dword [esi]
mov ecx, dword [ebx]
lea edi, [edi*8 + 0x8e631a]
fld dword [eax]
add esp, 8
fadd dword [ecx]
fstp dword [edi]
mov edx, dword [esi]
fld dword [edx + 4]
mov eax, dword [ebx]
fadd dword [eax + 4]
fstp dword [edi + 4]
mov ecx, dword [esi]
mov edx, dword [ebx]
fld dword [ecx + 8]
fadd dword [edx + 8]
mov edx, dword [0x8e6204]
fstp dword [edi + 8]
mov ecx, dword [esi]
mov eax, ecx
sub eax, edx
cmp eax, dword [0x966418]
jb 0x478e76
xor eax, eax
mov ax, word [ecx - 2]
test ax, ax
je 0x478e60
dec eax
mov word [ecx - 2], ax
jmp 0x478e76
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov ebx, dword [ebx]
mov edx, dword [0x8e6204]
mov eax, dword [0x966418]
mov ecx, ebx
sub ecx, edx
cmp ecx, eax
jb 0x478eba
xor eax, eax
mov ax, word [ebx - 2]
test ax, ax
je 0x478ea2
dec eax
mov word [ebx - 2], ax
mov dword [esi], edi
jmp case.0x4763c0.87
mov ecx, ebx
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov dword [esi], edi
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
mov eax, dword [esi + 4]
sub eax, 3
je 0x478efd
dec eax
je 0x478ef2
dec eax
jne case.0x478a59.6
mov eax, dword [esi]
mov edx, dword [edi]
sub eax, edx
mov dword [esi], eax
jmp case.0x4763c0.87
fld dword [esi]
fsub dword [edi]
fstp dword [esi]
jmp case.0x4763c0.87
push 2
push 0xe
call fcn.0046e2d0
movzx ebx, ax
mov word [ebx*8 + 0x8e6318], 0
mov eax, dword [esi]
mov ecx, dword [edi]
lea ebx, [ebx*8 + 0x8e631a]
fld dword [eax]
add esp, 8
fsub dword [ecx]
fstp dword [ebx]
mov edx, dword [esi]
fld dword [edx + 4]
mov eax, dword [edi]
fsub dword [eax + 4]
fstp dword [ebx + 4]
mov ecx, dword [esi]
mov edx, dword [edi]
fld dword [ecx + 8]
fsub dword [edx + 8]
mov edx, dword [0x8e6204]
fstp dword [ebx + 8]
mov ecx, dword [esi]
mov eax, ecx
sub eax, edx
cmp eax, dword [0x966418]
jb 0x478f7d
xor eax, eax
mov ax, word [ecx - 2]
test ax, ax
je 0x478f67
dec eax
mov word [ecx - 2], ax
jmp 0x478f7d
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov edi, dword [edi]
mov edx, dword [0x8e6204]
mov eax, dword [0x966418]
mov ecx, edi
sub ecx, edx
cmp ecx, eax
jb 0x478fc1
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x478fa9
dec eax
mov word [edi - 2], ax
mov dword [esi], ebx
jmp case.0x4763c0.87
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov dword [esi], ebx
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
mov eax, dword [esi + 4]
sub eax, 4
je 0x478ff5
dec eax
jne case.0x478a59.6
mov edx, dword [esi]
imul edx, dword [edi]
mov dword [esi], edx
jmp case.0x4763c0.87
fld dword [esi]
fmul dword [edi]
fstp dword [esi]
jmp case.0x4763c0.87
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
mov eax, dword [esi + 4]
sub eax, 4
je 0x479076
dec eax
jne case.0x478a59.6
mov ecx, dword [edi]
test ecx, ecx
je 0x479033
mov eax, dword [esi]
cdq
idiv ecx
mov dword [esi], eax
jmp case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [esi], 0
mov dword [0xa7a5a4], 0x55ac8c
je 0x479062
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x3b]
push ecx
mov byte [ebp - 0x3b], al
call fcn.005376ef
push str.divide_by_0
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
fld dword [edi]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jnp 0x479090
fld dword [esi]
fdiv dword [edi]
fstp dword [esi]
jmp case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [esi], 0
mov dword [0xa7a5a4], 0x55ac8c
je 0x47911a
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 0x3c], dl
call fcn.005376ef
sub esi, 8
lea edi, [esi + 8]
mov eax, edi
mov ecx, esi
mov dword [ebp + 8], esi
call fcn.00476090
cmp dword [esi + 4], 5
jne case.0x478a59.6
mov ecx, dword [edi]
test ecx, ecx
je 0x4790ea
mov eax, dword [esi]
cdq
idiv ecx
mov dword [esi], edx
jmp case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [esi], 0
mov dword [0xa7a5a4], 0x55ac8c
je 0x47911a
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x3d]
push edx
mov byte [ebp - 0x3d], cl
call fcn.005376ef
push str.divide_by_0
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov eax, dword [0xa7a5a4]
test eax, eax
jne 0x47913f
lea edi, [esi + 8]
call fcn.00475fb0
mov eax, dword [0xa7a5d8]
test eax, eax
je 0x479c76
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x4a]
push ecx
mov byte [ebp - 0x4a], al
call fcn.005376ef
mov edx, esi
call fcn.00472140
jmp case.0x4763c0.87
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x4791b8
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [0xa7a5a4], 0x55ac48
je 0x47919e
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x3e]
push ecx
mov byte [ebp - 0x3e], al
call fcn.005376ef
push str.waittill_not_allowed_in___...___comment__call_as_a_thread_to_fix_
push 0x568b30
mov edi, 1
push edi
call fcn.00435ad0
add esp, 0xc
jmp 0x4791bd
mov edi, 1
cmp dword [esi + 4], 7
jne 0x479400
mov cx, word [esi]
movzx eax, cx
lea eax, [eax + eax*2]
mov edx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and edx, 0x1f
cmp dl, 0xf
jae 0x47939c
cmp dword [esi - 4], edi
jne 0x479359
xor edi, edi
mov di, word [esi - 8]
push 0x20000
push ecx
mov dword [ebp - 0x58], edi
call fcn.00470ae0
movzx eax, ax
movzx eax, word [eax*4 + 0x976478]
add esp, 8
call fcn.004722a0
movzx edi, di
push edi
push eax
call fcn.00470ae0
movzx ecx, ax
xor eax, eax
mov ax, word [ecx*4 + 0x976478]
add esp, 8
call fcn.004722a0
movzx ebx, word [ebp + 0x14]
lea ecx, [ebx + 0x10000]
push ecx
mov dword [ebp - 0x64], ecx
push eax
call fcn.00470ae0
mov dx, word [esi]
lea ebx, [ebx + ebx*2]
xor ecx, ecx
mov cx, word [0xa7a5a8]
shl ebx, 2
movzx eax, word [ebx + 0x9b647a]
add esp, 8
add eax, 0x10000
push eax
push ecx
mov word [ebp - 0x7c], dx
call fcn.00470ae0
movzx edx, ax
xor eax, eax
mov ax, word [edx*4 + 0x976478]
add esp, 8
call fcn.004722a0
mov ecx, dword [ebp - 0x64]
push ecx
push eax
call fcn.00470ae0
movzx edx, ax
movzx eax, word [edx*4 + 0x976478]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
or ecx, 7
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [0x8e6208]
add esp, 8
inc word [eax + edi*8]
mov ecx, dword [ebx + 0x9b647c]
mov edx, edi
shl edx, 8
or ecx, edx
mov dword [ebx + 0x9b647c], ecx
xor ecx, ecx
mov cx, word [eax + edi*8]
test cx, cx
je 0x4792f0
dec ecx
mov word [eax + edi*8], cx
jmp 0x479316
lea ecx, [eax + edi*8 + 4]
mov eax, ecx
lea edi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x479300
sub eax, edi
mov edi, dword [ebp - 0x58]
inc eax
push eax
call fcn.0046ff70
add esp, 4
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push 0
push edi
push eax
sub esi, 0x10
push ecx
mov ecx, esi
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0x18]
sub ecx, esi
sar ecx, 3
mov eax, esi
call fcn.0047aec0
mov ecx, dword [ebp - 0xc]
add esp, 0x10
mov ax, di
pop edi
mov dword [esi + 0xc], 0
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [0xa7a5e8], edi
mov dword [0xa7a5a4], 0x55ac0c
je 0x479389
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x3f]
push eax
mov byte [ebp - 0x3f], dl
call fcn.005376ef
push str.first_parameter_of_waittill_must_evaluate_to_a_string
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
movzx eax, word [esi]
lea ecx, [eax + eax*2]
mov edx, dword [ecx*4 + 0x9b647c]
and edx, 0x1f
mov eax, dword [edx*4 + 0x5757c8]
push eax
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x4793f1
mov cl, byte [0xa7a598]
push 0x56cf10
lea edx, [ebp - 0x40]
push edx
mov byte [ebp - 0x40], cl
call fcn.005376ef
push eax
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, dword [eax*4 + 0x5757c8]
push ecx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x479448
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x41]
push eax
mov byte [ebp - 0x41], dl
call fcn.005376ef
push eax
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
jmp 0x47945e
mov edi, 1
cmp dword [esi + 4], 7
jne 0x479665
mov cx, word [esi]
movzx eax, cx
lea eax, [eax + eax*2]
mov edx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and edx, 0x1f
cmp dl, 0xf
jae 0x479601
cmp dword [esi - 4], edi
jne 0x4795bf
xor edx, edx
mov dx, word [esi - 8]
lea eax, [esi - 0x10]
push eax
push edx
push ecx
call fcn.0047b430
add esp, 0xc
jmp 0x4794b0
mov eax, dword [esi + 4]
cmp eax, 6
je 0x4786a9
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x4794c8.4
jmp dword [eax*4 + 0x47ac70]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x4794f5
dec ecx
sub esi, 8
mov word [eax*4 + 0x9b6478], cx
mov dword [ebp + 8], esi
jmp 0x4794b0
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
sub esi, 8
mov dword [ebp + 8], esi
jmp 0x4794b0
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x479541
dec ecx
sub esi, 8
mov word [eax], cx
mov dword [ebp + 8], esi
jmp 0x4794b0
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x479550
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
sub esi, 8
mov dword [ebp + 8], esi
jmp 0x4794b0
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x4794c8.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47959c
dec eax
sub esi, 8
mov word [edi - 2], ax
mov dword [ebp + 8], esi
jmp 0x4794b0
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
sub esi, 8
mov dword [ebp + 8], esi
jmp 0x4794b0
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [0xa7a5e8], edi
mov dword [0xa7a5a4], 0x55abd8
je 0x4795ee
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x42]
push ecx
mov byte [ebp - 0x42], al
call fcn.005376ef
push str.first_parameter_of_notify_must_evaluate_to_a_string
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
movzx eax, word [esi]
lea edx, [eax + eax*2]
mov eax, dword [edx*4 + 0x9b647c]
and eax, 0x1f
mov ecx, dword [eax*4 + 0x5757c8]
push ecx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x479656
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x43]
push eax
mov byte [ebp - 0x43], dl
call fcn.005376ef
push eax
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
mov ecx, dword [esi + 4]
mov edx, dword [ecx*4 + 0x5757c8]
push edx
push str._s_is_not_an_object
mov dword [0xa7a5e8], 2
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x4796ac
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x44]
push ecx
mov byte [ebp - 0x44], al
call fcn.005376ef
push eax
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
jmp 0x4796c2
mov edi, 1
cmp dword [esi + 4], 7
jne 0x479a14
movzx eax, word [esi]
lea eax, [eax + eax*2]
mov edx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
and edx, 0x1f
cmp dl, 0xf
jae 0x4799b4
cmp dword [esi - 4], edi
jne 0x479978
mov ax, word [esi - 8]
mov ebx, dword [ebp + 0x14]
mov word [ebp - 0x58], ax
movzx eax, bx
mov dword [ebp - 0x70], eax
lea eax, [eax + eax*2]
inc word [eax*4 + 0x9b6478]
call fcn.004713f0
mov dword [eax + 4], 0x6c
mov word [eax], 0
mov word [eax + 2], bx
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
xor eax, eax
mov ax, word [esi]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov edi, edx
push 0x20000
mov dword [ebp - 0x64], edi
push eax
call fcn.00470ae0
movzx edx, ax
movzx eax, word [edx*4 + 0x976478]
lea ebx, [eax + eax*2]
mov eax, dword [ebx*4 + 0x9b647c]
lea ebx, [ebx*4 + 0x9b6478]
add esp, 8
test al, 0x1f
jne 0x4797ac
or eax, 7
mov dword [ebx + 4], eax
call fcn.004713f0
mov dword [eax + 4], 0x6f
mov word [eax], 0
mov word [eax + 2], 0
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov word [ebx], dx
movzx eax, word [ebp - 0x58]
movzx ebx, word [ebx]
push eax
push ebx
call fcn.00470ae0
movzx ecx, ax
movzx eax, word [ecx*4 + 0x976478]
lea ebx, [eax + eax*2]
mov eax, dword [ebx*4 + 0x9b647c]
lea ebx, [ebx*4 + 0x9b6478]
add esp, 8
test al, 0x1f
jne 0x479814
or eax, 7
mov dword [ebx + 4], eax
call fcn.004713f0
mov dword [eax + 4], 0x6f
mov word [eax], 0
mov word [eax + 2], 0
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov word [ebx], dx
movzx ebx, word [ebx]
movzx edi, di
lea eax, [edi + 0x10000]
push eax
push ebx
mov dword [ebp - 0x74], eax
call fcn.00470ae0
lea edi, [edi + edi*2]
shl edi, 2
xor eax, eax
mov ax, word [edi + 0x9b6478]
add esp, 8
test ax, ax
je 0x47984b
dec eax
mov word [edi + 0x9b6478], ax
jmp 0x47986a
mov ebx, dword [ebp - 0x64]
inc word [edi + 0x9b6478]
call fcn.00470f70
push ebx
call fcn.004716b0
add esp, 4
mov eax, ebx
call fcn.00471460
mov edx, dword [ebp - 0x70]
mov cx, word [esi]
xor eax, eax
mov ax, word [0xa7a5a8]
add edx, 0x10000
push edx
mov word [ebp - 0x7c], cx
push eax
call fcn.00470ae0
movzx ecx, ax
movzx eax, word [ecx*4 + 0x976478]
lea ebx, [eax + eax*2]
mov eax, dword [ebx*4 + 0x9b647c]
lea ebx, [ebx*4 + 0x9b6478]
add esp, 8
test al, 0x1f
jne 0x4798e3
or eax, 7
mov dword [ebx + 4], eax
call fcn.004713f0
mov dword [eax + 4], 0x6f
mov word [eax], 0
mov word [eax + 2], 0
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov word [ebx], dx
movzx ebx, word [ebx]
mov ecx, dword [ebp - 0x74]
push ecx
push ebx
call fcn.00470ae0
mov ecx, dword [ebp - 0x7c]
movzx edx, ax
movzx eax, word [edx*4 + 0x976478]
lea eax, [eax + eax*2]
mov ebx, dword [eax*4 + 0x9b647c]
lea eax, [eax*4 + 0x9b6478]
or ebx, 7
mov dword [eax + 4], ebx
mov ebx, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [0x8e6208]
movzx ecx, bx
mov edx, ecx
shl edx, 8
add esp, 8
inc word [eax + ecx*8]
or dword [edi + 0x9b647c], edx
xor edx, edx
mov dx, word [eax + ecx*8]
test dx, dx
je 0x47994f
dec edx
sub esi, 0x10
mov word [eax + ecx*8], dx
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
lea ecx, [eax + ecx*8 + 4]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x479958
sub eax, edi
inc eax
push eax
mov edi, ebx
call fcn.0046ff70
add esp, 4
sub esi, 0x10
mov dword [ebp + 8], esi
jmp case.0x4763c0.87
mov eax, dword [0xa7a5d8]
test eax, eax
mov dword [0xa7a5a4], 0x55aba4
je 0x4799a1
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x45]
push ecx
mov byte [ebp - 0x45], al
call fcn.005376ef
push str.first_parameter_of_endof_must_evaluate_to_a_string
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
movzx eax, word [esi]
lea edx, [eax + eax*2]
mov eax, dword [edx*4 + 0x9b647c]
and eax, 0x1f
mov ecx, dword [eax*4 + 0x5757c8]
push ecx
push str._s_is_not_an_object
mov dword [0xa7a5e8], edi
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x479a05
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x46]
push eax
mov byte [ebp - 0x46], dl
call fcn.005376ef
push eax
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
mov ecx, dword [esi + 4]
mov edx, dword [ecx*4 + 0x5757c8]
push edx
push str._s_is_not_an_object
mov dword [0xa7a5e8], edi
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x479a57
mov al, byte [0xa7a598]
push 0x56cf10
lea ecx, [ebp - 0x47]
push ecx
mov byte [ebp - 0x47], al
call fcn.005376ef
push eax
push 0x568b30
push edi
call fcn.00435ad0
add esp, 0xc
add esi, 8
mov dword [ebp + 8], esi
mov dword [esi + 4], 6
mov dword [esi], 0
jmp case.0x4763c0.87
mov ebx, dword [ebp + 0xc]
movsx edx, word [ebx]
movsx eax, word [ebx + edx - 2]
mov ecx, dword [esi + 4]
add ebx, edx
mov dword [ebp - 0x54], eax
mov eax, ecx
dec eax
mov dword [ebp + 0xc], ebx
je 0x479b58
sub eax, 4
je 0x479af2
mov ecx, dword [ecx*4 + 0x5757c8]
push ecx
push str.cannot_switch_on__s
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x479add
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 0x48], dl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
jmp 0x479b9a
mov eax, dword [esi]
lea ecx, [eax + 0x7e0000]
cmp ecx, 0xfdffff
ja 0x479b14
add eax, 0xff800000
and eax, 0xffffff
mov dword [ebp - 0x68], eax
jmp 0x479b9a
push eax
push str.switch_index__d_out_of_range
call fcn.0044ace0
mov ecx, dword [0xa7a5d8]
add esp, 8
test ecx, ecx
mov dword [0xa7a5a4], eax
je 0x479b48
mov dl, byte [0xa7a598]
push 0x56cf10
lea eax, [ebp - 0x49]
push eax
mov byte [ebp - 0x49], dl
call fcn.005376ef
push eax
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
mov di, word [esi]
mov eax, dword [0x8e6208]
movzx ecx, di
movzx edx, di
mov dword [ebp - 0x68], ecx
lea eax, [eax + edx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x479b7c
dec ecx
mov word [eax], cx
jmp 0x479b9a
lea ecx, [eax + 4]
mov eax, ecx
lea edx, [eax + 1]
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x479b84
sub eax, edx
inc eax
push eax
call fcn.0046ff70
mov ebx, dword [ebp + 0xc]
add esp, 4
mov eax, dword [ebp - 0x54]
sub esi, 8
test eax, eax
mov dword [ebp + 8], esi
je case.0x4763c0.87
jmp 0x479bb0
mov ecx, dword [ebp - 0x68]
cmp dword [ebx], ecx
jne 0x479bc2
mov edx, dword [ebx + 4]
mov dword [ebp + 0xc], edx
jmp case.0x4763c0.87
mov eax, dword [ebp - 0x54]
add ebx, 8
dec eax
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x54], eax
jne 0x479bb0
mov eax, dword [ebx - 8]
test eax, eax
jne case.0x4763c0.87
mov eax, dword [ebx - 4]
mov dword [ebp + 0xc], eax
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
movsx ecx, word [eax]
lea edx, [eax + ecx*8 + 2]
mov dword [ebp + 0xc], edx
jmp case.0x4763c0.87
sub esi, 0x10
push esi
mov dword [ebp + 8], esi
call fcn.00475e10
add esp, 4
jmp case.0x4763c0.87
mov eax, dword [ebp + 0xc]
mov ecx, dword [0xa7a5d8]
mov edx, dword [0x1407380]
mov dword [ecx*4 + 0xa7a488], eax
sub eax, edx
mov edx, dword [0x1407394]
mov eax, dword [edx + eax*4 - 4]
mov dl, byte [eax]
inc eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x5c]
inc eax
mov byte [ecx + 0xa7a5ac], dl
mov dword [ebp - 0x5c], eax
jmp case.0x4763c0.87
mov eax, dword [0xa7a5d8]
mov ecx, dword [eax*4 + 0xa7a488]
mov dl, byte [eax + 0xa7a5ac]
mov dword [eax*4 + 0xa7a488], 0
mov eax, dword [ebp - 0x5c]
dec eax
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x11], dl
mov dword [ebp - 0x5c], eax
jmp 0x4763b3
mov edx, dword [0xa7a5a4]
push edx
push 0x568b30
push 1
call fcn.00435ad0
add esp, 0xc
jmp 0x479c97
mov al, byte [0xa7a5cc]
mov ebx, dword [ebp + 0xc]
xor edi, edi
test al, al
mov dword [ebp - 4], 0xffffffff
je 0x479cca
mov eax, dword [0xa7a5a4]
mov ecx, dword [0xa7a5e8]
mov edi, dword [0xa7a590]
push eax
push ecx
push ebx
call fcn.0046f0f0
add esp, 0xc
xor edi, edi
movsx eax, byte [ebp - 0x11]
add eax, 0xffffffec
cmp eax, 0x42
ja case.0x479ce1.24
movzx edx, byte [eax + 0x47acf0]
jmp dword [edx*4 + 0x47ac8c]
mov eax, dword [0x1407358]
call fcn.00471f00
mov eax, dword [0x1407358]
mov dword [ebp - 0x50], eax
cmp dword [0xa7a5e8], edi
jge 0x479d0c
mov dword [0xa7a5e8], 1
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x479d1b.4
jmp dword [eax*4 + 0x47ad34]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x479d45
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x479d1b.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x479d1b.4
mov edx, dword [0x8e6208]
movzx ecx, di
lea eax, [edx + ecx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x479d88
dec ecx
mov word [eax], cx
jmp case.0x479d1b.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x479d90
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x479d1b.4
mov edx, dword [0x8e6204]
mov ecx, dword [0x966418]
mov eax, edi
sub eax, edx
cmp eax, ecx
jb case.0x479d1b.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x479dd5
dec eax
mov word [edi - 2], ax
jmp case.0x479d1b.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
jmp case.0x479d1b.4
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x479e01.4
jmp dword [eax*4 + 0x47ad50]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x479e2b
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x479e01.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x479e01.4
mov edx, dword [0x8e6208]
movzx ecx, di
lea eax, [edx + ecx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x479e68
dec ecx
mov word [eax], cx
jmp case.0x479e01.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x479e70
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x479e01.4
mov edx, dword [0x8e6204]
mov ecx, dword [0x966418]
mov eax, edi
sub eax, edx
cmp eax, ecx
jb case.0x479e01.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x479eab
dec eax
mov word [edi - 2], ax
jmp case.0x479e01.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [0x1407358]
call fcn.00471f00
movzx eax, word [0x1407358]
lea edi, [eax + eax*2]
mov eax, dword [edi*4 + 0x9b647c]
test al, 0x1f
lea edi, [edi*4 + 0x9b6478]
jne 0x479f1a
or eax, 7
mov dword [edi + 4], eax
call fcn.004713f0
mov dword [eax + 4], 0x6e
mov word [eax], 0
sub eax, 0x9b6478
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov word [edi], dx
mov dx, word [edi]
mov word [ebp - 0x50], dx
jmp case.0x479d1b.4
cmp dword [0xa7a508], edi
je 0x47a02a
mov eax, dword [0xa7a5a0]
mov edi, dword [eax]
mov eax, dword [eax + 4]
dec eax
cmp eax, 6
ja case.0x479f46.4
jmp dword [eax*4 + 0x47ad6c]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x479f70
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x479f46.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x479f46.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x479fad
dec ecx
mov word [eax], cx
jmp case.0x479f46.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x479fb5
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x479f46.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x479f46.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x479fef
dec eax
mov word [edi - 2], ax
jmp case.0x479f46.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov ecx, dword [0xa7a5a0]
mov eax, dword [0xa7a508]
sub ecx, 8
dec eax
mov dword [0xa7a5a0], ecx
mov dword [0xa7a508], eax
jne 0x479f32
mov ebx, dword [ebp + 0xc]
sub esi, 8
mov dword [ebp + 8], esi
xor edi, edi
add ebx, 2
mov dword [0xa7a5e8], edi
mov dword [ebp + 0xc], ebx
jmp case.0x479ce1.24
cmp dword [0xa7a508], edi
je 0x47a148
nop
mov eax, dword [0xa7a5a0]
mov edi, dword [eax]
mov eax, dword [eax + 4]
dec eax
cmp eax, 6
ja case.0x47a064.4
jmp dword [eax*4 + 0x47ad88]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x47a08e
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x47a064.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x47a064.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x47a0ce
dec ecx
mov word [eax], cx
jmp case.0x47a064.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47a0d6
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47a064.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x47a064.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47a110
dec eax
mov word [edi - 2], ax
jmp case.0x47a064.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov ecx, dword [0xa7a5a0]
mov eax, dword [0xa7a508]
sub ecx, 8
dec eax
mov dword [0xa7a5a0], ecx
mov dword [0xa7a508], eax
jne 0x47a050
mov dword [0xa7a5e8], 0
jmp case.0x479d1b.4
mov eax, dword [0xa7a5e8]
cmp eax, edi
jle 0x47a16f
mov ecx, dword [0xa7a508]
sub ecx, eax
inc ecx
mov dword [0xa7a5e8], ecx
mov eax, dword [0xa7a508]
add ebx, 4
cmp eax, edi
mov dword [ebp + 0xc], ebx
je 0x47a3c4
mov eax, dword [0xa7a5a0]
mov edi, dword [eax]
mov eax, dword [eax + 4]
dec eax
cmp eax, 6
ja case.0x47a196.4
jmp dword [eax*4 + 0x47ada4]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x47a1c0
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x47a196.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x47a196.4
mov eax, dword [0x8e6208]
movzx edx, di
lea eax, [eax + edx*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x47a1ff
dec ecx
mov word [eax], cx
jmp case.0x47a196.4
lea ecx, [eax + 4]
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47a207
sub eax, esi
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47a196.4
mov edx, dword [0x8e6204]
mov eax, dword [0x966418]
mov ecx, edi
sub ecx, edx
cmp ecx, eax
jb case.0x47a196.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47a241
dec eax
mov word [edi - 2], ax
jmp case.0x47a196.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov ecx, dword [0xa7a5a0]
mov eax, dword [0xa7a508]
sub ecx, 8
dec eax
mov dword [0xa7a5a0], ecx
mov dword [0xa7a508], eax
jne 0x47a182
xor edi, edi
mov esi, ecx
add esi, 8
mov dword [esi + 4], edi
jmp 0x47a98f
mov eax, dword [0xa7a5e8]
cmp eax, edi
jle 0x47a2a4
mov edx, dword [0xa7a508]
sub edx, eax
add edx, 2
mov dword [0xa7a5e8], edx
jmp 0x47a2b0
jge 0x47a2b0
mov dword [0xa7a5e8], 1
mov eax, dword [0xa7a508]
add ebx, 4
cmp eax, edi
mov dword [ebp + 0xc], ebx
je 0x47a3c4
mov eax, dword [0xa7a5a0]
mov edi, dword [eax]
mov eax, dword [eax + 4]
dec eax
cmp eax, 6
ja case.0x47a2d7.4
jmp dword [eax*4 + 0x47adc0]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x47a301
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x47a2d7.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x47a2d7.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x47a341
dec ecx
mov word [eax], cx
jmp case.0x47a2d7.4
lea ecx, [eax + 4]
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47a350
sub eax, esi
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47a2d7.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x47a2d7.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47a38a
dec eax
mov word [edi - 2], ax
jmp case.0x47a2d7.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov ecx, dword [0xa7a5a0]
mov eax, dword [0xa7a508]
sub ecx, 8
dec eax
mov dword [0xa7a5a0], ecx
mov dword [0xa7a508], eax
jne 0x47a2c3
xor edi, edi
mov esi, dword [0xa7a5a0]
add esi, 8
mov dword [esi + 4], edi
jmp 0x47a98f
mov dword [0xa7a5e8], edi
jmp case.0x479ce1.24
mov edx, dword [esi + 4]
mov eax, dword [esi]
dec edx
cmp edx, 6
ja case.0x47a43a.4
jmp dword [edx*4 + 0x47addc]
push eax
call fcn.004716b0
add esp, 4
mov dword [esi + 4], edi
jmp case.0x479ce1.24
mov edx, dword [esi + 4]
mov eax, dword [esi]
dec edx
cmp edx, 6
ja case.0x47a40e.4
jmp dword [edx*4 + 0x47adf8]
push eax
call fcn.004716b0
add esp, 4
jmp case.0x47a40e.4
call fcn.00470050
jmp case.0x47a40e.4
mov ecx, eax
call fcn.00471770
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
dec edx
cmp edx, 6
ja case.0x47a43a.4
jmp dword [edx*4 + 0x47ae14]
call fcn.00470050
mov dword [esi + 4], edi
jmp case.0x479ce1.24
mov ecx, eax
call fcn.00471770
mov dword [esi + 4], edi
jmp case.0x479ce1.24
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x47a46f.4
jmp dword [eax*4 + 0x47ae30]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x47a499
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x47a46f.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x47a46f.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x47a4d6
dec ecx
mov word [eax], cx
jmp case.0x47a46f.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47a4e0
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47a46f.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x47a46f.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47a51a
dec eax
mov word [edi - 2], ax
jmp case.0x47a46f.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [esi - 4]
sub esi, 8
cmp eax, 6
jne case.0x479ce1.32
jmp 0x47a98f
mov eax, dword [ebx + 4]
add ebx, 4
add ebx, 4
cmp eax, edi
mov dword [0xa7a508], eax
mov dword [ebp + 0xc], ebx
je 0x47a646
nop
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x47a56f.4
jmp dword [eax*4 + 0x47ae4c]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x47a599
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x47a56f.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x47a56f.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x47a5d6
dec ecx
mov word [eax], cx
jmp case.0x47a56f.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47a5e0
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47a56f.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x47a56f.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47a61a
dec eax
mov word [edi - 2], ax
jmp case.0x47a56f.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [0xa7a508]
sub esi, 8
dec eax
mov dword [0xa7a508], eax
jne 0x47a560
sub esi, 8
mov dword [esi + 4], 0
jmp 0x47a98f
add ebx, 4
mov eax, dword [ebx]
inc eax
add ebx, 4
cmp eax, edi
mov dword [0xa7a508], eax
mov dword [ebp + 0xc], ebx
je 0x47a756
mov edi, edi
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x47a67f.4
jmp dword [eax*4 + 0x47ae68]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x47a6a9
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x47a67f.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x47a67f.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x47a6e6
dec ecx
mov word [eax], cx
jmp case.0x47a67f.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47a6f0
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47a67f.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x47a67f.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47a72a
dec eax
mov word [edi - 2], ax
jmp case.0x47a67f.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [0xa7a508]
sub esi, 8
dec eax
mov dword [0xa7a508], eax
jne 0x47a670
sub esi, 8
mov dword [esi + 4], 0
jmp 0x47a98f
add ebx, 4
mov eax, dword [ebx]
inc eax
add ebx, 4
cmp eax, edi
mov dword [0xa7a508], eax
mov dword [ebp + 0xc], ebx
je 0x47a866
mov edi, edi
mov eax, dword [esi + 4]
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x47a78f.4
jmp dword [eax*4 + 0x47ae84]
movzx eax, di
lea eax, [eax + eax*2]
xor ecx, ecx
mov cx, word [eax*4 + 0x9b6478]
test cx, cx
je 0x47a7b9
dec ecx
mov word [eax*4 + 0x9b6478], cx
jmp case.0x47a78f.4
inc word [eax*4 + 0x9b6478]
mov ebx, edi
call fcn.00470f70
push edi
call fcn.004716b0
add esp, 4
mov eax, edi
call fcn.00471460
jmp case.0x47a78f.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x47a7f6
dec ecx
mov word [eax], cx
jmp case.0x47a78f.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47a800
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47a78f.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x47a78f.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47a83a
dec eax
mov word [edi - 2], ax
jmp case.0x47a78f.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [0xa7a508]
sub esi, 8
dec eax
mov dword [0xa7a508], eax
jne 0x47a780
add esi, 8
mov dword [esi + 4], 0
jmp 0x47a98f
mov dword [0xa7a5e8], 1
jmp case.0x479d1b.4
mov edx, esi
call fcn.004704e0
mov dword [esi + 4], edi
jmp case.0x479ce1.24
add ebx, 4
mov dword [ebp + 0xc], ebx
jmp case.0x479d1b.4
push esi
call fcn.00475ed0
add esp, 4
jmp case.0x479ce1.24
mov edx, esi
call fcn.004704e0
sub esi, 8
mov edx, esi
call fcn.004704e0
jmp case.0x479d1b.4
mov eax, dword [esi + 4]
cmp eax, 6
je 0x47a973
mov edi, edi
mov edi, dword [esi]
dec eax
cmp eax, 6
ja case.0x47a8dc.4
jmp dword [eax*4 + 0x47aea0]
push edi
call fcn.004716b0
add esp, 4
jmp case.0x47a8dc.4
mov ecx, dword [0x8e6208]
movzx eax, di
lea eax, [ecx + eax*8]
xor ecx, ecx
mov cx, word [eax]
test cx, cx
je 0x47a90a
dec ecx
mov word [eax], cx
jmp case.0x47a8dc.4
lea ecx, [eax + 4]
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47a912
sub eax, ebx
inc eax
push eax
call fcn.0046ff70
add esp, 4
jmp case.0x47a8dc.4
mov ecx, dword [0x8e6204]
mov eax, dword [0x966418]
mov edx, edi
sub edx, ecx
cmp edx, eax
jb case.0x47a8dc.4
xor eax, eax
mov ax, word [edi - 2]
test ax, ax
je 0x47a94c
dec eax
mov word [edi - 2], ax
jmp case.0x47a8dc.4
mov ecx, edi
sub ecx, 0x8e6318
sub ecx, 2
sar ecx, 3
mov eax, 0xe
call fcn.0046e3f0
mov eax, dword [esi - 4]
sub esi, 8
cmp eax, 6
jne 0x47a8d0
mov edx, esi
call fcn.004704e0
jmp case.0x479d1b.4
mov edx, esi
call fcn.004704e0
mov eax, dword [ebp - 0x54]
lea ecx, [ebx + eax*8]
mov dword [ebp + 0xc], ecx
sub esi, 8
mov dword [ebp + 8], esi
mov edx, dword [0xa7a5a4]
mov eax, dword [0xa7a5e8]
mov ecx, dword [ebp + 0xc]
mov edi, dword [0xa7a590]
push edx
push eax
push ecx
call fcn.0046f0f0
add esp, 0xc
xor eax, eax
mov dword [0xa7a5a4], eax
mov dword [0xa7a590], eax
mov dword [0xa7a5e8], eax
jmp 0x4763a0