Function at 0x427710
Capabilities:
Encrypt data using speck

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x158
mov eax, dword [0x4c1004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov dword [ebp - 0x68], edx
lea eax, [ebp - 0x158]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x50], eax
lea eax, [ebx + 0x10]
push edi
dec dword [esi + 0xf4]
cmp dword [esi + 0xf4], 0
mov edi, dword [esi + 0x14]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x124], eax
jg 0x42777b
call fcn.0041a0fd
test eax, eax
je 0x42777b
xor eax, eax
mov edx, 0x60000
jmp 0x42bb53
mov edx, dword [ebx + 0xc]
movsd xmm5, qword [0x4b4c60]
movsd xmm2, qword [0x4b4bd8]
movsd xmm3, qword [0x4b4bd0]
movsd xmm4, qword [0x4b4c10]
movsd xmm0, qword [0x4b4be0]
movsd xmm1, qword [0x4b4b98]
mov ecx, dword [ebx + 8]
movsd qword [ebp - 0x110], xmm5
movsd qword [ebp - 0xe0], xmm2
movsd qword [ebp - 0xe8], xmm3
movsd qword [ebp - 0xf0], xmm4
movsd qword [ebp - 0xf8], xmm0
movsd qword [ebp - 0x100], xmm1
mov dword [ebp - 0x84], ecx
cmp edx, 0xfffff
ja 0x427a05
jb 0x4277fe
cmp ecx, 0xffffffff
ja 0x427a05
mov eax, edx
shr eax, 0x10
cmp eax, 8
jne 0x427a05
movzx eax, word [ecx + 6]
cmp eax, 0xd
je 0x427848
imul ecx, eax, 0x18
mov eax, dword [edi + 0x44]
mov eax, dword [ecx + eax + 0x10]
test eax, eax
je 0x42bb46
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebp - 0x68]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push edx
push dword [ebp - 0x84]
push esi
call eax
add esp, 0x20
jmp 0x42bb53
mov edi, dword [ecx + 0x20]
mov dword [ebp - 0x10], edi
movzx esi, word [edi + 0x2c]
mov dword [ebp - 0x6c], esi
cmp dword [ebp - 0x68], esi
jl 0x427865
test byte [ebx + 0x24], 2
jne 0x427865
xor esi, esi
mov dword [ebp - 0x6c], esi
movzx eax, word [edi + 0x32]
movzx ecx, word [edi + 0x2e]
add eax, esi
add ecx, eax
movzx eax, byte [edi + 0x14]
mov dword [ebp - 0x130], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x150], eax
shl ecx, 3
mov dword [ebp - 0x14c], edx
lea edx, [ebp - 0x140]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x48], eax
mov eax, ecx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], edx
call fcn.00492fe0
mov edx, esp
mov dword [ebp - 0x74], edx
test esi, esi
je 0x427951
movzx eax, word [edi + 0x2c]
mov edi, eax
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x68], edi
cmovl edi, dword [ebp - 0x68]
xor esi, esi
test edi, edi
jle 0x427923
mov eax, dword [ebx + 0x20]
mov esi, esp
sub eax, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x54], edi
push dword [eax + esi + 4]
mov ecx, dword [ebp - 0x60]
push dword [eax + esi]
call fcn.00411662
pop ecx
pop ecx
mov dword [esi], eax
push 8
pop eax
mov dword [esi + 4], edx
add esi, eax
mov eax, dword [ebp - 0x2c]
sub edi, 1
jne 0x4278f1
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x74]
movzx eax, word [edi + 0x2c]
jmp 0x427926
mov edi, dword [ebp - 0x10]
movzx ecx, ax
movzx eax, ax
cmp esi, eax
jge 0x427945
and dword [edx + esi*8], 0
mov dword [edx + esi*8 + 4], 0x40000
inc esi
movzx ecx, word [edi + 0x2c]
cmp esi, ecx
jl 0x427930
mov esi, dword [ebp - 0x6c]
movzx eax, cx
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x38]
lea esi, [edx + esi*8]
xor ecx, ecx
mov dword [ebp - 0x144], esi
and dword [ebp - 0x1c], ecx
mov dword [ebp - 0x148], eax
movzx eax, word [edi + 0x2e]
mov edx, eax
mov dword [ebp - 0x24], esi
cmp word [ebp - 0x1c], ax
jae 0x42798c
and dword [esi + ecx*8], 0
mov dword [esi + ecx*8 + 4], 0x40000
inc ecx
movzx edx, word [edi + 0x2e]
cmp ecx, edx
jl 0x427977
movsd xmm2, qword [ebp - 0xe0]
movsd xmm3, qword [ebp - 0xe8]
movsd xmm4, qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0xf8]
movsd xmm1, qword [ebp - 0x100]
movsd xmm5, qword [ebp - 0x110]
movzx eax, dx
mov edx, dword [ebp - 0x5c]
lea eax, [esi + eax*8]
mov edi, eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], edi
mov ecx, dword [eax + 0x18]
mov eax, dword [edx + 0x8c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x158]
mov dword [edx + 0x8c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
mov esi, dword [eax + 0x34]
mov dword [ebp - 0x18], esi
jmp 0x427a86
test byte [ebx + 0x24], 4
je 0x42bb46
lea edx, [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x50], edx
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x48], eax
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0x14]
mov esi, dword [edi + 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x74], eax
movzx eax, word [edi + 0x2e]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], esi
lea eax, [edx + eax*8]
lea edx, [ecx + 0x10]
mov dword [ebp - 0x70], eax
mov eax, dword [edx + 0x20]
mov edi, dword [edx + 0x2c]
and dword [edx + 0x2c], 0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 8], edi
mov eax, dword [eax + 0x8c]
mov dword [edx], eax
mov eax, dword [ebp - 0x60]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x8c], edx
cmp dword [ecx + 0xc], 0
jne 0x42b930
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
movzx ecx, byte [ecx]
inc edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0xc], edx
cmp ecx, 0xf8
ja case.0x427a9f.0
jmp dword [ecx*4 + 0x42bb74]
mov eax, dword [edx]
xor ecx, ecx
mov dword [edi], eax
or ecx, 0x10000
mov eax, dword [ebp - 8]
mov dword [eax + 4], ecx
push 8
pop ecx
add eax, ecx
add dword [ebp - 0xc], 4
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
jmp 0x42b69e
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx]
push dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
mov ecx, esi
call fcn.00411662
pop ecx
mov dword [edi], eax
mov eax, dword [ebp - 8]
pop ecx
mov dword [eax + 4], edx
jmp 0x427ab8
lea eax, [ecx - 0xb8]
xor ecx, ecx
mov dword [edi], eax
or ecx, 0x10000
mov eax, dword [ebp - 8]
mov dword [eax + 4], ecx
push 8
pop ecx
add eax, ecx
mov dword [ebp - 8], eax
mov edi, eax
jmp 0x42b6a1
mov ecx, dword [ebp - 0xc]
movsx eax, byte [ecx]
xor ecx, ecx
mov dword [edi], eax
or ecx, 0x10000
mov eax, dword [ebp - 8]
mov dword [eax + 4], ecx
push 8
pop ecx
add eax, ecx
mov dword [ebp - 8], eax
inc dword [ebp - 0xc]
jmp 0x427ac4
mov ecx, dword [ebp - 0xc]
push 8
movsx eax, word [ecx]
xor ecx, ecx
mov dword [edi], eax
or ecx, 0x10000
mov eax, dword [ebp - 8]
mov dword [eax + 4], ecx
pop ecx
add eax, ecx
add dword [ebp - 0xc], 2
jmp 0x427ac1
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
movzx ecx, byte [ecx]
push dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
mov ecx, esi
call fcn.00411662
mov dword [edi], eax
mov eax, dword [ebp - 8]
pop ecx
pop ecx
mov dword [eax + 4], edx
jmp 0x427b29
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
movzx ecx, byte [ecx]
push dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
mov ecx, esi
call fcn.00411662
push dword [ebp - 0x50]
mov ecx, esi
push edx
mov edx, dword [ebp - 0x48]
push eax
call fcn.00426df7
add esp, 0x14
mov dword [edi], eax
mov eax, dword [ebp - 8]
push 8
pop ecx
mov dword [eax + 4], edx
add eax, ecx
inc dword [ebp - 0xc]
mov ecx, dword [eax - 8]
mov dword [ebp - 8], eax
mov eax, dword [eax - 4]
cmp eax, 0xfffff
ja 0x427ac4
jb 0x427bd5
cmp ecx, 0xffffffff
ja 0x427ac4
shr eax, 0x10
cmp eax, 6
je 0x42b78e
jmp 0x427ac4
push 1
push 0x33
pop edx
mov ecx, esi
call fcn.00416594
mov dword [edi], eax
mov eax, dword [ebp - 8]
pop ecx
mov dword [eax + 4], edx
push 8
pop ecx
add eax, ecx
jmp 0x427ac1
mov eax, dword [ebp - 8]
mov ecx, esi
push 0
push dword [eax - 4]
push dword [eax - 8]
push dword [eax - 4]
push dword [eax - 8]
push 0x34
pop edx
call fcn.0041a710
mov edi, edx
mov dword [ebp - 0x1c], eax
add esp, 0x14
cmp edi, 0xfffff
ja 0x427c45
jb 0x427c37
cmp eax, 0xffffffff
ja 0x427c45
mov eax, edi
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov eax, dword [ebp - 8]
mov ecx, esi
push dword [eax - 4]
push dword [eax - 8]
call fcn.004105f5
mov eax, dword [ebp - 8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax - 8], ecx
mov dword [eax - 4], edi
jmp 0x427ac4
mov ecx, dword [ebp - 0xc]
push 0
mov edx, dword [ecx]
mov ecx, esi
call fcn.00416594
jmp 0x427ae3
mov eax, dword [ebp - 8]
and dword [eax], 0
mov dword [eax + 4], 0x40000
jmp 0x427b04
mov eax, dword [ebp - 8]
and dword [eax], 0
mov dword [eax + 4], 0x30000
jmp 0x427b04
test byte [eax + 0x14], 1
mov ecx, dword [ebx + 0x14]
jne 0x427d07
mov edi, 0xfffff
cmp ecx, edi
ja 0x427cdd
jb 0x427cb9
cmp dword [ebx + 0x10], 0xffffffff
ja 0x427cdd
mov eax, ecx
push 8
shr eax, 0x10
pop edx
cmp eax, edx
je 0x427d07
cmp eax, 3
je 0x427ccf
cmp eax, 4
jne 0x427cdd
push dword [esi + 0xcc]
push dword [esi + 0xc8]
jmp 0x427d0b
push ecx
push dword [ebx + 0x10]
mov ecx, esi
call fcn.004423a4
pop ecx
pop ecx
mov ecx, eax
cmp edx, edi
ja 0x427d16
jb 0x427cf7
cmp ecx, 0xffffffff
ja 0x427d16
mov eax, edx
shr eax, 0x10
cmp eax, 6
je 0x42b78e
jmp 0x427d16
push ecx
push dword [ebx + 0x10]
mov ecx, esi
call fcn.00411662
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 8]
mov dword [eax], ecx
jmp 0x427bf8
mov eax, dword [ebp - 8]
and dword [eax], 0
mov dword [eax + 4], 0x20000
jmp 0x427b04
mov eax, dword [ebp - 8]
mov dword [eax], 1
jmp 0x427d26
mov eax, dword [ebp - 0x5c]
push dword [eax + 0x174]
push dword [eax + 0x170]
mov ecx, esi
call fcn.00411662
pop ecx
jmp 0x427bf2
mov ecx, esi
call fcn.0041881f
mov dword [edi], eax
mov eax, dword [ebp - 8]
push 8
pop ecx
mov dword [eax + 4], edx
add eax, ecx
jmp 0x427bb6
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ecx]
inc ecx
mov dword [ebp - 0xc], ecx
sub eax, 0
je 0x427e4d
sub eax, 1
je 0x427e26
sub eax, 1
je 0x427e18
sub eax, 1
je 0x427e0d
sub eax, 1
je 0x427dca
sub eax, 1
je 0x427db8
sub eax, 1
jne 0x42bb6c
mov ecx, esi
call fcn.00439049
jmp 0x427d60
push 0x30000
push 0
mov ecx, esi
call fcn.004187f5
pop ecx
pop ecx
jmp 0x427d60
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x427de0
xor edi, edi
mov edx, 0x40000
jmp 0x427dfa
cdq
mov ecx, esi
and edx, 0xffff
or edx, 0x80000
push edx
push eax
call fcn.00411662
pop ecx
pop ecx
mov edi, eax
mov eax, dword [ebp - 8]
lea ecx, [eax + 8]
mov dword [eax], edi
mov dword [eax + 4], edx
mov dword [ebp - 8], ecx
jmp 0x427ac4
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
jmp 0x427d4c
mov eax, dword [ebp - 0x50]
push dword [eax + 0xc]
push dword [eax + 8]
jmp 0x427d4c
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
mov edx, ecx
movzx eax, word [eax + 0x2c]
cmp ecx, eax
cmovl eax, ecx
mov ecx, esi
push eax
push dword [ebp - 0x50]
push dword [ebx + 0x20]
call fcn.004259d1
add esp, 0xc
jmp 0x427d60
push dword [ebx + 0x20]
mov edx, dword [ebp - 0x68]
mov ecx, esi
call fcn.0042589f
jmp 0x427dc7
mov ecx, dword [ebp - 0xc]
push dword [ebx + 0x20]
push dword [ebp - 0x68]
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, esi
call fcn.00425b36
jmp 0x427dc6
mov eax, dword [ebp - 8]
add eax, 0xfffffff8
mov dword [ebp - 8], eax
push dword [eax + 4]
push dword [eax]
mov ecx, esi
call fcn.004105f5
pop ecx
pop ecx
jmp 0x427ac4
mov ecx, dword [ebp - 0x18]
lea esi, [edi - 0x10]
push dword [esi + 4]
push dword [esi]
call fcn.004105f5
add edi, 0xfffffff8
pop ecx
pop ecx
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [ebp - 8], edi
mov esi, dword [ebp - 0x18]
jmp 0x42b69e
push dword [edi - 0x14]
mov ecx, esi
push dword [edi - 0x18]
call fcn.004105f5
lea edx, [edi - 0x10]
mov eax, dword [edx]
mov dword [edi - 0x18], eax
mov eax, dword [ebp - 8]
pop ecx
pop ecx
mov ecx, dword [edx + 4]
mov dword [eax - 0x14], ecx
add eax, 0xfffffff8
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov eax, dword [eax]
mov dword [edx], eax
mov ecx, dword [edi + 4]
mov dword [edx + 4], ecx
jmp 0x42b69e
push dword [edi - 4]
push dword [edi - 8]
jmp 0x427d4c
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
call fcn.00411662
push dword [edi - 4]
mov ecx, esi
mov dword [edi], eax
push dword [edi - 8]
mov dword [edi + 4], edx
call fcn.00411662
mov dword [edi + 8], eax
add esp, 0x10
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], edx
add eax, 0x10
jmp 0x427ac1
push dword [edi - 0x14]
mov ecx, esi
push dword [edi - 0x18]
call fcn.00411662
push dword [edi - 0xc]
mov ecx, esi
mov dword [edi], eax
push dword [edi - 0x10]
mov dword [edi + 4], edx
call fcn.00411662
push dword [edi - 4]
mov ecx, esi
mov dword [edi + 8], eax
push dword [edi - 8]
mov dword [edi + 0xc], edx
call fcn.00411662
mov dword [edi + 0x10], eax
add esp, 0x18
mov eax, dword [ebp - 8]
push 0x18
mov dword [eax + 0x14], edx
jmp 0x427bfd
push dword [edi - 0xc]
mov ecx, dword [edi - 4]
mov eax, dword [edi - 8]
push dword [edi - 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov dword [edi], eax
call fcn.00411662
mov dword [edi - 8], eax
mov eax, dword [ebp - 8]
pop ecx
pop ecx
mov dword [eax - 4], edx
jmp 0x427bfb
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 8]
mov edx, dword [eax - 4]
mov esi, dword [eax - 8]
mov ecx, dword [edi - 0xc]
push edx
mov dword [eax], esi
push esi
mov esi, dword [ebp - 0x18]
mov dword [eax + 4], edx
mov eax, dword [eax - 0x10]
mov dword [edi - 4], ecx
mov ecx, esi
mov dword [edi - 8], eax
call fcn.00411662
mov dword [edi - 0x10], eax
mov eax, edi
pop ecx
pop ecx
mov dword [eax - 0xc], edx
jmp 0x427bfb
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [edi - 0xc]
mov esi, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [eax], esi
mov dword [eax + 4], edx
mov eax, dword [eax - 0x10]
mov dword [edi - 4], ecx
mov ecx, dword [edi - 0x14]
push edx
push esi
mov esi, dword [ebp - 0x18]
mov dword [edi - 8], eax
mov eax, dword [edi - 0x18]
mov dword [edi - 0xc], ecx
mov ecx, esi
mov dword [edi - 0x10], eax
call fcn.00411662
mov dword [edi - 0x18], eax
mov eax, edi
pop ecx
pop ecx
mov dword [eax - 0x14], edx
jmp 0x427bfb
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [edi - 0xc]
mov esi, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [eax], esi
mov dword [eax + 4], edx
mov eax, dword [eax - 0x10]
mov dword [edi - 4], ecx
mov ecx, dword [edi - 0x14]
mov dword [edi - 8], eax
mov eax, dword [edi - 0x18]
mov dword [edi - 0xc], ecx
mov ecx, dword [edi - 0x1c]
push edx
push esi
mov esi, dword [ebp - 0x18]
mov dword [edi - 0x10], eax
mov eax, dword [edi - 0x20]
mov dword [edi - 0x14], ecx
mov ecx, esi
mov dword [edi - 0x18], eax
call fcn.00411662
mov dword [edi - 0x20], eax
mov eax, edi
pop ecx
pop ecx
mov dword [eax - 0x1c], edx
jmp 0x427bfb
mov edx, dword [edi - 0x10]
mov esi, dword [edi - 0xc]
mov eax, dword [edi - 0x18]
mov ecx, dword [edi - 0x14]
mov dword [edi - 0x10], eax
mov eax, dword [ebp - 8]
mov dword [eax - 0x18], edx
mov dword [eax - 0x14], esi
mov dword [eax - 0xc], ecx
mov edi, dword [ebp - 8]
jmp 0x427ebb
mov edx, dword [edi - 0x18]
mov esi, dword [edi - 0x14]
mov eax, dword [edi - 0x10]
mov ecx, dword [edi - 0xc]
mov dword [edi - 0x18], eax
mov eax, dword [edi - 8]
mov dword [edi - 0x14], ecx
mov ecx, dword [edi - 4]
mov dword [edi - 0x10], eax
mov eax, dword [ebp - 8]
mov dword [eax - 8], edx
mov dword [eax - 4], esi
jmp 0x42808a
mov edx, dword [edi - 0x20]
mov esi, dword [edi - 0x1c]
mov eax, dword [edi - 0x18]
mov ecx, dword [edi - 0x14]
mov dword [edi - 0x20], eax
mov dword [edi - 0x1c], ecx
jmp 0x42809b
mov edx, dword [edi - 0x28]
mov esi, dword [edi - 0x24]
mov eax, dword [edi - 0x20]
mov ecx, dword [edi - 0x1c]
mov dword [edi - 0x28], eax
mov dword [edi - 0x24], ecx
jmp 0x4280c1
mov edx, dword [edi - 8]
mov esi, dword [edi - 4]
mov eax, dword [edi - 0x10]
mov ecx, dword [edi - 0xc]
mov dword [edi - 8], eax
mov dword [edi - 4], ecx
jmp 0x428078
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [edi - 0x14]
mov edx, dword [eax - 0x10]
mov esi, dword [eax - 0xc]
mov eax, dword [eax - 0x18]
mov dword [edi - 0x10], eax
mov eax, dword [edi - 0x20]
mov dword [edi - 0x18], eax
mov eax, edi
mov dword [edi - 0xc], ecx
mov ecx, dword [edi - 0x1c]
mov dword [eax - 0x14], ecx
mov dword [eax - 0x20], edx
mov dword [eax - 0x1c], esi
jmp 0x42808d
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [edi - 0x14]
mov edx, dword [eax - 0x10]
mov esi, dword [eax - 0xc]
mov eax, dword [eax - 0x18]
mov dword [edi - 0x10], eax
mov eax, dword [edi - 0x20]
mov dword [edi - 0x18], eax
mov eax, dword [edi - 0x28]
mov dword [edi - 0x20], eax
mov eax, edi
mov dword [edi - 0xc], ecx
mov ecx, dword [edi - 0x1c]
mov dword [edi - 0x14], ecx
mov ecx, dword [edi - 0x24]
mov dword [eax - 0x1c], ecx
mov dword [eax - 0x28], edx
mov dword [eax - 0x24], esi
jmp 0x42808d
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 8]
mov edx, dword [eax - 0x10]
mov esi, dword [eax - 0xc]
mov eax, dword [eax - 8]
jmp 0x4280aa
mov eax, dword [ebp - 8]
mov edi, dword [edi - 0x20]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], edi
mov eax, dword [eax - 0x1c]
mov edi, dword [ebp - 8]
mov ecx, dword [ecx - 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax - 0x18]
mov esi, dword [eax - 0x14]
mov eax, dword [eax - 0x10]
mov dword [edi - 0x20], eax
mov eax, edi
mov dword [eax - 0x1c], ecx
mov ecx, edi
mov eax, dword [eax - 8]
mov dword [edi - 0x18], eax
mov eax, edi
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ecx - 4]
mov dword [eax - 0x10], edi
mov edi, dword [ebp - 8]
mov dword [eax - 0x14], ecx
mov eax, dword [ebp - 0x2c]
mov dword [edi - 0xc], eax
mov dword [edi - 8], edx
mov dword [edi - 4], esi
jmp 0x427ebb
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx]
push dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
mov ecx, esi
call fcn.00411662
push dword [ebp - 0x50]
add dword [ebp - 0xc], 4
mov ecx, esi
push edx
mov edx, dword [ebp - 0x48]
push eax
call fcn.00426df7
add esp, 0x14
mov dword [edi], eax
mov dword [edi + 4], edx
push 8
pop eax
add edi, eax
mov dword [ebp - 8], edi
mov eax, dword [edi - 4]
cmp eax, 0xfffff
ja 0x42b69e
jb 0x428222
cmp dword [edi - 8], 0xffffffff
ja 0x42b69e
shr eax, 0x10
cmp eax, 6
je 0x42b78e
jmp 0x42b69e
lea edx, [ecx - 0xf1]
jmp 0x428247
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], edx
mov ecx, edi
mov eax, edx
mov edi, dword [ebp - 0x50]
shl eax, 3
sub ecx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x40], ecx
mov dword [edi + 0x20], eax
xor eax, eax
push eax
push ecx
mov edi, 0x40000
push edi
push eax
push edi
push eax
push dword [ecx - 4]
push dword [ecx - 8]
mov ecx, esi
call fcn.00427710
mov ecx, edx
add esp, 0x20
mov dword [ebp - 0x34], ecx
mov edi, eax
mov dword [ebp - 0x4c], edi
cmp ecx, 0xfffff
ja 0x4282a3
jb 0x428295
cmp edi, 0xffffffff
ja 0x4282a3
mov eax, ecx
shr eax, 0x10
cmp eax, 6
je 0x42b78e
cmp dword [ebp - 0x44], 0x23
je 0x42ba8e
or eax, 0xffffffff
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x14], eax
jle 0x4282dd
mov edi, dword [ebp - 0x40]
push dword [edi + eax*8 + 4]
mov ecx, esi
push dword [edi + eax*8]
call fcn.004105f5
mov eax, dword [ebp - 0x3c]
inc eax
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x14]
jl 0x4282bb
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov dword [eax - 8], edi
mov edi, eax
mov dword [eax - 4], ecx
mov dword [ebp - 8], edi
jmp 0x42b69e
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x50]
push 0
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov eax, edx
shl eax, 3
mov ecx, edi
sub ecx, eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xc]
push ecx
mov dword [esi + 0x20], eax
push dword [ecx - 4]
mov esi, dword [ebp - 0x18]
push dword [ecx - 8]
mov dword [ebp - 0x1c], ecx
push dword [ecx - 0xc]
push dword [ecx - 0x10]
mov ecx, esi
call fcn.0042c115
mov ecx, eax
add esp, 0x18
mov eax, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x7c], eax
cmp eax, 0xfffff
ja 0x428354
jb 0x428348
cmp ecx, 0xffffffff
ja 0x428354
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov edi, dword [ebp - 0x1c]
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x40], eax
push dword [edi + eax*8 + 4]
mov ecx, esi
push dword [edi + eax*8]
call fcn.004105f5
mov eax, dword [ebp - 0x40]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, ecx
jl 0x42835d
mov edi, dword [ebp - 8]
push 0xfffffffffffffffe
pop eax
sub eax, ecx
lea edi, [edi + eax*8]
mov eax, dword [ebp - 0x54]
mov dword [edi], eax
mov eax, dword [ebp - 0x7c]
mov dword [edi + 4], eax
push 8
pop eax
add edi, eax
jmp 0x4282e8
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x50]
push 0
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov eax, edx
shl eax, 3
mov ecx, edi
sub ecx, eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xc]
push ecx
push 0x40000
mov dword [esi + 0x20], eax
mov esi, dword [ebp - 0x18]
push 0
push dword [ecx - 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ecx - 0x10]
push dword [ecx - 4]
push dword [ecx - 8]
mov ecx, esi
call fcn.00427710
mov ecx, edx
mov dword [ebp - 0x4c], eax
add esp, 0x20
mov dword [ebp - 0x34], ecx
cmp ecx, 0xfffff
ja 0x428407
jb 0x4283f9
cmp eax, 0xffffffff
ja 0x428407
mov eax, ecx
shr eax, 0x10
cmp eax, 6
je 0x42b78e
cmp dword [ebp - 0x44], 0x25
je 0x42ba8e
mov edi, dword [ebp - 0x1c]
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x40], eax
push dword [edi + eax*8 + 4]
mov ecx, esi
push dword [edi + eax*8]
call fcn.004105f5
mov eax, dword [ebp - 0x40]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, ecx
jl 0x42841a
mov edi, dword [ebp - 8]
push 0xfffffffffffffffe
pop eax
sub eax, ecx
lea edi, [edi + eax*8]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x34]
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x428391
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, esi
mov dword [ebp - 0x40], eax
call fcn.0041880f
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], eax
cmp eax, 0xfffff
ja 0x42848d
jb 0x428481
cmp ecx, 0xffffffff
ja 0x42848d
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov edx, dword [ebp - 0x40]
mov ecx, edi
mov eax, edx
xor edi, edi
shl eax, 3
sub ecx, eax
mov dword [ebp - 0x1c], ecx
test edx, edx
je 0x4284e3
push 0x4007
push dword [ecx + edi*8 + 4]
mov edx, edi
push dword [ecx + edi*8]
or edx, 0x80000000
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x3c]
call fcn.0041e1a3
mov ecx, dword [ebp - 0x1c]
add esp, 0x14
and dword [ecx + edi*8], 0
mov dword [ecx + edi*8 + 4], 0x40000
test eax, eax
js 0x42b77f
inc edi
cmp edi, dword [ebp - 0x40]
jl 0x4284a2
mov eax, dword [ebp - 0x3c]
mov edi, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x14]
jmp 0x42838e
mov ecx, dword [ebp - 0xc]
lea edx, [edi - 0x10]
movzx eax, word [ecx]
add ecx, 2
push eax
push edx
mov dword [ebp - 0xc], ecx
lea ecx, [edi - 0x18]
push 2
push dword [ecx + 4]
mov dword [ebp - 0x40], ecx
push dword [ecx]
push esi
call fcn.00444839
mov ecx, eax
add esp, 0x18
mov eax, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffff
ja 0x42853d
jb 0x428531
cmp ecx, 0xffffffff
ja 0x42853d
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov eax, dword [ebp - 0x40]
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.004105f5
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
call fcn.004105f5
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
mov edi, dword [ebp - 0x40]
add esp, 0x18
mov eax, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x2c]
jmp 0x42838e
mov ecx, dword [edi - 4]
mov edx, dword [edi - 8]
cmp ecx, 0xfffff
ja 0x42b796
jb 0x428596
cmp edx, 0xffffffff
ja 0x42b796
mov eax, ecx
shr eax, 0x10
cmp eax, 8
je 0x4285b1
shr ecx, 0x10
cmp ecx, 4
jne 0x42b796
xor eax, eax
inc eax
jmp 0x4285b3
xor eax, eax
mov ecx, 0x20000
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x428391
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0xfffff
ja case.0x427a9f.182
jb 0x4285dd
cmp dword [ebx + 0x18], 0xffffffff
ja case.0x427a9f.182
mov eax, ecx
shr eax, 0x10
cmp eax, 4
jne 0x42b6a1
push str.class_constructors_must_be_invoked_with_new
push esi
jmp 0x42b79e
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
push dword [edi - 0xc]
push dword [edi - 0x10]
call fcn.0041af1b
add esp, 0x10
test eax, eax
js 0x42b78e
jmp 0x42b69e
push dword [edi - 4]
lea eax, [edi - 0x10]
mov ecx, esi
push dword [edi - 8]
mov dword [ebp - 0x40], eax
push dword [eax + 4]
push dword [eax]
call fcn.0041adcc
add esp, 0x10
test eax, eax
js 0x42b78e
mov eax, dword [ebp - 0x40]
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.004105f5
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
mov edi, dword [ebp - 0x40]
add esp, 0x10
jmp 0x4282e8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0xc], 4
movzx eax, word [eax + 2]
movzx ecx, word [ecx]
dec eax
mov dword [ebp - 0x1c], eax
mov eax, ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x50]
shl eax, 3
sub edi, eax
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x20], eax
mov ecx, esi
push dword [esi + 0xc4]
push dword [esi + 0xc0]
push dword [edi - 4]
push dword [edi - 8]
call fcn.004253f2
add esp, 0x10
test eax, eax
je 0x4286e4
cmp dword [ebp - 0x14], 1
jb 0x4286b8
mov eax, dword [edi]
mov ecx, dword [edi + 4]
jmp 0x4286bf
xor eax, eax
mov ecx, 0x40000
push dword [ebp - 0x1c]
push ecx
push eax
push 0x40000
push 0
push 2
pop edx
mov ecx, esi
call fcn.004409a4
mov ecx, eax
add esp, 0x14
mov eax, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x44], eax
jmp 0x42870e
mov edx, dword [ebp - 0x14]
xor eax, eax
push eax
push edi
mov ecx, 0x40000
push ecx
push eax
push ecx
push eax
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00427710
mov ecx, eax
mov dword [ebp - 0x3c], eax
add esp, 0x20
mov dword [ebp - 0x44], edx
mov eax, edx
cmp eax, 0xfffff
ja 0x428728
jb 0x42871c
cmp ecx, 0xffffffff
ja 0x428728
shr eax, 0x10
cmp eax, 6
je 0x42b78e
or eax, 0xffffffff
mov dword [ebp - 0x40], eax
push dword [edi + eax*8 + 4]
mov ecx, esi
push dword [edi + eax*8]
call fcn.004105f5
mov eax, dword [ebp - 0x40]
inc eax
pop ecx
pop ecx
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x14]
jl 0x42872e
mov eax, dword [ebp - 0x3c]
mov dword [edi - 8], eax
mov eax, dword [ebp - 0x44]
mov dword [edi - 4], eax
jmp 0x4282e8
mov ecx, dword [ebp - 0xc]
lea edx, [ebp - 0x6c]
push dword [edi - 4]
push dword [edi - 8]
movzx eax, word [ecx]
add ecx, 2
dec eax
mov dword [ebp - 0xc], ecx
mov ecx, esi
mov dword [ebp - 0x1c], eax
call fcn.004446ea
mov dword [ebp - 0x14], eax
pop ecx
pop ecx
test eax, eax
je 0x42b78e
push dword [esi + 0xc4]
lea eax, [edi - 0x10]
mov ecx, esi
push dword [esi + 0xc0]
mov dword [ebp - 0x3c], eax
push dword [eax + 4]
push dword [eax]
call fcn.004253f2
add esp, 0x10
test eax, eax
je 0x4287df
cmp dword [ebp - 0x6c], 1
jb 0x4287bd
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x4287c4
xor ecx, ecx
mov eax, 0x40000
push dword [ebp - 0x1c]
push eax
push ecx
push 0x40000
push 0
push 2
pop edx
mov ecx, esi
call fcn.004409a4
add esp, 0x14
jmp 0x428804
mov edx, dword [ebp - 0x6c]
mov eax, 0x40000
push 2
push dword [ebp - 0x14]
mov ecx, esi
push eax
push 0
push eax
mov eax, dword [ebp - 0x3c]
push 0
push dword [eax + 4]
push dword [eax]
call fcn.00427710
add esp, 0x20
push dword [ebp - 0x6c]
mov dword [ebp - 0x34], edx
mov ecx, esi
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
call fcn.004446b1
mov eax, dword [ebp - 0x34]
pop ecx
cmp eax, 0xfffff
ja 0x428836
jb 0x42882a
cmp dword [ebp - 0x44], 0xffffffff
ja 0x428836
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov eax, dword [ebp - 0x3c]
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.004105f5
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
mov edi, dword [ebp - 0x3c]
add esp, 0x10
mov eax, dword [ebp - 0x44]
jmp 0x428446
push dword [edi - 4]
mov ecx, dword [ebp - 0x18]
push dword [edi - 8]
push dword [edi - 0xc]
push dword [edi - 0x10]
push 0x40000
push 0
call fcn.0044d4a4
add esp, 0x18
mov dword [edi - 0x10], eax
mov dword [edi - 0xc], edx
add edi, 0xfffffff8
jmp 0x427eb8
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.0041a39c
pop ecx
pop ecx
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], ecx
cmp eax, 0xfffff
ja 0x4288bf
jb 0x4288b3
cmp ecx, 0xffffffff
ja 0x4288bf
shr eax, 0x10
cmp eax, 6
je 0x42b78e
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
mov eax, dword [ebp - 0x1c]
pop ecx
mov dword [edi - 8], eax
mov eax, dword [ebp - 0x2c]
pop ecx
mov dword [edi - 4], eax
jmp 0x42b69e
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00439257
jmp 0x428899
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx]
add ecx, 4
mov dword [ebp - 0xc], ecx
mov ecx, esi
call fcn.0041e8c3
test eax, eax
js 0x42b78e
xor ecx, ecx
test eax, eax
setne cl
xor eax, eax
or eax, 0x20000
mov dword [edi], ecx
jmp 0x42838e
mov edx, dword [edx]
lea eax, [ecx - 0x37]
add dword [ebp - 0xc], 4
mov ecx, esi
push eax
call fcn.0041e746
pop ecx
mov ecx, eax
cmp edx, 0xfffff
ja 0x42894e
jb 0x428940
cmp ecx, 0xffffffff
ja 0x42894e
mov eax, edx
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov dword [edi], ecx
jmp 0x42844b
mov edx, dword [edx]
lea eax, [ecx - 0x39]
add dword [ebp - 0xc], 4
add edi, 0xfffffff8
push eax
mov ecx, esi
mov dword [ebp - 8], edi
push dword [edi + 4]
push dword [edi]
call fcn.0041e92a
add esp, 0xc
jmp 0x42860c
mov ecx, dword [ebp - 0xc]
lea eax, [edi - 0x10]
mov dword [ebp - 0x1c], eax
mov edx, dword [ecx]
add ecx, 4
cmp dword [eax], 0
mov dword [ebp - 0xc], ecx
mov ecx, esi
je 0x42b7a5
push 2
push dword [edi - 4]
push dword [edi - 8]
call fcn.0041e92a
mov edi, dword [ebp - 0x1c]
add esp, 0xc
mov dword [ebp - 8], edi
jmp 0x42860c
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ecx + 4]
mov edx, dword [ecx]
add ecx, 5
mov dword [ebp - 0xc], ecx
mov ecx, esi
push eax
call fcn.0041e50e
pop ecx
test eax, eax
jne 0x42b78e
jmp 0x42b69e
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ecx + 4]
mov edx, dword [ecx]
add ecx, 5
mov dword [ebp - 0xc], ecx
mov ecx, esi
push eax
call fcn.0041e5ff
jmp 0x4289c7
mov ecx, dword [ebp - 0xc]
add edi, 0xfffffff8
movzx eax, byte [ecx + 4]
mov edx, dword [ecx]
add ecx, 5
push eax
push dword [edi + 4]
mov dword [ebp - 0xc], ecx
mov ecx, esi
push dword [edi]
call fcn.0041e6b1
add esp, 0xc
test eax, eax
jne 0x42b78e
push dword [edi + 4]
mov ecx, esi
push dword [edi]
call fcn.004105f5
pop ecx
pop ecx
jmp 0x4282e8
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x24]
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
mov ecx, esi
call fcn.00411662
pop ecx
pop ecx
jmp 0x428449
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
movzx edi, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff8
mov esi, dword [eax + edi*8]
mov edx, dword [eax + edi*8 + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x24]
mov eax, dword [ecx]
mov dword [ebp - 8], ecx
mov ecx, dword [ecx + 4]
mov dword [esi + edi*8], eax
mov eax, esi
mov dword [eax + edi*8 + 4], ecx
mov esi, dword [ebp - 0x1c]
push edx
push esi
mov esi, dword [ebp - 0x18]
jmp 0x427e8b
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
movzx edi, word [ecx]
add ecx, 2
push dword [eax - 4]
mov dword [ebp - 0xc], ecx
mov ecx, esi
push dword [eax - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov esi, dword [ecx + edi*8]
mov dword [edx + edi*8], eax
mov eax, ecx
mov ecx, dword [ecx + edi*8 + 4]
mov edx, dword [ebp - 0x1c]
push ecx
mov dword [eax + edi*8 + 4], edx
push esi
mov esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004105f5
add esp, 0x10
jmp 0x427ac4
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x38]
jmp 0x428a3a
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
movzx edi, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff8
mov esi, dword [eax + edi*8]
mov edx, dword [eax + edi*8 + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x38]
mov eax, dword [ecx]
mov dword [ebp - 8], ecx
mov ecx, dword [ecx + 4]
mov dword [esi + edi*8], eax
mov eax, esi
jmp 0x428a7e
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
movzx edi, word [ecx]
add ecx, 2
push dword [eax - 4]
mov dword [ebp - 0xc], ecx
mov ecx, esi
push dword [eax - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov esi, dword [ecx + edi*8]
mov dword [edx + edi*8], eax
mov eax, ecx
jmp 0x428abb
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x24]
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
mov ecx, esi
call fcn.00411662
pop ecx
pop ecx
mov dword [edi], eax
push 8
mov dword [edi + 4], edx
mov edx, dword [ebp - 0xc]
pop eax
add edi, eax
inc edx
mov dword [ebp - 8], edi
jmp 0x42b6a1
mov ecx, dword [ebp - 0xc]
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x24]
movzx esi, byte [ecx]
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 8]
mov edi, dword [eax + esi*8]
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x24]
push edx
mov dword [edi + esi*8], eax
mov eax, edi
mov edi, dword [ebp - 0x1c]
push edi
mov dword [eax + esi*8 + 4], ecx
mov esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004105f5
pop ecx
pop ecx
jmp 0x427b31
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push dword [eax - 4]
movzx edi, byte [ecx]
mov ecx, esi
push dword [eax - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x24]
push ecx
mov dword [esi + edi*8], eax
mov eax, esi
mov esi, dword [ebp - 0x1c]
push esi
mov esi, dword [ebp - 0x18]
mov ecx, esi
mov dword [eax + edi*8 + 4], edx
call fcn.004105f5
add esp, 0x10
jmp 0x427b31
mov eax, dword [ebp - 0x24]
push dword [eax + 4]
push dword [eax]
jmp 0x428a41
mov eax, dword [ebp - 0x24]
push dword [eax + 0xc]
push dword [eax + 8]
jmp 0x428a41
mov eax, dword [ebp - 0x24]
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x428a41
mov eax, dword [ebp - 0x24]
push dword [eax + 0x1c]
push dword [eax + 0x18]
jmp 0x428a41
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x24]
mov dword [esi], eax
mov eax, esi
mov dword [eax + 4], ecx
mov esi, dword [ebp - 0x1c]
push edx
push esi
mov dword [ebp - 8], edi
mov esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004105f5
jmp 0x42b69c
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x24]
mov dword [esi + 8], eax
mov eax, esi
mov dword [eax + 0xc], ecx
jmp 0x428c63
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x24]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [eax + 0x14], ecx
jmp 0x428c63
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x24]
mov dword [esi + 0x18], eax
mov eax, esi
mov dword [eax + 0x1c], ecx
jmp 0x428c63
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx]
mov dword [ebp - 0x1c], esi
mov esi, ecx
mov dword [esi], eax
mov eax, ecx
mov ecx, dword [ecx + 4]
mov esi, dword [ebp - 0x1c]
mov dword [eax + 4], edx
push ecx
push esi
mov esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004105f5
add esp, 0x10
jmp 0x42b69e
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov esi, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
jmp 0x428d07
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov esi, dword [ecx + 0x10]
mov dword [edx + 0x10], eax
mov eax, ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
jmp 0x428d07
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov esi, dword [ecx + 0x18]
mov dword [edx + 0x18], eax
mov eax, ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x1c]
mov dword [eax + 0x1c], edx
jmp 0x428d07
mov eax, dword [ebp - 0x38]
jmp 0x428c10
mov eax, dword [ebp - 0x38]
jmp 0x428c1d
mov eax, dword [ebp - 0x38]
jmp 0x428c2b
mov eax, dword [ebp - 0x38]
jmp 0x428c39
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x38]
mov esi, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x38]
mov dword [esi], eax
mov eax, esi
jmp 0x428c60
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x38]
mov esi, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x38]
mov dword [esi + 8], eax
mov eax, esi
jmp 0x428c98
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x38]
mov esi, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x38]
mov dword [esi + 0x10], eax
mov eax, esi
jmp 0x428cbb
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x38]
mov esi, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x38]
mov dword [esi + 0x18], eax
mov eax, esi
jmp 0x428cde
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x38]
mov esi, dword [ecx]
mov dword [ebp - 0x1c], esi
mov esi, ecx
mov dword [esi], eax
mov eax, ecx
jmp 0x428cfe
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov esi, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, ecx
jmp 0x428d38
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov esi, dword [ecx + 0x10]
mov dword [edx + 0x10], eax
mov eax, ecx
jmp 0x428d60
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov esi, dword [ecx + 0x18]
mov dword [edx + 0x18], eax
mov eax, ecx
jmp 0x428d88
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
jmp 0x428c10
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 4]
jmp 0x428ecb
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
jmp 0x428ecb
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0xc]
jmp 0x428ecb
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 8], edi
mov ecx, edi
mov esi, dword [eax + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [esi + 4]
mov edi, dword [esi]
push edx
mov dword [esi], eax
mov dword [esi + 4], ecx
push edi
jmp 0x428a87
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 4]
jmp 0x428ef5
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
jmp 0x428ef5
push 8
pop eax
sub edi, eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0xc]
jmp 0x428ef5
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
mov esi, dword [ecx + 0x14]
mov ecx, dword [esi + 4]
mov edi, dword [esi]
push ecx
mov dword [esi], eax
mov dword [esi + 4], edx
push edi
jmp 0x428ac8
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx + 4]
jmp 0x428f4c
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx + 8]
jmp 0x428f4c
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00411662
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx + 0xc]
jmp 0x428f4c
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
jmp 0x428ecb
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff8
mov dword [ebp - 8], ecx
jmp 0x428efa
mov ecx, dword [ebp - 0xc]
push dword [edi - 4]
push dword [edi - 8]
movzx esi, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x18]
call fcn.00411662
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx + esi*4]
jmp 0x428f4c
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
cmp ecx, 0xfffff
ja 0x429034
jb 0x429027
cmp edx, 0xffffffff
ja 0x429034
mov eax, ecx
shr eax, 0x10
test eax, eax
je 0x42b7ac
push ecx
push edx
jmp 0x428a41
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], eax
cmp eax, 0xfffff
ja 0x429073
jb 0x42906c
cmp ecx, 0xffffffff
ja 0x429073
shr eax, 0x10
test eax, eax
je 0x4290c6
mov ecx, dword [edi - 4]
add edi, 0xfffffff8
push dword [ebp - 0x1c]
mov dword [ebp - 8], edi
push dword [ebp - 0x2c]
mov eax, dword [edi]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x428c6e
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], eax
cmp eax, 0xfffff
ja 0x4290c6
jb 0x4290bf
cmp ecx, 0xffffffff
ja 0x4290c6
shr eax, 0x10
test eax, eax
je 0x429073
push 1
push dword [ebp - 0x54]
jmp 0x42b7b1
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x24]
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
and dword [esi + edx*8], 0
and dword [esi + edx*8 + 4], 0
push eax
push ecx
jmp 0x428c6b
mov ecx, dword [ebp - 0xc]
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x1c], eax
cmp ecx, 0xfffff
ja 0x429131
jb 0x429121
cmp eax, 0xffffffff
ja 0x429131
mov eax, ecx
shr eax, 0x10
test eax, eax
je 0x42b7bd
mov eax, dword [ebp - 0x1c]
push ecx
push eax
jmp 0x428a41
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], eax
cmp eax, 0xfffff
ja 0x42916d
jb 0x429162
cmp ecx, 0xffffffff
ja 0x42916d
shr eax, 0x10
test eax, eax
je 0x42b7bd
mov esi, dword [ebp - 0x24]
add edi, 0xfffffff8
push dword [ebp - 0x1c]
push dword [ebp - 0x2c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi + edx*8], eax
mov eax, esi
mov dword [eax + edx*8 + 4], ecx
jmp 0x428c68
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], eax
cmp eax, 0xfffff
ja 0x4291bd
jb 0x4291b6
cmp ecx, 0xffffffff
ja 0x4291bd
shr eax, 0x10
test eax, eax
je 0x42916d
push str.this_can_be_initialized_only_once
push esi
call fcn.00419f93
jmp 0x42b78c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x50]
push 0
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, esi
push eax
call fcn.00427276
jmp 0x42b69c
mov ecx, dword [ebp - 0xc]
push 0x30000
push 0
mov eax, dword [ecx]
mov dword [ebp - 0x3c], eax
movzx eax, word [ecx + 4]
add ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, esi
mov dword [ebp - 0x40], eax
call fcn.004187f5
pop ecx
pop ecx
mov dword [edi], eax
push 8
pop eax
mov dword [edi + 4], edx
add edi, eax
mov dword [ebp - 8], edi
mov eax, dword [edi - 4]
cmp eax, 0xfffff
ja 0x42923b
jb 0x42922f
cmp dword [edi - 8], 0xffffffff
ja 0x42923b
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x7a
jne 0x429253
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x14], eax
inc dword [eax]
jmp 0x429277
mov edx, dword [ebp - 0x50]
xor eax, eax
cmp ecx, 0x79
mov ecx, esi
sete al
push eax
mov eax, dword [ebp - 0x40]
push eax
call fcn.00426c3e
mov dword [ebp - 0x14], eax
pop ecx
pop ecx
test eax, eax
je 0x42b78e
mov edx, dword [edi - 8]
mov ecx, esi
push 0x22
push dword [ebp - 0x3c]
call fcn.0041be6b
mov edx, dword [ebp - 0x14]
pop ecx
pop ecx
test eax, eax
je 0x42b7c2
mov dword [eax], edx
mov ecx, esi
mov edx, dword [ebp - 0x3c]
push 0
call fcn.00416594
jmp 0x428a49
mov ecx, dword [ebp - 0xc]
push edi
mov edx, dword [ecx]
add ecx, 4
mov dword [ebp - 0xc], ecx
mov ecx, esi
call fcn.0041e7dd
pop ecx
test eax, eax
jne 0x42b78e
add edi, 0x10
jmp 0x4282e8
add edx, dword [edx]
dec dword [esi + 0xf4]
cmp dword [esi + 0xf4], 0
mov dword [ebp - 0xc], edx
jg case.0x427a9f.182
mov ecx, esi
call fcn.0041a0fd
jmp 0x4289c8
movsx eax, word [edx]
add edx, eax
mov dword [ebp - 0xc], edx
dec dword [esi + 0xf4]
cmp dword [esi + 0xf4], 0
jg 0x42b6a1
jmp 0x4292e2
movsx eax, byte [edx]
jmp 0x4292f1
add edi, 0xfffffff8
add edx, 4
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp dword [edi + 4], 0xfffff
mov ecx, dword [edi]
ja 0x429339
jb 0x42932e
cmp ecx, 0xffffffff
ja 0x429339
mov eax, dword [edi + 4]
shr eax, 0x10
cmp eax, 4
jbe 0x42934b
push dword [edi + 4]
push ecx
mov ecx, esi
call fcn.0041f026
mov edx, dword [ebp - 0xc]
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
je 0x4292f6
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
add edx, 0xfffffffc
mov eax, dword [eax - 4]
jmp 0x4292f1
add edi, 0xfffffff8
add edx, 4
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp dword [edi + 4], 0xfffff
mov ecx, dword [edi]
ja 0x429386
jb 0x42937b
cmp ecx, 0xffffffff
ja 0x429386
mov eax, dword [edi + 4]
shr eax, 0x10
cmp eax, 4
jbe 0x429398
push dword [edi + 4]
push ecx
mov ecx, esi
call fcn.0041f026
mov edx, dword [ebp - 0xc]
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
jne 0x4292f6
jmp 0x42934f
add edi, 0xfffffff8
inc edx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp dword [edi + 4], 0xfffff
mov ecx, dword [edi]
ja 0x4293c9
jb 0x4293be
cmp ecx, 0xffffffff
ja 0x4293c9
mov eax, dword [edi + 4]
shr eax, 0x10
cmp eax, 4
jbe 0x4293db
push dword [edi + 4]
push ecx
mov ecx, esi
call fcn.0041f026
mov edx, dword [ebp - 0xc]
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
je 0x4292f6
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
dec edx
movsx eax, byte [eax - 1]
jmp 0x4292f1
add edi, 0xfffffff8
inc edx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp dword [edi + 4], 0xfffff
mov ecx, dword [edi]
ja 0x42941a
jb 0x42940f
cmp ecx, 0xffffffff
ja 0x42941a
mov eax, dword [edi + 4]
shr eax, 0x10
cmp eax, 4
jbe 0x42942c
push dword [edi + 4]
push ecx
mov ecx, esi
call fcn.0041f026
mov edx, dword [ebp - 0xc]
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
jne 0x4292f6
jmp 0x4293e3
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
push 8
mov ecx, dword [ecx]
sub ecx, dword [eax + 0x18]
xor eax, eax
add ecx, dword [ebp - 0xc]
or eax, 0x50000
mov dword [edi + 4], eax
pop eax
mov dword [edi], ecx
add edi, eax
mov dword [ebp - 8], edi
add edx, 4
jmp 0x42b6a1
mov ecx, dword [ebp - 0xc]
push 8
mov edx, dword [ecx]
sub ecx, dword [eax + 0x18]
xor eax, eax
or eax, 0x10000
add ecx, 4
mov dword [edi + 4], eax
pop eax
mov dword [edi], ecx
add edi, eax
add dword [ebp - 0xc], edx
mov dword [ebp - 8], edi
jmp 0x42b69e
mov eax, dword [edi - 4]
add edi, 0xfffffff8
mov ecx, dword [edi]
cmp eax, 0xfffff
ja 0x42b7cc
jb 0x4294a5
cmp ecx, 0xffffffff
ja 0x42b7cc
shr eax, 0x10
cmp eax, 1
jne 0x42b7cc
mov eax, dword [ebp - 0x10]
cmp ecx, dword [eax + 0x1c]
jae 0x42b7cc
mov edx, dword [eax + 0x18]
mov dword [ebp - 8], edi
add edx, ecx
jmp case.0x427a9f.182
mov edx, edi
mov ecx, esi
call fcn.00425ed4
jmp 0x4289c8
mov edx, edi
mov ecx, esi
call fcn.00425f02
jmp 0x4292ba
push 0
mov edx, edi
mov ecx, esi
call fcn.0042647e
pop ecx
test eax, eax
jne 0x42b78e
push 8
pop eax
add edi, eax
and dword [edi], 0
mov dword [edi + 4], 0x50000
jmp 0x428394
mov ecx, dword [ebp - 0xc]
mov edx, edi
push 0xfffffffffffffffd
movzx eax, byte [ecx]
pop ecx
sub ecx, eax
inc dword [ebp - 0xc]
push ecx
mov ecx, esi
call fcn.0042650a
jmp 0x4292b9
push 1
jmp 0x4294e8
mov edx, edi
mov ecx, esi
call fcn.00426689
test eax, eax
jne 0x42b78e
jmp 0x428391
mov eax, dword [edi - 4]
cmp eax, 0xfffff
ja 0x429565
jb 0x429557
cmp dword [edi - 8], 0xffffffff
ja 0x429565
push 8
shr eax, 0x10
pop ecx
cmp eax, ecx
je 0x42b6a1
push str.iterator_must_return_an_object
jmp 0x4285f0
push dword [edi - 0xc]
add edi, 0xfffffff0
mov ecx, esi
mov dword [ebp - 0x1c], edi
push dword [edi]
call fcn.004105f5
add edi, 0xfffffff8
pop ecx
pop ecx
mov dword [ebp - 8], edi
cmp dword [edi + 4], 0xfffff
ja 0x4295a8
jb 0x429599
cmp dword [edi], 0xffffffff
ja 0x4295a8
mov eax, dword [edi + 4]
shr eax, 0x10
cmp eax, 4
je 0x42b69e
push dword [edi + 4]
xor edx, edx
mov ecx, esi
push dword [edi]
call fcn.0042636b
pop ecx
pop ecx
test eax, eax
jne 0x42b7d9
push dword [edi + 4]
push dword [edi]
jmp 0x428c6e
push 8
pop eax
sub edi, eax
mov dword [ebp - 8], edi
mov eax, dword [edi + 4]
mov edx, dword [edi]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x2c], edx
cmp edi, eax
jbe 0x429624
lea ecx, [edi - 8]
cmp dword [ecx + 4], 0xfffff
ja 0x429602
jb 0x4295f7
cmp dword [ecx], 0xffffffff
ja 0x429602
mov eax, dword [ecx + 4]
shr eax, 0x10
cmp eax, 5
je 0x42961b
push dword [ecx + 4]
mov edi, ecx
push dword [ecx]
mov ecx, esi
call fcn.004105f5
mov eax, dword [ebp - 0x70]
pop ecx
pop ecx
cmp edi, eax
ja 0x4295e4
jmp 0x42961e
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 8], edi
add eax, 0x18
cmp edi, eax
jb 0x42b7e4
mov eax, dword [edi - 8]
mov ecx, dword [edi - 4]
mov dword [edi], eax
mov eax, dword [edi - 0x10]
mov dword [edi + 4], ecx
mov ecx, dword [edi - 0xc]
mov dword [edi - 8], eax
mov eax, dword [edi - 0x18]
mov dword [edi - 4], ecx
mov ecx, dword [edi - 0x14]
mov dword [edi - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi - 0xc], ecx
mov dword [edi - 0x18], edx
mov dword [edi - 0x14], eax
jmp 0x428391
push 2
lea eax, [edi - 8]
xor edx, edx
push eax
push 0x40000
push 0
push dword [edi - 0x1c]
inc edx
mov ecx, esi
push dword [edi - 0x20]
push dword [edi - 0x14]
push dword [edi - 0x18]
call fcn.00427710
add esp, 0x20
jmp 0x42889b
mov ecx, dword [ebp - 0xc]
push 0
push dword [edi - 0x1c]
push dword [edi - 0x20]
movzx eax, byte [ecx]
inc ecx
push 6
pop edx
push 0x17
test al, 1
mov dword [ebp - 0x14], eax
pop eax
push dword [edi - 0x1c]
mov dword [ebp - 0xc], ecx
cmovne edx, eax
push dword [edi - 0x20]
mov ecx, esi
call fcn.0041a710
mov ecx, edx
mov dword [ebp - 0x40], eax
mov edx, 0xfffff
mov dword [ebp - 0x1c], ecx
add esp, 0x14
cmp ecx, edx
jb 0x4296de
ja 0x4296d3
cmp eax, 0xffffffff
jbe 0x4296de
mov eax, ecx
shr eax, 0x10
and dword [ebp - 0x2c], 0
jmp 0x4296f0
and dword [ebp - 0x2c], 0
mov eax, ecx
shr eax, 0x10
cmp eax, 6
je 0x42b78e
cmp ecx, edx
ja 0x42970e
jb 0x4296fc
cmp dword [ebp - 0x40], 0xffffffff
ja 0x42970e
cmp eax, 4
je 0x4285ac
cmp eax, 3
je 0x4285ac
and dword [ebp - 0x14], 2
lea ecx, [edi - 8]
push 0
pop eax
cmove eax, ecx
xor edx, edx
cmp dword [ebp - 0x14], edx
mov ecx, esi
push eax
push dword [edi - 0x1c]
sete dl
push dword [edi - 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x40]
call fcn.0042bf7d
mov ecx, eax
add esp, 0x14
mov eax, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffff
ja 0x42975e
jb 0x429752
cmp ecx, 0xffffffff
ja 0x42975e
shr eax, 0x10
cmp eax, 6
je 0x42b78e
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
mov eax, dword [ebp - 0x1c]
pop ecx
mov dword [edi - 8], eax
mov eax, dword [ebp - 0x2c]
pop ecx
mov dword [edi - 4], eax
jmp 0x4285b1
cmp dword [edi - 4], 0xfffff
mov ecx, dword [edi - 8]
ja 0x4297a5
jb 0x429791
cmp ecx, 0xffffffff
ja 0x4297a5
mov eax, dword [edi - 4]
shr eax, 0x10
cmp eax, 4
ja 0x4297a5
xor eax, eax
test ecx, ecx
setne al
jmp 0x4297b5
push dword [edi - 4]
push ecx
mov ecx, esi
call fcn.0041f026
mov edx, dword [ebp - 0xc]
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
sete cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 8], ecx
mov dword [edi - 4], eax
jmp 0x42b6a1
mov ecx, dword [ebp - 0xc]
push 0
push dword [edi - 4]
push dword [edi - 8]
mov edx, dword [ecx]
add ecx, 4
push dword [edi - 4]
mov dword [ebp - 0xc], ecx
mov ecx, esi
push dword [edi - 8]
call fcn.0041a710
add esp, 0x14
jmp 0x42889b
mov ecx, dword [ebp - 0xc]
push 0
push dword [edi - 4]
push dword [edi - 8]
mov edx, dword [ecx]
add ecx, 4
push dword [edi - 4]
mov dword [ebp - 0xc], ecx
mov ecx, esi
push dword [edi - 8]
call fcn.0041a710
add esp, 0x14
jmp 0x42892f
mov eax, dword [ebp - 8]
add edi, 0xfffffff0
mov ecx, dword [ebp - 0xc]
push 0x8000
push dword [eax - 4]
mov edx, dword [ecx]
add ecx, 4
push dword [eax - 8]
mov dword [ebp - 0xc], ecx
mov ecx, esi
push dword [edi + 4]
push dword [edi]
call fcn.0041c990
push dword [edi + 4]
mov ecx, dword [ebp - 0x18]
mov esi, eax
push dword [edi]
call fcn.004105f5
add esp, 0x1c
test esi, esi
mov dword [ebp - 8], edi
js 0x42b78e
jmp 0x427ebb
mov ecx, dword [ebp - 0xc]
push 4
mov edx, dword [ecx]
add ecx, 4
mov dword [ebp - 0xc], ecx
mov ecx, esi
call fcn.0041646d
jmp 0x42892e
mov ecx, dword [ebp - 0x18]
lea esi, [edi - 8]
push dword [esi + 4]
push dword [esi]
push dword [edi - 0xc]
push dword [edi - 0x10]
call fcn.0041abec
push dword [esi + 4]
mov ecx, dword [ebp - 0x18]
push dword [esi]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
call fcn.004105f5
push dword [edi - 0xc]
mov ecx, dword [ebp - 0x18]
push dword [edi - 0x10]
call fcn.004105f5
mov ecx, dword [ebp - 0x1c]
add esp, 0x20
mov eax, dword [ebp - 0x2c]
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
mov edi, esi
mov dword [ebp - 8], edi
cmp eax, 0xfffff
ja 0x427ebb
jb 0x4298e2
cmp ecx, 0xffffffff
ja 0x427ebb
shr eax, 0x10
cmp eax, 6
je 0x42b78e
jmp 0x427ebb
mov eax, dword [ebp - 8]
add edi, 0xffffffe8
mov ecx, esi
push dword [eax - 0xc]
push dword [eax - 0x10]
push dword [eax - 4]
push dword [eax - 8]
push dword [edi + 4]
push dword [edi]
call fcn.0041acc6
push dword [edi + 4]
mov ecx, dword [ebp - 0x18]
mov esi, eax
push dword [edi]
call fcn.004105f5
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
push dword [eax - 4]
push dword [eax - 8]
call fcn.004105f5
add esp, 0x28
jmp 0x429858
mov eax, dword [ebp - 8]
add edi, 0xfffffff0
mov ecx, esi
push dword [eax - 4]
push dword [eax - 8]
push dword [edi + 4]
push dword [edi]
push dword [eax - 0x14]
push dword [eax - 0x18]
call fcn.0041aaf9
push dword [edi + 4]
mov ecx, dword [ebp - 0x18]
mov esi, eax
push dword [edi]
call fcn.004105f5
add esp, 0x20
jmp 0x429858
mov ecx, dword [ebp - 0xc]
push 0x4007
push dword [edi - 4]
push dword [edi - 8]
mov edx, dword [ecx]
add ecx, 4
push dword [edi - 0xc]
mov dword [ebp - 0xc], ecx
push dword [edi - 0x10]
mov ecx, dword [ebp - 0x18]
call fcn.0041e1a3
add esp, 0x14
add edi, 0xfffffff8
test eax, eax
jmp 0x42985a
mov ecx, dword [ebp - 0xc]
push 1
push dword [edi - 4]
mov edx, dword [ecx]
add ecx, 4
push dword [edi - 8]
mov dword [ebp - 0xc], ecx
mov ecx, esi
call fcn.0041e419
jmp 0x428971
push dword [edi - 0xc]
xor edx, edx
mov ecx, esi
push dword [edi - 0x10]
inc edx
push dword [edi - 4]
push dword [edi - 8]
call fcn.0041e479
jmp 0x428609
lea eax, [edi - 8]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0xfffff
ja 0x429a2f
jb 0x4299f9
cmp edx, 0xffffffff
ja 0x429a2f
and dword [ebp - 0x7c], 0
mov eax, ecx
shr eax, 0x10
cmp eax, 8
je 0x429a0c
cmp eax, 3
jne 0x429a2f
push ecx
push edx
push dword [edi - 0xc]
xor edx, edx
mov ecx, esi
push dword [edi - 0x10]
inc edx
call fcn.0041a16a
add esp, 0x10
test eax, eax
js 0x42b78e
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
push ecx
push edx
mov ecx, esi
call fcn.004105f5
mov edi, dword [ebp - 0x54]
pop ecx
pop ecx
jmp 0x4282e8
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
push dword [edi - 4]
push dword [edi - 8]
call fcn.004188de
jmp 0x428d13
cmp ecx, 0x55
jne 0x429a80
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
call fcn.0041b9ed
mov edx, eax
mov dword [ebp - 0x3c], edx
pop ecx
pop ecx
test edx, edx
je 0x42b78e
mov ecx, dword [ebp - 0xc]
jmp 0x429a8b
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx]
add ecx, 4
mov dword [ebp - 0x3c], edx
movzx eax, byte [ecx]
inc ecx
cmp dword [ebp - 0x44], 0x55
push 0x10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xc], ecx
pop ecx
push 0x18
pop eax
cmove ecx, eax
mov dword [ebp - 0xd4], 0x40000
mov eax, edi
mov dword [ebp - 0x4c], 0x40000
sub eax, ecx
push 0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x40]
and eax, 4
mov dword [ebp - 0x2c], ecx
pop ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [edi - 8]
mov dword [ebp - 0x40], 0x40000
and eax, 3
jne 0x429b0b
mov eax, dword [edi - 4]
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0xd4], eax
mov eax, 0x6707
mov dword [ebp - 0x1c], 0x6703
cmove eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], ecx
jmp 0x429b49
cmp eax, 1
mov eax, dword [edi - 4]
jne 0x429b2f
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0x4c], eax
mov eax, 0x4d05
mov dword [ebp - 0x1c], 0x4d01
cmove eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jmp 0x429b49
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0x40], eax
mov eax, 0x5505
mov dword [ebp - 0x1c], 0x5501
cmove eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
push dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x2c]
push eax
push dword [edi - 4]
push ecx
mov ecx, esi
call fcn.004189c8
add esp, 0x14
mov dword [ebp - 0x1c], eax
test eax, eax
js 0x429b96
push dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp - 0x34]
push dword [ebp - 0x4c]
push dword [ebp - 8]
push dword [ebp - 0xd4]
push dword [ebp - 0x7c]
push dword [ebp - 0x54]
push dword [ebp - 0x2c]
call fcn.0041d89e
add esp, 0x24
mov dword [ebp - 0x1c], eax
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
mov eax, dword [ebp - 0x44]
pop ecx
pop ecx
cmp eax, 0x55
jne 0x429bd3
mov eax, dword [ebp - 0x3c]
cmp eax, 0xe7
jl 0x429bc1
mov ecx, dword [esi + 0x14]
mov edx, eax
call fcn.00416252
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
call fcn.004105f5
mov eax, dword [ebp - 0x44]
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0x55
push 8
pop eax
cmove ecx, eax
push 0xfffffffffffffff8
pop eax
sub eax, ecx
add edi, eax
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], edi
jl 0x42b78e
jmp 0x42b69e
mov ecx, dword [ebp - 0xc]
xor eax, eax
add dword [ebp - 0xc], 5
cmp dword [ebp - 0x44], 0x57
mov edx, dword [ecx]
sete al
movzx ecx, byte [ecx + 4]
push eax
push dword [ebp - 0x50]
push dword [ebp - 0x48]
push ecx
push edx
mov edx, edi
mov ecx, esi
call fcn.00426f15
add esp, 0x14
jmp 0x42860c
push dword [edi - 4]
mov ecx, dword [ebp - 0x18]
push dword [edi - 8]
push dword [edi - 0xc]
push dword [edi - 0x10]
call fcn.0041ba92
push dword [edi - 0xc]
mov ecx, dword [ebp - 0x18]
push dword [edi - 0x10]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
call fcn.004105f5
mov ecx, dword [ebp - 0x1c]
add esp, 0x18
mov eax, dword [ebp - 0x2c]
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
add edi, 0xfffffff8
jmp 0x4298c9
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
push dword [edi - 0xc]
push dword [edi - 0x10]
call fcn.0041ba92
add esp, 0x10
mov dword [edi - 8], eax
mov dword [edi - 4], edx
cmp edx, 0xfffff
ja 0x42b69e
jb 0x429c99
cmp eax, 0xffffffff
ja 0x42b69e
shr edx, 0x10
cmp edx, 6
jmp 0x428228
mov eax, dword [edi - 0xc]
cmp eax, 0xfffff
jb 0x429cbb
ja 0x429cb6
cmp dword [edi - 0x10], 0xffffffff
jbe 0x429cbb
push 7
pop eax
jmp 0x429cbe
shr eax, 0x10
mov edx, dword [edi - 4]
mov ecx, dword [edi - 8]
push edx
push ecx
mov ecx, esi
cmp eax, 4
je 0x42b802
call fcn.00411662
push edx
push eax
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
call fcn.0041ba92
add esp, 0x18
jmp 0x42892f
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.0041b9ed
mov dword [ebp - 0x7c], eax
pop ecx
pop ecx
test eax, eax
je 0x42b78e
push 0
push dword [edi - 0x14]
lea ecx, [edi - 0x10]
mov edx, eax
push dword [edi - 0x18]
mov dword [ebp - 0x54], ecx
push dword [ecx + 4]
push dword [ecx]
mov ecx, esi
call fcn.0041a710
mov ecx, eax
add esp, 0x14
mov eax, edx
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x2c], eax
cmp edx, 0xe7
jl 0x429d49
mov ecx, dword [esi + 0x14]
call fcn.00416252
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
cmp eax, 0xfffff
ja 0x429d63
jb 0x429d57
cmp ecx, 0xffffffff
ja 0x429d63
shr eax, 0x10
cmp eax, 6
je 0x42b78e
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
mov eax, dword [ebp - 0x54]
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.004105f5
push dword [edi - 0x14]
mov ecx, esi
push dword [edi - 0x18]
call fcn.004105f5
mov eax, dword [ebp - 0x1c]
add esp, 0x18
mov dword [edi - 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [edi - 0x14], eax
mov edi, dword [ebp - 0x54]
jmp 0x4282e8
mov eax, dword [ebp - 8]
add edi, 0xffffffe8
mov edx, 0x8000
mov ecx, esi
push dword [eax - 4]
push dword [eax - 8]
push dword [eax - 0xc]
push dword [eax - 0x10]
push dword [edi + 4]
push dword [edi]
call fcn.0041d016
jmp 0x429957
lea eax, [edi - 0x18]
mov dword [ebp - 0x2c], 0x8000
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x1c], ecx
cmp edx, 0xfffff
jb 0x429df4
ja 0x429def
cmp ecx, 0xffffffff
jbe 0x429df4
push 7
pop ecx
jmp 0x429df9
mov ecx, edx
shr ecx, 0x10
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x8c]
cmp ecx, 4
jne 0x429e34
test eax, eax
je 0x429e15
test byte [eax + 0x28], 1
jne 0x42b837
push dword [esi + 0xcc]
mov ecx, esi
push dword [esi + 0xc8]
call fcn.00411662
pop ecx
pop ecx
mov ecx, dword [ebp - 0x54]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x429e48
test eax, eax
je 0x429e45
test byte [eax + 0x28], 1
je 0x429e45
mov dword [ebp - 0x2c], 0x18000
mov eax, dword [ebp - 0x1c]
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
push dword [edi - 0xc]
push dword [edi - 0x10]
push edx
mov edx, dword [ebp - 0x2c]
push eax
call fcn.0041d016
mov edi, dword [ebp - 0x54]
jmp 0x429957
mov eax, dword [edi - 0x14]
cmp eax, 0xfffff
ja 0x42b841
jb 0x429e82
cmp dword [edi - 0x18], 0xffffffff
ja 0x42b841
push 8
shr eax, 0x10
pop ecx
cmp eax, ecx
jne 0x42b841
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
call fcn.0041b9ed
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x42b78e
push 0x8000
lea eax, [edi - 0x20]
mov edx, ecx
push dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0x1c], eax
push dword [eax]
push dword [edi - 4]
push dword [edi - 8]
push dword [edi - 0x14]
push dword [edi - 0x18]
call fcn.0041c677
mov edx, dword [ebp - 0x2c]
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp edx, 0xe7
jl 0x429eea
mov ecx, dword [esi + 0x14]
call fcn.00416252
mov eax, dword [ebp - 0x1c]
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.004105f5
push dword [edi - 0x14]
mov ecx, esi
push dword [edi - 0x18]
call fcn.004105f5
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
call fcn.004105f5
mov edi, dword [ebp - 0x1c]
add esp, 0x18
cmp dword [ebp - 0x54], 0
jmp 0x429be9
push dword [edi - 4]
mov ecx, dword [ebp - 0x18]
push dword [edi - 8]
push dword [edi - 0xc]
push dword [edi - 0x10]
call fcn.00411662
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push edx
push eax
push dword [edi - 0x14]
mov edx, 0x4007
push dword [edi - 0x18]
call fcn.0041e1ec
add esp, 0x18
jmp 0x429995
mov edx, edi
mov ecx, esi
call fcn.004267ef
test eax, eax
jne 0x42b78e
push 8
pop eax
sub edi, eax
mov dword [ebp - 8], edi
jmp 0x4295c0
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx]
inc ecx
mov eax, edx
mov dword [ebp - 0xc], ecx
shr eax, 5
mov ecx, edi
lea eax, [eax*8 + 8]
sub ecx, eax
mov eax, edx
shr eax, 2
and edx, 3
and eax, 7
push dword [ecx + 4]
push dword [ecx]
lea eax, [eax*8 + 8]
mov ecx, edi
sub ecx, eax
lea eax, [edx*8 + 8]
xor edx, edx
push dword [ecx + 4]
push dword [ecx]
mov ecx, edi
sub ecx, eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, esi
call fcn.00426a3e
add esp, 0x18
jmp 0x4289c8
mov ecx, dword [edi - 0xc]
lea edx, [edi - 8]
mov eax, dword [edi - 0x10]
mov dword [ebp - 0x2c], edx
mov edx, dword [edx]
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x54], ecx
mov edx, dword [edx + 4]
mov dword [ebp - 0x1c], edx
cmp ecx, 0xfffff
ja 0x42a06e
jb 0x429ffd
cmp eax, 0xffffffff
ja 0x42a06e
and dword [ebp - 0xd4], 0
mov edx, ecx
shr edx, 0x10
cmp edx, 1
jne 0x42a066
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xfffff
ja 0x42a088
jb 0x42a021
cmp dword [ebp - 0x44], 0xffffffff
ja 0x42a088
and dword [ebp - 0xd4], 0
shr ecx, 0x10
cmp ecx, 1
jne 0x42a063
cdq
mov ecx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x44]
cdq
add ecx, eax
mov eax, ecx
adc dword [ebp - 0x14], edx
cdq
mov dword [ebp - 0x1c], edx
cmp eax, ecx
jne 0x42a088
mov edx, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], edx
jne 0x42a088
xor eax, eax
mov dword [edi - 0x10], ecx
or eax, 0x10000
mov dword [edi - 0xc], eax
jmp 0x42a163
mov ecx, dword [ebp - 0x54]
cmp edx, 7
jne 0x42a088
mov edx, dword [ebp - 0x1c]
cmp edx, 0xfffff
ja 0x42a0a1
jb 0x42a07e
cmp dword [ebp - 0x44], 0xffffffff
ja 0x42a0a1
mov eax, edx
shr eax, 0x10
cmp eax, 7
je 0x42a09e
mov edx, edi
mov ecx, esi
call fcn.00423bcb
test eax, eax
jne 0x42b78e
jmp 0x42a163
mov eax, dword [ebp - 0x7c]
cmp ecx, 0xfffff
jb 0x42a0ca
ja 0x42a0b0
cmp eax, 0xffffffff
jbe 0x42a0ca
not eax
not ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
movsd xmm1, qword [ebp - 0xa0]
jmp 0x42a0f8
test eax, eax
jne 0x42a0db
cmp ecx, 0x70000
jne 0x42a0db
movaps xmm1, xmm2
jmp 0x42a0f0
cmp eax, 2
jne 0x42a0ed
cmp ecx, 0x70000
jne 0x42a0ed
movaps xmm1, xmm3
jmp 0x42a0f0
movaps xmm1, xmm4
movsd qword [ebp - 0xa0], xmm1
mov eax, dword [ebp - 0x44]
cmp edx, 0xfffff
jb 0x42a124
ja 0x42a10a
cmp eax, 0xffffffff
jbe 0x42a124
not eax
not edx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
movsd xmm0, qword [ebp - 0xa8]
jmp 0x42a152
test eax, eax
jne 0x42a135
cmp edx, 0x70000
jne 0x42a135
movaps xmm0, xmm2
jmp 0x42a14a
cmp eax, 2
jne 0x42a147
cmp edx, 0x70000
jne 0x42a147
movaps xmm0, xmm3
jmp 0x42a14a
movaps xmm0, xmm4
movsd qword [ebp - 0xa8], xmm0
addsd xmm1, xmm0
mov ecx, esi
call fcn.00414ba4
mov dword [edi - 0x10], eax
mov dword [edi - 0xc], edx
mov edi, dword [ebp - 0x2c]
jmp 0x4282e8
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0xc]
movzx ecx, byte [ecx]
mov dword [ebp - 0x14], ecx
mov edx, dword [eax + ecx*8]
mov dword [ebp - 0x7c], edx
mov edx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x54], edx
cmp edx, 0xfffff
ja 0x42a2e1
jb 0x42a19f
cmp dword [eax + ecx*8], 0xffffffff
ja 0x42a2e1
and dword [ebp - 0x2c], 0
mov eax, edx
shr eax, 0x10
cmp eax, 1
jne 0x42a236
lea edx, [edi - 8]
mov esi, dword [edx]
mov dword [ebp - 0x1c], edx
mov edx, dword [edx + 4]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x18]
cmp edx, 0xfffff
ja 0x42a2e1
jb 0x42a1da
cmp dword [ebp - 0x2c], 0xffffffff
ja 0x42a2e1
and dword [ebp - 0x2c], 0
shr edx, 0x10
cmp edx, 1
jne 0x42a236
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + ecx*8]
cdq
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], edx
mov eax, dword [eax]
cdq
add dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
adc dword [ebp - 0x44], edx
cdq
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x3c]
cmp eax, edx
jne 0x42a2e1
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x2c], eax
jne 0x42a2e1
mov edi, dword [ebp - 0x24]
xor eax, eax
or eax, 0x10000
mov dword [edi + ecx*8], edx
mov dword [edi + ecx*8 + 4], eax
mov edi, dword [ebp - 0x1c]
jmp 0x4282e8
cmp eax, 0xb
jne 0x42a2e1
push dword [edi - 4]
add edi, 0xfffffff8
mov ecx, esi
mov dword [ebp - 8], edi
push dword [edi]
push 2
pop edx
call fcn.0041ed71
pop ecx
pop ecx
mov ecx, eax
cmp edx, 0xfffff
ja 0x42a275
jb 0x42a267
cmp ecx, 0xffffffff
ja 0x42a275
mov eax, edx
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov eax, dword [ebp - 0x14]
push edx
push ecx
mov ecx, dword [ebp - 0x24]
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
mov ecx, esi
call fcn.00411662
pop ecx
pop ecx
push edx
push eax
mov ecx, esi
call fcn.00417ab1
mov ecx, eax
add esp, 0x10
mov eax, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffff
ja 0x42a2bd
jb 0x42a2b1
cmp ecx, 0xffffffff
ja 0x42a2bd
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [esi + edx*8], edi
mov edi, dword [ebp - 0x2c]
push eax
mov dword [esi + edx*8 + 4], edi
push ecx
jmp 0x428a87
push dword [ebp - 0x54]
mov ecx, esi
push dword [ebp - 0x7c]
call fcn.00411662
add edi, 0xfffffff8
mov dword [ebp - 0x120], eax
pop ecx
pop ecx
mov dword [ebp - 0x11c], edx
lea edx, [ebp - 0x110]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x114], ecx
mov ecx, esi
mov dword [ebp - 8], edi
mov dword [ebp - 0x118], eax
call fcn.00423bcb
test eax, eax
jne 0x42b78e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov esi, dword [ecx + eax*8]
mov edx, dword [ecx + eax*8 + 4]
mov eax, dword [ebp - 0x120]
mov dword [ecx + edi*8], eax
mov eax, edi
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x11c]
mov dword [edi + eax*8 + 4], ecx
jmp 0x428a85
mov ecx, dword [edi - 0xc]
lea eax, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
cmp ecx, 0xfffff
ja 0x42a401
jb 0x42a385
cmp edx, 0xffffffff
ja 0x42a401
and dword [ebp - 0x54], 0
mov eax, ecx
shr eax, 0x10
cmp eax, 1
jne 0x42a3f5
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xfffff
ja case.0x427a9f.159
jb 0x42a3ae
cmp dword [ebp - 0x34], 0xffffffff
ja case.0x427a9f.159
and dword [ebp - 0x54], 0
shr ecx, 0x10
cmp ecx, 1
jne 0x42a3f2
mov eax, edx
cdq
mov ecx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
cdq
sub ecx, eax
mov eax, ecx
sbb dword [ebp - 0x14], edx
cdq
mov dword [ebp - 0x2c], edx
cmp eax, ecx
jne case.0x427a9f.159
mov edx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], edx
jne case.0x427a9f.159
xor edx, edx
or edx, 0x10000
jmp 0x42a4da
mov ecx, dword [ebp - 0x2c]
cmp eax, 7
jne case.0x427a9f.159
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffff
ja 0x42a41f
jb 0x42a410
cmp dword [ebp - 0x34], 0xffffffff
ja 0x42a41f
shr eax, 0x10
cmp eax, 7
jne case.0x427a9f.159
mov eax, dword [ebp - 0x14]
cmp ecx, 0xfffff
jb 0x42a448
ja 0x42a42e
cmp edx, 0xffffffff
jbe 0x42a448
not edx
not ecx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], ecx
movsd xmm1, qword [ebp - 0xb0]
jmp 0x42a476
test edx, edx
jne 0x42a459
cmp ecx, 0x70000
jne 0x42a459
movaps xmm1, xmm2
jmp 0x42a46e
cmp edx, 2
jne 0x42a46b
cmp ecx, 0x70000
jne 0x42a46b
movaps xmm1, xmm3
jmp 0x42a46e
movaps xmm1, xmm4
movsd qword [ebp - 0xb0], xmm1
mov ecx, dword [ebp - 0x34]
cmp eax, 0xfffff
jb 0x42a4a1
ja 0x42a487
cmp ecx, 0xffffffff
jbe 0x42a4a1
not ecx
not eax
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], eax
movsd xmm0, qword [ebp - 0xb8]
jmp 0x42a4cd
test ecx, ecx
jne 0x42a4b1
cmp eax, 0x70000
jne 0x42a4b1
movaps xmm0, xmm2
jmp 0x42a4c5
cmp ecx, 2
jne 0x42a4c2
cmp eax, 0x70000
jne 0x42a4c2
movaps xmm0, xmm3
jmp 0x42a4c5
movaps xmm0, xmm4
movsd qword [ebp - 0xb8], xmm0
subsd xmm1, xmm0
mov ecx, esi
call fcn.00414ba4
mov ecx, eax
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], edx
mov edi, dword [ebp - 0x1c]
jmp 0x4282e8
mov edx, dword [edi - 0xc]
lea eax, [edi - 8]
mov ecx, dword [edi - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
cmp edx, 0xfffff
ja 0x42a5e1
jb 0x42a519
cmp ecx, 0xffffffff
ja 0x42a5e1
mov eax, edx
shr eax, 0x10
cmp eax, 1
jne 0x42a5d0
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffff
ja case.0x427a9f.159
mov edx, dword [ebp - 0x34]
jb 0x42a543
cmp edx, 0xffffffff
ja case.0x427a9f.159
shr eax, 0x10
cmp eax, 1
jne case.0x427a9f.159
mov eax, edx
imul ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], edx
cdq
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x3c]
cmp eax, edx
mov eax, dword [ebp - 0x14]
jne 0x42a58c
cmp dword [ebp - 0x2c], eax
jne 0x42a58c
mov eax, edx
or eax, dword [ebp - 0x14]
jne 0x42a57c
or ecx, dword [ebp - 0x34]
jl 0x42a6c1
mov eax, dword [ebp - 0x3c]
xor edx, edx
or edx, 0x10000
jmp 0x42a6cb
mov ecx, dword [ebp - 0x50]
test byte [ecx + 0x28], 4
je 0x42a5c1
cmp eax, 0xffe00000
jl case.0x427a9f.159
jg 0x42a5ab
cmp edx, 1
jb case.0x427a9f.159
cmp eax, 0x1fffff
jg case.0x427a9f.159
jl 0x42a5c1
cmp edx, 0xffffffff
ja case.0x427a9f.159
mov ecx, dword [ebp - 0x3c]
mov edx, eax
call fcn.004943b0
jmp 0x42a6c1
mov eax, edx
shr eax, 0x10
cmp eax, 7
jne case.0x427a9f.159
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffff
ja 0x42a5ff
jb 0x42a5f0
cmp dword [ebp - 0x34], 0xffffffff
ja 0x42a5ff
shr eax, 0x10
cmp eax, 7
jne case.0x427a9f.159
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x50]
test byte [esi + 0x28], 4
mov esi, dword [ebp - 0x18]
jne case.0x427a9f.159
cmp edx, 0xfffff
jb 0x42a638
ja 0x42a61e
cmp ecx, 0xffffffff
jbe 0x42a638
not ecx
not edx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
movsd xmm0, qword [ebp - 0xc0]
jmp 0x42a666
test ecx, ecx
jne 0x42a649
cmp edx, 0x70000
jne 0x42a649
movaps xmm0, xmm2
jmp 0x42a65e
cmp ecx, 2
jne 0x42a65b
cmp edx, 0x70000
jne 0x42a65b
movaps xmm0, xmm3
jmp 0x42a65e
movaps xmm0, xmm4
movsd qword [ebp - 0xc0], xmm0
mov ecx, dword [ebp - 0x34]
cmp eax, 0xfffff
jb 0x42a691
ja 0x42a677
cmp ecx, 0xffffffff
jbe 0x42a691
not ecx
not eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
movsd xmm1, qword [ebp - 0xc8]
jmp 0x42a6bd
test ecx, ecx
jne 0x42a6a1
cmp eax, 0x70000
jne 0x42a6a1
movaps xmm1, xmm2
jmp 0x42a6b5
cmp ecx, 2
jne 0x42a6b2
cmp eax, 0x70000
jne 0x42a6b2
movaps xmm1, xmm3
jmp 0x42a6b5
movaps xmm1, xmm4
movsd qword [ebp - 0xc8], xmm1
mulsd xmm0, xmm1
movaps xmm1, xmm0
mov ecx, esi
call fcn.00414ba4
mov dword [edi - 0x10], eax
mov dword [edi - 0xc], edx
mov edi, dword [ebp - 0x1c]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea edx, [edi - 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x1c], edx
cmp eax, 0xfffff
ja case.0x427a9f.159
jb 0x42a6fc
cmp dword [edi - 0x10], 0xffffffff
ja case.0x427a9f.159
shr eax, 0x10
cmp eax, 1
jne case.0x427a9f.159
cmp ecx, 0xfffff
ja case.0x427a9f.159
jb 0x42a71f
cmp dword [edx], 0xffffffff
ja case.0x427a9f.159
shr ecx, 0x10
cmp ecx, 1
jne case.0x427a9f.159
mov eax, dword [ebp - 0x50]
test byte [eax + 0x28], 4
jne case.0x427a9f.159
movd xmm1, dword [edi - 0x10]
movd xmm0, dword [edx]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
divsd xmm1, xmm0
cvttsd2si ecx, xmm1
movsd qword [ebp - 0x30], xmm1
mov eax, dword [ebp - 0x30]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x58], xmm0
cmp eax, dword [ebp - 0x58]
jne 0x42a77d
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x54]
jne 0x42a77d
xor edx, edx
or edx, 0x10000
jmp 0x42a786
mov ecx, esi
call fcn.00414ba4
mov ecx, eax
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], edx
mov edi, dword [ebp - 0x1c]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [ecx]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1c], edx
cmp eax, 0xfffff
ja case.0x427a9f.159
jb 0x42a7b4
cmp dword [edi - 0x10], 0xffffffff
ja case.0x427a9f.159
shr eax, 0x10
cmp eax, 1
jne case.0x427a9f.159
cmp ecx, 0xfffff
ja case.0x427a9f.159
jb 0x42a7cb
cmp edx, 0xffffffff
ja case.0x427a9f.159
shr ecx, 0x10
cmp ecx, 1
jne case.0x427a9f.159
cmp dword [edi - 0x10], 0
jl case.0x427a9f.159
test edx, edx
jle case.0x427a9f.159
mov eax, dword [edi - 0x10]
cdq
idiv dword [ebp - 0x1c]
xor eax, eax
or eax, 0x10000
mov dword [edi - 0x10], edx
mov dword [edi - 0xc], eax
mov edi, dword [ebp - 0x2c]
jmp 0x4282e8
push dword [ebp - 0x44]
mov edx, edi
mov ecx, esi
call fcn.00423529
pop ecx
test eax, eax
jne 0x42b78e
push 8
pop eax
sub edi, eax
jmp 0x4282e8
mov eax, dword [edi - 4]
cmp eax, 0xfffff
ja 0x42b6a1
jb 0x42a832
cmp dword [edi - 8], 0xffffffff
ja 0x42b6a1
shr eax, 0x10
cmp eax, 1
je 0x42b6a1
cmp eax, 7
je 0x42b6a1
push 0x8d
mov edx, edi
mov ecx, esi
call fcn.0042291e
jmp 0x4289c7
mov eax, dword [edi - 4]
mov ecx, dword [edi - 8]
cmp eax, 0xfffff
jb 0x42a888
ja 0x42a86e
cmp ecx, 0xffffffff
jbe 0x42a888
not ecx
not eax
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
movsd xmm0, qword [ebp - 0xd0]
jmp 0x42a8e5
mov edx, eax
shr edx, 0x10
cmp edx, 1
jne 0x42a8b4
test ecx, ecx
je 0x42a8e8
cmp ecx, 0x80000000
jne 0x42a8a3
movaps xmm0, xmm1
jmp 0x42a8e8
neg ecx
xor eax, eax
or eax, 0x10000
mov dword [edi - 8], ecx
jmp 0x4288d7
cmp edx, 7
jne 0x42a8fd
test ecx, ecx
jne 0x42a8c9
cmp eax, 0x70000
jne 0x42a8c9
movaps xmm0, xmm2
jmp 0x42a8dd
cmp ecx, 2
jne 0x42a8da
cmp eax, 0x70000
jne 0x42a8da
movaps xmm0, xmm3
jmp 0x42a8dd
movaps xmm0, xmm4
movsd qword [ebp - 0xd0], xmm0
xorps xmm0, xmm5
movaps xmm1, xmm0
mov ecx, esi
call fcn.00414ba4
mov dword [edi - 8], eax
mov dword [edi - 4], edx
jmp 0x42b69e
push 0x8c
jmp 0x42a84c
mov eax, dword [edi - 4]
mov ecx, dword [edi - 8]
cmp eax, 0xfffff
ja 0x42a941
jb 0x42a91b
cmp ecx, 0xffffffff
ja 0x42a941
shr eax, 0x10
cmp eax, 1
jne 0x42a941
cmp ecx, 0x7fffffff
je 0x42a941
lea eax, [ecx + 1]
xor ecx, ecx
mov dword [edi - 8], eax
or ecx, 0x10000
mov dword [edi - 4], ecx
jmp 0x42b6a1
push 0x8f
jmp 0x42a84c
mov eax, dword [edi - 4]
mov ecx, dword [edi - 8]
cmp eax, 0xfffff
ja 0x42a974
jb 0x42a95f
cmp ecx, 0xffffffff
ja 0x42a974
shr eax, 0x10
cmp eax, 1
jne 0x42a974
cmp ecx, 0x80000000
je 0x42a974
lea eax, [ecx - 1]
jmp 0x42a92e
push 0x8e
jmp 0x42a84c
push ecx
mov edx, edi
mov ecx, esi
call fcn.00422b4f
pop ecx
jmp 0x429538
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
movzx edx, byte [ecx]
inc ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], edx
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], eax
cmp eax, 0xfffff
ja 0x42a9f1
jb 0x42a9c2
cmp ecx, 0xffffffff
ja 0x42a9f1
shr eax, 0x10
cmp eax, 1
jne 0x42a9ee
cmp ecx, 0x7fffffff
je 0x42a9ee
lea eax, [ecx + 1]
mov edi, dword [ebp - 0x24]
xor ecx, ecx
or ecx, 0x10000
mov dword [edi + edx*8], eax
mov eax, edi
mov dword [eax + edx*8 + 4], ecx
jmp 0x427ac4
mov eax, dword [ebp - 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.00411662
mov dword [ebp - 0x8c], edx
mov ecx, esi
push 0x8f
lea edx, [ebp - 0x88]
mov dword [ebp - 0x90], eax
call fcn.0042291e
add esp, 0xc
test eax, eax
jne 0x42b78e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx + eax*8]
mov edx, dword [ecx + eax*8 + 4]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x24]
mov dword [esi + edi*8], eax
mov eax, edi
mov edi, esi
mov dword [edi + eax*8 + 4], ecx
jmp 0x428a82
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
movzx edx, byte [ecx]
inc ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], edx
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], eax
cmp eax, 0xfffff
ja 0x42aaa4
jb 0x42aa89
cmp ecx, 0xffffffff
ja 0x42aaa4
shr eax, 0x10
cmp eax, 1
jne 0x42aaa1
cmp ecx, 0x80000000
je 0x42aaa1
lea eax, [ecx - 1]
jmp 0x42a9d5
mov eax, dword [ebp - 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.00411662
mov dword [ebp - 0x94], edx
mov ecx, esi
push 0x8e
lea edx, [ebp - 0x90]
mov dword [ebp - 0x98], eax
call fcn.0042291e
add esp, 0xc
test eax, eax
jne 0x42b78e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx + eax*8]
mov edx, dword [ecx + eax*8 + 4]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
jmp 0x42aa3c
mov eax, dword [edi - 4]
mov ecx, dword [edi - 8]
cmp eax, 0xfffff
ja 0x42ab1e
jb 0x42ab08
cmp ecx, 0xffffffff
ja 0x42ab1e
shr eax, 0x10
cmp eax, 1
jne 0x42ab1e
xor eax, eax
not ecx
or eax, 0x10000
jmp 0x4297c3
mov edx, edi
mov ecx, esi
call fcn.00422bb5
jmp 0x4289c8
mov eax, dword [edi - 0x10]
lea edx, [edi - 8]
mov ecx, dword [edx]
mov dword [ebp - 0x14], eax
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x54], edx
mov edx, dword [edx + 4]
mov dword [ebp - 0x2c], ecx
cmp eax, 0xfffff
ja 0x42abb4
jb 0x42ab52
cmp dword [ebp - 0x14], 0xffffffff
ja 0x42abb4
shr eax, 0x10
cmp eax, 1
jne 0x42abb4
cmp edx, 0xfffff
ja 0x42abb4
jb 0x42ab69
cmp ecx, 0xffffffff
ja 0x42abb4
shr edx, 0x10
cmp edx, 1
jne 0x42abb4
mov eax, dword [ebp - 0x50]
test byte [eax + 0x28], 4
je 0x42ab9d
cmp ecx, 0x1f
ja 0x42abb4
mov eax, dword [ebp - 0x14]
xor edx, edx
call fcn.00492e00
mov ecx, eax
mov dword [ebp - 0x1c], edx
cdq
cmp eax, ecx
jne 0x42abb4
cmp edx, dword [ebp - 0x1c]
jne 0x42abb4
mov ecx, dword [ebp - 0x2c]
jmp 0x42aba0
and ecx, 0x1f
mov edx, dword [ebp - 0x14]
xor eax, eax
shl edx, cl
or eax, 0x10000
mov dword [edi - 0x10], edx
mov dword [edi - 0xc], eax
jmp 0x42abcb
push 0xa0
mov edx, edi
mov ecx, esi
call fcn.00423fd2
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x54]
jmp 0x4282e8
mov ecx, dword [edi - 0xc]
lea edx, [edi - 8]
mov eax, dword [edi - 0x10]
mov dword [ebp - 0x2c], edx
mov edx, dword [edx]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 4]
cmp ecx, 0xfffff
ja 0x42ac54
jb 0x42abf9
cmp eax, 0xffffffff
ja 0x42ac54
shr ecx, 0x10
cmp ecx, 1
jne 0x42ac54
cmp edx, 0xfffff
ja 0x42ac54
mov ecx, dword [ebp - 0x1c]
jb 0x42ac13
cmp ecx, 0xffffffff
ja 0x42ac54
shr edx, 0x10
cmp edx, 1
jne 0x42ac54
and ecx, 0x1f
shr eax, cl
cmp eax, 0x7fffffff
ja 0x42ac31
xor edx, edx
or edx, 0x10000
jmp 0x42ac4c
movd xmm0, eax
mov ecx, esi
cvtdq2pd xmm1, xmm0
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x4b4c40]
call fcn.00414ba4
mov dword [edi - 0x10], eax
mov dword [edi - 0xc], edx
jmp 0x42ac65
mov edx, edi
mov ecx, esi
call fcn.00424e83
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x2c]
jmp 0x4282e8
mov eax, dword [edi - 0x10]
lea edx, [edi - 8]
mov ecx, dword [edx]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x2c], edx
mov edx, dword [edx + 4]
cmp eax, 0xfffff
ja 0x42acd4
jb 0x42ac90
cmp dword [ebp - 0x1c], 0xffffffff
ja 0x42acd4
shr eax, 0x10
cmp eax, 1
jne 0x42acd4
cmp edx, 0xfffff
ja 0x42acd4
jb 0x42aca7
cmp ecx, 0xffffffff
ja 0x42acd4
shr edx, 0x10
cmp edx, 1
jne 0x42acd4
cmp ecx, 0x1f
jbe 0x42acc0
mov eax, dword [ebp - 0x50]
test byte [eax + 0x28], 4
jne 0x42acd4
and ecx, 0x1f
mov edx, dword [ebp - 0x1c]
xor eax, eax
sar edx, cl
or eax, 0x10000
mov dword [edi - 0x10], edx
mov dword [edi - 0xc], eax
jmp 0x42aceb
push 0xa1
mov edx, edi
mov ecx, esi
call fcn.00423fd2
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x2c]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42ad43
jb 0x42ad10
cmp edx, 0xffffffff
ja 0x42ad43
shr eax, 0x10
cmp eax, 1
jne 0x42ad43
cmp ecx, 0xfffff
ja 0x42ad43
mov eax, dword [ebp - 0x14]
jb 0x42ad2a
cmp dword [eax], 0xffffffff
ja 0x42ad43
shr ecx, 0x10
cmp ecx, 1
jne 0x42ad43
and edx, dword [eax]
xor eax, eax
or eax, 0x10000
mov dword [edi - 0x10], edx
mov dword [edi - 0xc], eax
jmp 0x42ad5a
push 0xad
mov edx, edi
mov ecx, esi
call fcn.00423fd2
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42adb2
jb 0x42ad7f
cmp edx, 0xffffffff
ja 0x42adb2
shr eax, 0x10
cmp eax, 1
jne 0x42adb2
cmp ecx, 0xfffff
ja 0x42adb2
mov eax, dword [ebp - 0x14]
jb 0x42ad99
cmp dword [eax], 0xffffffff
ja 0x42adb2
shr ecx, 0x10
cmp ecx, 1
jne 0x42adb2
or edx, dword [eax]
xor eax, eax
or eax, 0x10000
mov dword [edi - 0x10], edx
mov dword [edi - 0xc], eax
jmp 0x42adc9
push 0xaf
mov edx, edi
mov ecx, esi
call fcn.00423fd2
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42ae21
jb 0x42adee
cmp edx, 0xffffffff
ja 0x42ae21
shr eax, 0x10
cmp eax, 1
jne 0x42ae21
cmp ecx, 0xfffff
ja 0x42ae21
mov eax, dword [ebp - 0x14]
jb 0x42ae08
cmp dword [eax], 0xffffffff
ja 0x42ae21
shr ecx, 0x10
cmp ecx, 1
jne 0x42ae21
xor edx, dword [eax]
xor eax, eax
or eax, 0x10000
mov dword [edi - 0x10], edx
mov dword [edi - 0xc], eax
jmp 0x42ae38
push 0xae
mov edx, edi
mov ecx, esi
call fcn.00423fd2
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42ae95
jb 0x42ae5d
cmp edx, 0xffffffff
ja 0x42ae95
shr eax, 0x10
cmp eax, 1
jne 0x42ae95
cmp ecx, 0xfffff
ja 0x42ae95
mov eax, dword [ebp - 0x14]
jb 0x42ae77
cmp dword [eax], 0xffffffff
ja 0x42ae95
shr ecx, 0x10
cmp ecx, 1
jne 0x42ae95
xor ecx, ecx
cmp edx, dword [eax]
setl cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
jmp 0x42aeac
push 0xa3
mov edx, edi
mov ecx, esi
call fcn.004244bb
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42af09
jb 0x42aed1
cmp edx, 0xffffffff
ja 0x42af09
shr eax, 0x10
cmp eax, 1
jne 0x42af09
cmp ecx, 0xfffff
ja 0x42af09
mov eax, dword [ebp - 0x14]
jb 0x42aeeb
cmp dword [eax], 0xffffffff
ja 0x42af09
shr ecx, 0x10
cmp ecx, 1
jne 0x42af09
xor ecx, ecx
cmp edx, dword [eax]
setle cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
jmp 0x42af20
push 0xa4
mov edx, edi
mov ecx, esi
call fcn.004244bb
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42af7d
jb 0x42af45
cmp edx, 0xffffffff
ja 0x42af7d
shr eax, 0x10
cmp eax, 1
jne 0x42af7d
cmp ecx, 0xfffff
ja 0x42af7d
mov eax, dword [ebp - 0x14]
jb 0x42af5f
cmp dword [eax], 0xffffffff
ja 0x42af7d
shr ecx, 0x10
cmp ecx, 1
jne 0x42af7d
xor ecx, ecx
cmp edx, dword [eax]
setg cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
jmp 0x42af94
push 0xa5
mov edx, edi
mov ecx, esi
call fcn.004244bb
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42aff1
jb 0x42afb9
cmp edx, 0xffffffff
ja 0x42aff1
shr eax, 0x10
cmp eax, 1
jne 0x42aff1
cmp ecx, 0xfffff
ja 0x42aff1
mov eax, dword [ebp - 0x14]
jb 0x42afd3
cmp dword [eax], 0xffffffff
ja 0x42aff1
shr ecx, 0x10
cmp ecx, 1
jne 0x42aff1
xor ecx, ecx
cmp edx, dword [eax]
setge cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
jmp 0x42b008
push 0xa6
mov edx, edi
mov ecx, esi
call fcn.004244bb
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42b065
jb 0x42b02d
cmp edx, 0xffffffff
ja 0x42b065
shr eax, 0x10
cmp eax, 1
jne 0x42b065
cmp ecx, 0xfffff
ja 0x42b065
mov eax, dword [ebp - 0x14]
jb 0x42b047
cmp dword [eax], 0xffffffff
ja 0x42b065
shr ecx, 0x10
cmp ecx, 1
jne 0x42b065
xor ecx, ecx
cmp edx, dword [eax]
sete cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
jmp 0x42b079
push 0
mov edx, edi
mov ecx, esi
call fcn.00424974
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42b0d6
jb 0x42b09e
cmp edx, 0xffffffff
ja 0x42b0d6
shr eax, 0x10
cmp eax, 1
jne 0x42b0d6
cmp ecx, 0xfffff
ja 0x42b0d6
mov eax, dword [ebp - 0x14]
jb 0x42b0b8
cmp dword [eax], 0xffffffff
ja 0x42b0d6
shr ecx, 0x10
cmp ecx, 1
jne 0x42b0d6
xor ecx, ecx
cmp edx, dword [eax]
setne cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
jmp 0x42b0ea
push 1
mov edx, edi
mov ecx, esi
call fcn.00424974
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42b147
jb 0x42b10f
cmp edx, 0xffffffff
ja 0x42b147
shr eax, 0x10
cmp eax, 1
jne 0x42b147
cmp ecx, 0xfffff
ja 0x42b147
mov eax, dword [ebp - 0x14]
jb 0x42b129
cmp dword [eax], 0xffffffff
ja 0x42b147
shr ecx, 0x10
cmp ecx, 1
jne 0x42b147
xor ecx, ecx
cmp edx, dword [eax]
sete cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
jmp 0x42b15b
push 0
mov edx, edi
mov ecx, esi
call fcn.0042542c
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [edi - 0xc]
lea ecx, [edi - 8]
mov edx, dword [edi - 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 4]
cmp eax, 0xfffff
ja 0x42b1b8
jb 0x42b180
cmp edx, 0xffffffff
ja 0x42b1b8
shr eax, 0x10
cmp eax, 1
jne 0x42b1b8
cmp ecx, 0xfffff
ja 0x42b1b8
mov eax, dword [ebp - 0x14]
jb 0x42b19a
cmp dword [eax], 0xffffffff
ja 0x42b1b8
shr ecx, 0x10
cmp ecx, 1
jne 0x42b1b8
xor ecx, ecx
cmp edx, dword [eax]
setne cl
xor eax, eax
or eax, 0x20000
mov dword [edi - 0x10], ecx
mov dword [edi - 0xc], eax
jmp 0x42b1cc
push 1
mov edx, edi
mov ecx, esi
call fcn.0042542c
pop ecx
test eax, eax
jne 0x42b78e
mov edi, dword [ebp - 0x14]
jmp 0x4282e8
mov eax, dword [ebp - 0x5c]
push edi
push esi
call dword [eax + 0x14c]
pop ecx
jmp 0x42a805
mov edx, edi
mov ecx, esi
call fcn.0042546a
jmp 0x42a806
mov edx, edi
mov ecx, esi
call fcn.004255b7
jmp 0x42a806
mov eax, dword [edi - 8]
mov ecx, esi
mov edi, dword [edi - 4]
push edi
push eax
mov dword [ebp - 0x1c], eax
call fcn.00425628
mov ecx, dword [ebp - 0x18]
mov esi, eax
push edi
push dword [ebp - 0x1c]
call fcn.004105f5
mov edx, esi
mov esi, dword [ebp - 0x18]
push 1
mov ecx, esi
call fcn.00416594
mov edi, dword [ebp - 8]
add esp, 0x14
jmp 0x42a8f2
mov edx, edi
mov ecx, esi
call fcn.004256c8
jmp 0x42a806
mov ecx, dword [ebp - 0xc]
push 0
push dword [esi + 0xcc]
mov edx, dword [ecx]
add ecx, 4
push dword [esi + 0xc8]
mov dword [ebp - 0xc], ecx
mov ecx, esi
call fcn.0041ea5d
add esp, 0xc
jmp 0x428900
cmp dword [edi - 4], 0xfffff
ja 0x42b292
jb 0x42b281
cmp dword [edi - 8], 0xffffffff
ja 0x42b292
mov eax, dword [edi - 4]
push 8
shr eax, 0x10
pop ecx
cmp eax, ecx
je 0x42b6a1
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004423a4
jmp 0x428899
cmp dword [edi - 4], 0xfffff
ja 0x42b2d6
jb 0x42b2b5
cmp dword [edi - 8], 0xffffffff
ja 0x42b2d6
mov eax, dword [edi - 4]
shr eax, 0x10
sub eax, 1
je 0x42b6a1
sub eax, 0xa
je 0x42b6a1
sub eax, 1
je 0x42b6a1
push dword [edi - 4]
xor edx, edx
mov ecx, esi
push dword [edi - 8]
inc edx
call fcn.004210c2
jmp 0x428899
mov ecx, dword [edi - 0xc]
mov edx, dword [edi - 0x10]
cmp ecx, 0xfffff
ja 0x42b31a
jb 0x42b300
cmp edx, 0xffffffff
ja 0x42b31a
mov eax, ecx
shr eax, 0x10
cmp eax, 4
je 0x42b84b
shr ecx, 0x10
cmp ecx, 3
je 0x42b84b
cmp dword [edi - 4], 0xfffff
ja 0x42b2d6
jb 0x42b32b
cmp dword [edi - 8], 0xffffffff
ja 0x42b2d6
mov eax, dword [edi - 4]
shr eax, 0x10
sub eax, 1
je 0x42b69e
sub eax, 0xa
je 0x42b69e
sub eax, 1
je 0x42b69e
jmp 0x42b2d6
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [ebp - 0x54], eax
mov al, byte [ecx + 8]
add ecx, 9
mov byte [ebp - 0x61], al
lea eax, [edi - 8]
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [eax + 4]
push eax
mov dword [ebp - 0x14], ecx
push ecx
mov ecx, esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x3c], eax
call fcn.0041b8c1
pop ecx
pop ecx
test eax, eax
js 0x42b78e
je 0x42b5ac
cmp byte [ebp - 0x61], 0
je 0x42b3b8
push dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov ecx, esi
push dword [ebp - 0x14]
call fcn.00425537
pop ecx
pop ecx
test eax, eax
js 0x42b78e
jne 0x42b5ac
mov eax, dword [ebp - 0x44]
sub eax, 0x72
je 0x42b53e
sub eax, 1
je 0x42b4fc
sub eax, 1
je 0x42b4af
sub eax, 1
je 0x42b490
sub eax, 1
je 0x42b454
sub eax, 1
jne 0x42b59c
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x14]
push ecx
push eax
push ecx
push eax
mov ecx, esi
call fcn.0041a710
mov ecx, eax
add esp, 0x14
mov eax, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffff
ja 0x42b429
jb 0x42b41d
cmp ecx, 0xffffffff
ja 0x42b429
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov edx, dword [ebp - 0x4c]
mov ecx, esi
push dword [edx + 4]
push dword [edx]
call fcn.004105f5
mov eax, dword [ebp - 0x4c]
pop ecx
pop ecx
and dword [eax], 0
mov dword [eax + 4], 0x40000
mov eax, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x2c]
mov dword [edi + 4], eax
jmp 0x42b4a2
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
push 0
push ecx
push eax
push ecx
push eax
mov ecx, esi
call fcn.0041a710
add esp, 0x14
mov ecx, eax
cmp edx, 0xfffff
ja 0x42b48c
jb 0x42b47e
cmp ecx, 0xffffffff
ja 0x42b48c
mov eax, edx
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov dword [edi], ecx
jmp 0x42b49f
mov edx, dword [ebp - 0x34]
mov ecx, esi
push 0
call fcn.00416594
pop ecx
mov dword [edi], eax
mov dword [edi + 4], edx
push 8
pop eax
add edi, eax
mov dword [ebp - 8], edi
jmp 0x42b59c
mov edx, dword [ebp - 0x34]
mov ecx, esi
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x14]
call fcn.0041ea5d
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
js 0x42b78e
mov eax, dword [ebp - 0x4c]
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.004105f5
mov edx, dword [ebp - 0x4c]
pop ecx
pop ecx
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
setne cl
xor eax, eax
or eax, 0x20000
mov dword [edx], ecx
mov dword [edx + 4], eax
jmp 0x42b59c
mov edx, dword [ebp - 0x34]
add edi, 0xfffffff0
push 0x8000
mov ecx, esi
mov dword [ebp - 8], edi
push dword [edi + 4]
push dword [edi]
push dword [ebp - 0x3c]
push dword [ebp - 0x14]
call fcn.0041c990
mov ecx, dword [ebp - 0x18]
mov esi, eax
mov eax, dword [ebp - 0x4c]
push dword [eax + 4]
push dword [eax]
call fcn.004105f5
add esp, 0x1c
test esi, esi
js 0x42b78e
mov esi, dword [ebp - 0x18]
jmp 0x42b59c
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
push 0
push ecx
push eax
push ecx
push eax
mov ecx, esi
call fcn.0041a710
mov ecx, eax
add esp, 0x14
mov eax, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffff
ja 0x42b57b
jb 0x42b56f
cmp ecx, 0xffffffff
ja 0x42b57b
shr eax, 0x10
cmp eax, 6
je 0x42b78e
mov edx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov ecx, dword [edx]
push eax
mov dword [edx], edi
mov edi, dword [ebp - 0x2c]
push ecx
mov ecx, esi
mov dword [edx + 4], edi
call fcn.004105f5
mov edi, dword [ebp - 8]
pop ecx
pop ecx
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0xc]
add eax, 0xfffffffb
add edx, eax
jmp 0x42b6a1
mov edi, dword [ebp - 0x4c]
jmp 0x428a18
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
add edx, 4
mov dword [ebp - 0xc], edx
mov ecx, dword [ecx]
cmp dword [ebp - 0x60], esi
jne case.0x427a9f.182
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x42b6a1
mov edi, dword [ebp - 0x10]
test byte [edi + 0x16], 4
mov edi, dword [ebp - 8]
je 0x42b6a1
mov edi, dword [ebp - 0x10]
cmp dword [edi + 0x44], 0
mov edi, dword [ebp - 8]
je 0x42b6a1
push 0
push edx
push ecx
mov ecx, dword [ebp - 0x10]
push dword [ecx + 0x44]
push dword [ebp - 0x60]
call eax
add esp, 0x14
jmp 0x42b69e
mov ecx, dword [ebp - 0x10]
mov edx, ecx
mov eax, dword [ebp - 0xc]
sub eax, dword [ecx + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.004198fe
pop ecx
mov ecx, dword [ebp - 0x60]
inc eax
cmp ecx, esi
jne 0x42b69e
mov ecx, dword [ecx + 0x10c]
test ecx, ecx
je 0x42b69e
mov edx, dword [ebp - 0x10]
test byte [edx + 0x16], 4
je 0x42b69e
cmp dword [edx + 0x44], 0
je 0x42b69e
push 1
push dword [ebp - 0xc]
push eax
push dword [edx + 0x44]
push dword [ebp - 0x60]
call ecx
jmp 0x42b60b
mov eax, dword [edi - 4]
cmp eax, 0xfffff
ja 0x42b684
jb 0x42b66b
cmp dword [edi - 8], 0xffffffff
ja 0x42b684
and dword [ebp - 0x1c], 0
shr eax, 0x10
cmp eax, 4
je 0x42b75a
cmp eax, 3
je 0x42b75a
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
and dword [edi - 8], 0
mov dword [edi - 4], 0x20000
pop ecx
pop ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
movzx ecx, byte [edx]
inc edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0xc], edx
cmp ecx, 0xf8
ja case.0x427a9f.0
movsd xmm2, qword [ebp - 0xe0]
movsd xmm3, qword [ebp - 0xe8]
movsd xmm4, qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0xf8]
movsd xmm1, qword [ebp - 0x100]
movsd xmm5, qword [ebp - 0x110]
jmp switch.0x00427a9f
mov eax, dword [edi - 4]
cmp eax, 0xfffff
ja 0x42b684
jb 0x42b701
cmp dword [edi - 8], 0xffffffff
ja 0x42b684
shr eax, 0x10
cmp eax, 4
je 0x42b75a
jmp 0x42b684
mov eax, dword [edi - 4]
cmp eax, 0xfffff
ja 0x42b684
jb 0x42b728
cmp dword [edi - 8], 0xffffffff
ja 0x42b684
shr eax, 0x10
cmp eax, 3
jmp 0x42b707
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00425628
cmp eax, 0x4a
pop ecx
pop ecx
jne 0x42b684
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.004105f5
mov edx, dword [ebp - 0xc]
pop ecx
pop ecx
mov dword [edi - 8], 1
mov dword [edi - 4], 0x20000
jmp 0x42b6a1
push dword [edi - 4]
mov ecx, esi
push dword [edi - 8]
call fcn.00425628
cmp eax, 0x1b
jmp 0x42b740
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x3c]
call fcn.004105f5
pop ecx
pop ecx
mov esi, dword [ebp - 8]
jmp 0x42b932
push str.derived_class_constructor_must_return_an_object_or_undefined
push dword [ebp - 0x60]
call fcn.00419e81
jmp 0x42b78c
call fcn.0041a01d
jmp 0x42b78e
push 1
push dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov ecx, esi
call fcn.0041a0a4
jmp 0x42b78c
push 0
push edx
jmp 0x42b7b1
mov ecx, dword [ebp - 0x5c]
call fcn.00418dda
jmp 0x42b78e
push str.invalid_ret_value
push esi
call fcn.00419fc5
jmp 0x42b78c
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 8], esi
jmp 0x42b932
push str.iterator_close_return
push esi
call fcn.00419fc5
mov eax, dword [ebp - 0x1c]
mov ecx, esi
push eax
push dword [ebp - 0x2c]
call fcn.004105f5
add esp, 0x10
jmp 0x42b78e
call fcn.0041b9ed
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42b78e
mov edx, edi
mov ecx, esi
call fcn.0041a01d
cmp edi, 0xe7
jl 0x42b78e
mov ecx, dword [esi + 0x14]
mov edx, edi
call fcn.00416252
jmp 0x42b78e
push dword [edi - 0xc]
mov ecx, esi
push dword [edi - 0x10]
jmp 0x42b802
push str.not_an_object
jmp 0x4285f0
push str.value_has_no_property
jmp 0x4285f0
mov esi, dword [esi + 0x14]
mov ecx, dword [ebp - 0x18]
push 8
pop eax
push dword [esi + 0x84]
sub edi, eax
push dword [esi + 0x80]
mov dword [ebp - 8], edi
mov eax, dword [ebp - 8]
mov edi, dword [edi]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
call fcn.004105f5
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x80], edi
mov dword [esi + 0x84], eax
jmp 0x42b78c
mov edi, dword [ebp - 0xc]
mov al, byte [edi + 4]
mov edx, dword [edi]
add edi, 5
movzx ecx, al
mov dword [ebp - 0xc], edi
test al, al
jne 0x42b8ba
push edx
mov edx, 0x4000
mov ecx, esi
call fcn.00419f58
jmp 0x42b78d
cmp al, 1
jne 0x42b8d4
push 0x4af8d8
push str.redeclaration_of__s
push edx
push esi
call fcn.00419f19
jmp 0x42b7fd
cmp al, 2
jne 0x42b8e4
mov ecx, esi
call fcn.0041a05a
jmp 0x42b78e
cmp al, 3
jne 0x42b8f2
push str.unsupported_reference_to_super
jmp 0x4291c2
cmp al, 4
jne 0x42b900
push str.iterator_does_not_have_a_throw_method
jmp 0x4285f0
push ecx
push str.invalid_throw_var_type__d
push esi
call fcn.00419fc5
add esp, 0xc
jmp 0x42b78e
mov eax, dword [ebp - 0xc]
push ecx
mov ecx, dword [ebp - 0x10]
sub eax, dword [ecx + 0x18]
dec eax
push eax
push str.invalid_opcode:_pc_u_opcode0x_02x
push esi
call fcn.00419fc5
jmp 0x42b7fd
mov esi, edi
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x18]
push dword [ecx + 0x84]
push dword [ecx + 0x80]
mov ecx, edi
call fcn.00419ce7
pop ecx
pop ecx
test eax, eax
je 0x42b979
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov eax, dword [ebp - 0xc]
push 0
push 0
mov dword [ecx + 0x20], eax
mov ecx, edi
mov eax, dword [ebp - 0x5c]
push dword [eax + 0x84]
push dword [eax + 0x80]
call fcn.00419a80
add esp, 0x10
mov eax, dword [ebp - 0x5c]
mov ecx, edi
push dword [eax + 0x84]
push dword [eax + 0x80]
call fcn.0041ec56
pop ecx
pop ecx
test eax, eax
jne 0x42bb1d
mov dword [ebp - 0x54], esi
cmp esi, dword [ebp - 0x70]
jbe 0x42bb1d
push 8
pop eax
sub esi, eax
mov dword [ebp - 8], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push eax
mov dword [ebp - 0x1c], ecx
push ecx
mov ecx, edi
mov dword [ebp - 0x2c], eax
call fcn.004105f5
mov eax, dword [ebp - 0x2c]
pop ecx
pop ecx
cmp eax, 0xfffff
ja 0x42b999
mov edx, dword [ebp - 0x1c]
jb 0x42b9d7
cmp edx, 0xffffffff
ja 0x42b999
shr eax, 0x10
cmp eax, 5
jne 0x42b999
test edx, edx
jne 0x42ba0a
push dword [esi - 4]
add esi, 0xfffffff8
mov ecx, edi
mov dword [ebp - 8], esi
push dword [esi]
call fcn.004105f5
push dword [esi - 4]
xor edx, edx
mov ecx, edi
push dword [esi - 8]
inc edx
call fcn.0042636b
add esp, 0x10
jmp 0x42b999
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x54]
movsd xmm2, qword [ebp - 0xe0]
movsd xmm3, qword [ebp - 0xe8]
mov eax, dword [ecx + 0x80]
mov ecx, dword [ecx + 0x84]
movsd xmm4, qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0xf8]
movsd xmm1, qword [ebp - 0x100]
movsd xmm5, qword [ebp - 0x110]
mov dword [esi], eax
mov eax, dword [ebp - 0x5c]
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0x18]
mov dword [ebp - 8], edi
and dword [eax + 0x80], 0
mov dword [eax + 0x84], 0x30000
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
add ecx, edx
mov dword [ebp - 0xc], ecx
jmp 0x427a86
push 8
pop eax
sub edi, eax
mov dword [ebp - 8], edi
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x34], ecx
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x50]
lea eax, [edx + 0x18]
cmp dword [eax + 4], eax
je 0x42baa7
mov ecx, dword [ebp - 0x5c]
call fcn.00427209
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x74]
cmp eax, esi
jae 0x42bad1
push dword [eax + 4]
mov ecx, edi
push dword [eax]
call fcn.004105f5
mov eax, dword [ebp - 0x74]
pop ecx
pop ecx
push 8
pop ecx
add eax, ecx
mov dword [ebp - 0x74], eax
cmp eax, esi
jb 0x42bab1
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [edx]
mov edx, dword [ebp - 0x34]
mov dword [ecx + 0x8c], eax
mov eax, dword [ebp - 0x4c]
jmp 0x42bb53
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x34], 0x40000
jmp 0x42ba8e
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x34], 0x10000
jmp 0x42bb35
mov dword [ebp - 0x4c], 1
jmp 0x42baf5
mov dword [ebp - 0x4c], 2
jmp 0x42baf5
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x34], 0x40000
jmp 0x42bb35
mov eax, dword [ebp - 0x10]
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x34], 0x60000
test byte [eax + 0x15], 0x30
je 0x42ba91
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x2c], eax
jmp 0x42bad1
push str.not_a_function
push esi
call fcn.00419e81
pop ecx
pop ecx
lea esp, [ebp - 0x160]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046cdfd
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0047293b
nop dword [eax]
adc al, 0xb9
inc edx
add byte [esi - 0x33ffbd86], ah
jp 0x42bbc1
add bh, cl
add dword [edx], case.0x427a9f.4
push 0x7b004298
jl 4373457
add byte [ebp - 0x60ffbd84], cl
jl 0x42bbd9
add byte [eax], ah
jge 0x42bbdd
add byte [edx], dh
jge 0x42bbe1
add byte [ecx + 0x7d], bl
inc edx
add byte [edx + 0x7d], dh
inc edx
add byte [edi + 0x7e], bl
inc edx
add byte [ebp + 0x7e], bh
inc edx
add byte [ecx - 0x3cffbd82], bl
jle 0x42bbf9
add bl, bh
jle 0x42bbfd
add byte [esi + 0x7f], bh
inc edx
add byte [esi], al
jg 0x42bc05
add byte [ecx], bh
jg 0x42bc09
add byte [esi - 0x21ffbd81], ah
jg 0x42bc11
add byte [edx], ah
and al, byte [eax - 0x7f8dffbe]
inc edx
add bh, dh
add byte [edx], 0x72
add byte [edx], 0xf7
add byte [edx], 0x28
add dword [edx], case.0x427a9f.27
jns 0x42bb67
add dword [edx], case.0x427a9f.28
xchg ebp, eax
add byte [edx], 227
inc edx
add byte [ebp - 0x1cffbd80], dl
add bl, ah
add byte [edx], 0xbb
add byte [edx], 0xcf
add byte [edx], 0xf0
add byte [edx], 0x3b
add byte [edx], 0x3b
add byte [edx], 0x9b
add dword [edx], 0xffffff9b
add dword [edx], 0x53
test byte [edx], al
test byte [edx], al
test byte [edx], al
jnp 0x42bbd0
inc edx
add ah, ah
mov edx, 0x85790042
inc edx
add dl, al
test dword [edx], eax
test byte [ebp - 0x79e6ffbe], 0x42
add byte [eax], dl
mov ebx, 0xb8550042
inc edx
add byte [ebx + 0x630042b8], dl
xchg byte [edx], al
pop ebx
xchg dword [edx], eax
pushal
mov byte [edx], al
mov word [eax - 0x7720ffbe], cs
inc edx
add dh, ch
mov byte [edx], al
sbb eax, 0x1d004289
mov dword [edx], eax
push ebp
mov dword [edx], eax
push ebp
mov dword [edx], eax
jns 0x42bbeb
inc edx
add byte [esp + ebx*4 - 0x6234ffbe], ah
inc edx
add ch, dl
mov dword [edx], eax
mov al, 0x89
inc edx
add dh, ch
mov dword [edx], eax
into
xchg edi, eax
inc edx
add dh, dh
xchg edi, eax
inc edx
add byte [esi], bl
cwde
inc edx
add byte [ecx - 0xcffbd68], al
cwde
inc edx
add byte [ecx], bh
cdq
inc edx
add byte [edi], ah
pushfd
inc edx
add byte [esi - 0x64], ah
inc edx
add byte [ebx - 0x12ffbd63], ah
pushfd
inc edx
add byte [eax - 0x62], ch
inc edx
add byte [esi - 0x67], ch
inc edx
add byte [edi - 0x41ffbd67], bl
cdq
inc edx
add cl, bl
cdq
inc edx
add byte [edx - 0x66], al
inc edx
add byte [edx], ah
lahf
inc edx
add byte [ebp - 0x61], dl
inc edx
add byte [ebx - 0x61], dh
inc edx
add byte [edx - 0x66], bl
inc edx
add byte [edx - 0x66], bl
inc edx
add bh, dh
wait
inc edx
add bh, dh
wait
inc edx
add byte [ebx], ch
mov al, byte [edx]
dec edi
mov al, byte [edx]
invalid