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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2318
call fcn.00649b30
mov dword [esp + 0x938], ecx
mov ecx, dword [edx + 0x54]
call 0x501616
pop eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], eax
test byte [ecx + 0x1c], 1
jne 0x5017a8
cmp byte [edx + 0x38], 3
lea ecx, [edx + 0x30]
mov eax, 0x76842c
cmovne eax, ecx
mov cl, byte [eax + 8]
cmp cl, 2
jne 0x5017b5
cmp byte [edx + 0x40], 0
je 0x5017a8
mov al, byte [edx + 0x3e]
mov dword [esp + 0x14d0], 4
cmp al, 2
sete cl
or cl, al
mov byte [esp + 0x24], cl
mov ecx, 0xa
mov dword [esp + 0x1010], ecx
mov dword [esp + 0x1014], ecx
xor ecx, ecx
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x1018], 0x64
mov dword [esp + 0x101c], 0xfa
mov byte [esp + 0x1020], 0
mov dword [esp + 0x14d4], ecx
mov dword [esp + 0x14d8], ecx
je 0x50178c
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x1618]
lea ebx, [eax*4]
mov ecx, esi
lea edx, [esp + 0x1010]
push dword [edi]
call fcn.0054d66c
add esp, 4
mov eax, dword [esp + 0x1618]
test eax, eax
je 0x501754
mov ecx, dword [esp + 0x1620]
xor edx, edx
mov dword [esp + 0x1620], edx
mov dword [esp + 0x97c], ecx
shl ecx, 4
mov dword [esp + 0x980], edx
mov dword [esp + 0x970], eax
add ecx, eax
cmp dword [esp + 0x14d0], edx
mov dword [esp + 0x974], ecx
mov dword [esp + 0x978], esi
je 0x50176d
lea esi, [esp + 0x14d0]
lea edx, [esp + 0x970]
mov ecx, esi
call fcn.0053acd5
cmp dword [esp + 0x14d0], 0
je 0x50174b
mov ecx, esi
call fcn.0053aea8
lea esi, [esp + 0x1618]
jmp 0x501779
lea ecx, [esp + 0x14d0]
call fcn.0051e80c
mov dword [esp + 0x14d0], 0
jmp 0x501779
lea ecx, [esp + 0x970]
call fcn.0053adbd
mov ecx, esi
add edi, 4
call fcn.0051e80c
add ebx, 0xfffffffc
jne 0x5016c6
test byte [esp + 0x24], 1
je 0x5017dd
xor edx, edx
lea ecx, [esp + 0x14d0]
inc edx
call fcn.0054ec24
mov edi, dword [esp + 0x28]
jmp 0x501802
mov byte [esp + 0x950], 2
jmp 0x501b13
mov esi, dword [eax]
lock inc dword [esi]
jle 0x51bf4f
mov eax, dword [eax + 4]
mov dword [esp + 0x948], esi
mov dword [esp + 0x94c], eax
mov byte [esp + 0x950], cl
jmp 0x501b13
mov ecx, dword [esp + 0x14d0]
mov edi, dword [esp + 0x28]
test ecx, ecx
je 0x501802
lea esi, [esp + 0x14d0]
mov edx, dword [esi + 8]
call fcn.004f537c
mov ecx, esi
call fcn.0053aea8
mov eax, dword [esp + 0x14d8]
movsd xmm0, qword [esp + 0x14d0]
movsd qword [esp + 0x1478], xmm0
mov dword [esp + 0x1480], eax
mov cl, byte [edi + 0x3e]
mov edx, dword [esp + 0x1478]
cmp cl, 2
setne al
test cl, 1
sete cl
test edx, edx
je 0x501aaf
mov edi, dword [esp + 0x1480]
and al, cl
mov esi, edx
mov ecx, edi
shl ecx, 4
test ecx, ecx
je 0x501865
add ecx, 0xfffffff0
cmp byte [esi + 0xc], 0
lea esi, [esi + 0x10]
jne 0x501850
jmp 0x501aaf
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x50], 1
jne 0x501aaf
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx]
cmp dword [ecx + 0x2c], 0
jne 0x501aaf
cmp dword [ecx + 0x18], 0
setne cl
or al, cl
jne 0x501aaf
lea esi, [esp + 0x1010]
mov ecx, esi
push edi
call fcn.0051d2f2
add esp, 4
mov bh, byte [esi + 0x18c]
cmp bh, 0xa
je 0x501aaf
lea edi, [esp + 0x1013]
lea esi, [esp + 0x1618]
mov al, byte [edi - 2]
mov bl, byte [edi - 3]
mov byte [esp + 0x24], al
mov al, byte [edi - 1]
mov byte [esp + 0x1c], al
push 0x189
push edi
push esi
call fcn.0064a810
add esp, 0xc
movzx eax, word [edi + 0x18a]
mov ecx, 4
mov word [esp + 0x1408], ax
mov al, byte [edi + 0x18c]
mov byte [esp + 0x140a], al
mov al, bh
add al, 0xfd
cmp al, 7
movzx eax, al
cmovb ecx, eax
movzx eax, cl
mov eax, dword [eax*4 + 0x51d13c]
add eax, dword [esp + 0x40]
jmp eax
mov ecx, dword [esp + 0x938]
mov dword [ecx + 4], esi
mov dword [ecx + 8], eax
mov dword [ecx], 2
lea ecx, [esp + 0x1478]
call fcn.0051e80c
jmp 0x514f31
cmp dword [ebp + 0xc], 1
jne 0x501ad8
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x50], 0
je 0x51bb27
mov eax, dword [eax + 0x48]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
jne 0x501ad8
cmp dword [eax + 0x2c], 0
je 0x518775
mov edx, dword [esp + 0x1478]
test edx, edx
je 0x501afb
lea ecx, [esp + 0x948]
push dword [esp + 0x1480]
call fcn.0051e838
add esp, 4
jmp 0x501b03
mov byte [esp + 0x950], 2
lea ecx, [esp + 0x1478]
call fcn.0051e80c
mov edx, dword [esp + 0x28]
lock inc dword [edx]
jle 0x51bf4f
mov cl, byte [esp + 0x950]
cmp cl, 2
mov byte [esp + 0x1c], cl
jne 0x501b36
mov byte [esp + 0x944], 2
jmp 0x501b66
mov esi, dword [esp + 0x948]
lock inc dword [esi]
jle 0x51bf4f
mov eax, dword [esp + 0x94c]
mov dword [esp + 0x93c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x940], eax
mov byte [esp + 0x944], cl
cmp byte [edx + 0x3c], 0
movzx eax, byte [edx + 0x3d]
mov ecx, 0xa
mov edi, dword [edx + 0x10]
mov ebx, 0xa00000
lea esi, [esp + 0x970]
cmovne ecx, eax
mov al, byte [edx + 0x3f]
mov dword [esp + 0x3c], ecx
movzx ecx, byte [edx + 0x46]
mov byte [esp + 0x24], al
xor eax, eax
inc eax
cmp edi, 2
mov dword [esp + 0x54], ecx
mov ecx, esi
cmovne ebx, dword [edx + 0x14]
mov dword [esp + 0x80], eax
cmove edi, eax
call fcn.004f6cfe
cmp byte [esp + 0x24], 0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x54], edi
mov dword [esp + 0x4c], ebx
mov edx, esi
setne byte [esi + 0xa]
setne byte [esp + 0x48]
xor eax, eax
cmp cl, 3
mov dword [esi], edi
lea edi, [esp + 0x1010]
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmovne eax, ecx
mov ecx, dword [esp + 0x3c]
mov byte [esi + 9], cl
mov byte [esi + 0xc], 0
mov byte [esi + 0xd], al
mov ecx, edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0051e878
add esp, 8
mov eax, dword [edi]
cmp eax, 0x2a
jne 0x501cd4
mov edi, dword [esp + 0x1014]
lea ecx, [esp + 0x970]
call fcn.004f7f0c
mov bl, byte [esp + 0x1c]
mov eax, dword [esp + 0x28]
cmp bl, 2
je 0x501c44
mov ecx, dword [esp + 0x20]
lock inc dword [ecx]
jle 0x51bf4f
mov esi, dword [esp + 0x940]
mov al, byte [eax + 0x3e]
mov dword [esp + 0x24], edi
lea edi, [esp + 0x970]
cmp al, 2
sete bh
or bh, al
mov al, 3
mov byte [edi + 8], al
and bh, 1
lea eax, [esp + 0x970]
mov byte [edi + 0xc], bh
push eax
call fcn.004eccc0
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, edi
mov dword [edi], eax
mov dword [edi + 4], esi
mov byte [edi + 8], bl
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov dword [esp + 0x1018], eax
movsd qword [esp + 0x1010], xmm0
call fcn.004f6cfe
mov bl, byte [esp + 0x1018]
mov cl, 3
lea eax, [esp + 0xa60]
mov byte [eax + 8], cl
mov byte [eax + 0xc], 2
cmp bl, cl
jne 0x501e28
lea eax, [esp + 0x1010]
push eax
call fcn.004eccc0
add esp, 4
mov bl, 3
jmp 0x501e54
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0x102f]
movzx ecx, word [esp + 0x102d]
movzx ebx, word [esp + 0x104d]
mov dl, byte [esp + 0x1034]
mov esi, dword [esp + 0x1048]
shl eax, 0x10
mov byte [esp + 0xa0], dl
mov dl, byte [esp + 0x1044]
or ecx, eax
movzx eax, byte [esp + 0x1037]
mov dword [esp + 0x40], ecx
movzx ecx, word [esp + 0x1035]
mov byte [esp + 0xa8], dl
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x103f]
mov dword [esp + 0x48], ecx
movzx ecx, word [esp + 0x103d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1047]
mov dword [esp + 0x4c], ecx
movzx ecx, word [esp + 0x1045]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x104f]
mov dword [esp + 0x20], ecx
mov cl, byte [esp + 0x102c]
shl eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x1014]
mov byte [esp + 0x9c], cl
mov cl, byte [esp + 0x103c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x1018]
mov byte [esp + 0xa4], cl
mov cl, byte [esp + 0x104c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x101c]
mov byte [esp + 0xac], cl
lea ecx, [esp + 0x970]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x1020]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x1024]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1028]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x1030]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1038]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1040]
mov dword [esp + 0x2c], eax
call fcn.004f7f0c
mov edi, dword [esp + 0x28]
jmp 0x5029ce
movzx eax, word [esp + 0x1019]
mov cl, byte [esp + 0x101b]
mov esi, dword [esp + 0x1010]
mov edi, dword [esp + 0x1014]
mov word [esp + 0x1618], ax
mov byte [esp + 0x161a], cl
movzx eax, word [esp + 0x1618]
mov word [esp + 0x1010], ax
mov al, byte [esp + 0x161a]
mov byte [esp + 0x1012], al
lea eax, [esp + 0xa60]
push eax
call fcn.004eccc0
add esp, 4
movzx eax, word [esp + 0x1010]
mov dl, byte [esp + 0x1012]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa60], esi
mov dword [esp + 0xa64], edi
mov byte [esp + 0xa68], bl
mov word [esp + 0xa69], ax
mov byte [esp + 0xa6b], dl
mov byte [esp + 0xa6c], bh
lock inc dword [ecx]
jle 0x51bf4f
cmp bl, 1
ja 0x501ed7
lock inc dword [esi]
jle 0x51bf4f
lea eax, [esp + 0xa60]
push eax
call fcn.004eccc0
add esp, 4
lea ecx, [esp + 0x970]
call fcn.004f7f0c
cmp byte [esp + 0x1c], 2
mov eax, dword [esp + 0x24]
mov dword [esp + 0x12ac], eax
mov dword [esp + 0x12b0], esi
mov dword [esp + 0x12b4], edi
mov byte [esp + 0x12b8], bl
mov byte [esp + 0x12bc], bh
jne 0x501f37
mov ecx, dword [esp + 0x28]
mov dl, byte [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov byte [esp + 0x1018], 2
jmp 0x501f68
mov esi, dword [esp + 0x20]
lock inc dword [esi]
mov ecx, dword [esp + 0x28]
jle 0x51bf4f
mov dl, byte [esp + 0x1c]
mov eax, dword [esp + 0x940]
mov dword [esp + 0x1010], esi
mov dword [esp + 0x1014], eax
mov byte [esp + 0x1018], dl
cmp byte [ecx + 0x44], 0
je 0x501f79
mov al, byte [ecx + 0x3e]
cmp al, 2
je 0x501f99
and al, 1
jne 0x501f99
mov edi, 2
cmp dl, 2
je 0x501f94
lock dec dword [esi]
jne 0x501f94
lea ecx, [esp + 0x1010]
call fcn.00568449
jmp 0x5020f4
lea eax, [esp + 0x978]
mov bh, 3
xor ecx, ecx
mov byte [eax + 8], bh
mov dword [eax - 8], ecx
push eax
call fcn.004eccc0
add esp, 4
mov cl, byte [esp + 0x101b]
mov eax, dword [esp + 0x1014]
movzx edx, word [esp + 0x1019]
mov esi, dword [esp + 0x1010]
mov bl, byte [esp + 0x1018]
lea edi, [esp + 0x984]
mov byte [esp + 0x161a], cl
mov ecx, edi
mov dword [esp + 0x1c], eax
mov word [esp + 0x1618], dx
call fcn.004f6cfe
xor eax, eax
cmp bl, bh
mov dword [edi - 0x14], eax
mov byte [edi - 4], bh
jne 0x502018
lea eax, [esp + 0x1010]
push eax
call fcn.004eccc0
add esp, 4
mov bl, 3
jmp 0x502036
mov al, byte [esp + 0x161a]
movzx ecx, word [esp + 0x1618]
mov byte [esp + 0x14d2], al
mov word [esp + 0x14d0], cx
movzx eax, word [esp + 0x14d0]
mov edi, dword [esp + 0x974]
mov word [esp + 0x1618], ax
mov al, byte [esp + 0x14d2]
mov byte [esp + 0x161a], al
lea eax, [esp + 0x978]
push eax
call fcn.004eccc0
add esp, 4
mov dword [esp + 0x970], 0
mov dword [esp + 0x974], edi
mov eax, dword [esp + 0x1c]
movzx edi, word [esp + 0x1618]
mov dl, byte [esp + 0x161a]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x978], esi
mov dword [esp + 0x97c], eax
mov byte [esp + 0x980], bl
mov word [esp + 0x981], di
mov byte [esp + 0x983], dl
lock inc dword [ecx]
jle 0x51bf4f
mov eax, ebx
and al, 0xfe
cmp al, 2
je 0x5020d2
lock inc dword [esi]
jle 0x51bf4f
lea eax, [esp + 0x978]
push eax
call fcn.004eccc0
add esp, 4
lea ecx, [esp + 0x984]
call fcn.004f7f0c
mov ecx, dword [esp + 0x1c]
xor edi, edi
movzx eax, word [esp + 0x970]
mov dl, byte [esp + 0x972]
mov word [esp + 0x969], ax
mov byte [esp + 0x96b], dl
mov dword [esp + 0x958], edi
mov dword [esp + 0x960], esi
mov dword [esp + 0x964], ecx
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov byte [esp + 0x968], bl
mov esi, 3
mov dword [esp + 0x96c], ecx
cmp byte [edi + 0x43], 0
je 0x502207
mov eax, dword [edi + 0x54]
cmp dword [eax + 0x2c], 0
jne 0x502162
test dword [eax + 0x18], 0x33300
je 0x502207
mov al, byte [edi + 0x3e]
mov esi, dword [edi + 0x18]
mov ebx, 0x100000
cmp al, 2
sete cl
or cl, al
mov al, byte [edi + 0x45]
and cl, 1
mov byte [esp + 0x1c], cl
mov byte [esp + 0x20], al
xor eax, eax
inc eax
cmp esi, 2
cmovne ebx, dword [edi + 0x1c]
lea edi, [esp + 0x14dc]
mov dword [esp + 0x84], eax
cmove esi, eax
mov ecx, edi
call fcn.004f6cfe
mov cl, byte [esp + 0x20]
mov dl, byte [esp + 0x1c]
mov dword [edi - 0xc], esi
mov dword [edi - 8], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
test cl, cl
mov byte [edi - 4], dl
mov byte [edi - 3], 1
setne byte [edi - 2]
mov edi, dword [esp + 0x24]
setne al
lock inc dword [edi]
jle 0x51bf4f
test cl, cl
mov byte [esp + 0x38], al
mov dword [esp + 0x146c], edi
je 0x50220c
lea eax, [edi + 8]
lea ecx, [esp + 0x1618]
push 0xff
push eax
push ecx
call fcn.0064a810
add esp, 0xc
mov al, byte [edi + 0x107]
jmp 0x502258
jmp 0x502712
push 0x100
push 0
lea eax, [esp + 0x978]
push eax
call fcn.0064ad90
add esp, 0xc
xor eax, eax
mov byte [esp + eax + 0x970], al
inc eax
cmp eax, 0x100
jne 0x502225
lea eax, [esp + 0x1618]
push 0xff
lea ecx, [esp + 0x974]
push ecx
push eax
call fcn.0064a810
add esp, 0xc
mov al, byte [esp + 0xa6f]
mov byte [esp + 0x44], al
lock inc dword [edi]
jle 0x51bf4f
mov eax, dword [edi + 0x150]
test eax, eax
mov dword [esp + 0x20], eax
js 0x51cfe1
mov esi, dword [edi + 0x144]
mov ecx, esi
call fcn.00489cad
lea edi, [esp + 0x970]
xor ebx, ebx
mov dword [edi], eax
mov dword [edi + 4], edx
mov ecx, edi
mov edx, esi
mov dword [edi + 8], ebx
call fcn.004f5be3
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x1480], eax
movsd qword [esp + 0x1478], xmm0
mov eax, 4
mov esi, dword [edi + 0x144]
mov dword [esp + 0x18a0], eax
mov dword [esp + 0x18a4], ebx
mov dword [esp + 0x18a8], ebx
mov dword [esp + 0x18ac], eax
mov dword [esp + 0x18b0], ebx
mov dword [esp + 0x18b4], ebx
test esi, esi
js 0x51cffa
mov dword [esp + 0x18b8], 0
je 0x502316
lea ebx, [esp + 0x18a0]
mov edx, esi
mov ecx, ebx
call fcn.004f5be3
mov ebx, dword [ebx + 0x14]
mov edx, esi
sub edx, ebx
jbe 0x50232a
lea ecx, [esp + 0x18ac]
call fcn.004f5be3
jmp 0x502331
mov dword [esp + 0x18b4], esi
mov eax, dword [esp + 0x20]
movzx esi, byte [esp + 0x44]
movsd xmm0, qword [esp + 0x18b0]
movsd xmm1, qword [esp + 0x18a8]
lea ebx, [esp + 0xafc]
add eax, eax
inc esi
bsr ecx, esi
mov dword [esp + 0x20], eax
xor eax, eax
dec eax
not ecx
shr eax, cl
lea ecx, [esp + 0xadc]
inc eax
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x18a0]
movsd qword [ecx + 8], xmm1
bsf eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x18b8]
movsd qword [ecx], xmm0
mov dword [ecx + 0x18], eax
mov eax, 0xff
lea ecx, [esp + 0x1618]
push eax
push ecx
push ebx
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x30]
mov ecx, 4
mov dword [ebx - 0x18c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx - 0x188], eax
mov al, byte [esp + 0x1c]
mov byte [ebx - 0x184], al
mov al, 1
mov byte [ebx - 0x183], al
mov al, byte [esp + 0x38]
mov byte [ebx - 0x182], al
mov eax, 8
mov dword [ebx - 0x180], edi
xor edi, edi
mov dword [ebx - 0x17c], eax
lea eax, [esp + 0x984]
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], 0x7ffffffe
lea eax, [esp + 0x99c]
mov ecx, 0xff
push ecx
lea ecx, [esp + 0x161c]
push ecx
push eax
call fcn.0064a810
add esp, 0xc
mov cl, byte [esp + 0x44]
mov eax, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x1478]
lea edx, [esp + 0x99c]
mov byte [ebx - 0x61], cl
mov dword [ebx - 0x60], esi
mov dword [ebx - 0x5c], eax
mov eax, dword [esp + 0x20]
mov dword [ebx - 0x58], esi
mov dword [ebx - 0x54], eax
mov eax, 4
mov dword [ebx - 0x44], eax
mov eax, dword [esp + 0x1480]
mov dword [ebx - 0x40], edi
mov dword [ebx - 0x3c], edi
movsd qword [ebx - 0x38], xmm0
mov dword [ebx - 0x30], eax
mov eax, 8
mov dword [ebx - 0x2c], eax
mov eax, dword [esp + 0x30]
mov dword [ebx - 0x28], edi
mov dword [ebx - 0x24], edi
mov byte [edx + 0x260], 0
mov dword [ebx - 0x50], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx - 0x4c], eax
mov al, byte [esp + 0x1c]
mov byte [ebx - 0x48], al
mov al, 1
mov byte [ebx - 0x47], al
mov al, byte [esp + 0x38]
mov byte [ebx - 0x46], al
lea eax, [esp + 0x146c]
mov dword [ebx - 4], eax
mov eax, dword [eax]
mov byte [edx + 0x25f], cl
mov edx, 0x8000808b
mov ecx, dword [eax + 0x130]
test ecx, ecx
je 0x502592
mov ebx, ecx
neg ebx
and ebx, ecx
cmp ebx, 0x1ff
jg 0x50250d
cmp ebx, 0x3f
jg 0x502551
lea esi, [ebx - 1]
cmp esi, 0x1f
ja 0x502592
bt edx, esi
jae 0x502592
xor ecx, ebx
cmp ebx, 0x200
jbe 0x5024ce
jmp 0x5025b2
cmp ebx, 0x1fff
jle 0x502537
cmp ebx, 0x7fff
jle 0x50257a
cmp ebx, 0x8000
je 0x5024fe
cmp ebx, 0x10000
je 0x5024fe
cmp ebx, 0x20000
je 0x5024fe
jmp 0x502592
cmp ebx, 0x7ff
jg 0x502568
cmp ebx, 0x200
je 0x5024fe
cmp ebx, 0x400
je 0x5024fe
jmp 0x502592
cmp ebx, 0x40
je 0x5024fe
cmp ebx, 0x80
je 0x5024fe
cmp ebx, 0x100
je 0x5024fe
jmp 0x502592
cmp ebx, 0x800
je 0x5024fe
cmp ebx, 0x1000
je 0x5024fe
jmp 0x502592
cmp ebx, 0x2000
je 0x5024fe
cmp ebx, 0x4000
je 0x5024fe
cmp dword [eax + 0x150], 0x3fffff
jbe 0x5025bc
xor edi, edi
mov dword [esp + 0x20], 0x3fffff
mov dword [esp + 0x1c], 0x2c
jmp 0x5025fc
mov dword [esp + 0x1c], 0x2d
jmp 0x5025fc
mov esi, dword [eax + 0x154]
xor eax, eax
mov edx, 0
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x5025d7
mov edx, dword [esi + 8]
mov edx, dword [edx + ecx*8 - 4]
add ecx, ecx
mov dword [esp + 0x1c], 0x2f
sub edx, ecx
cmovb edx, eax
cmp edx, 0x20
jbe 0x502cbc
mov dword [esp + 0x20], 0x2e
mov ebx, str.too_many_explicit_capturing_groups__max_is_16_match_states_should_be_a_proper_subset_of_all_states
lea esi, [esp + 0x970]
mov ecx, esi
call fcn.004ef66b
cmp dword [esi + 0x14c], 0
je 0x502628
push dword [esp + 0xab8]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xac8], 0
je 0x502647
push dword [esp + 0xac4]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xad4], 0
je 0x502666
push dword [esp + 0xad0]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0xadc]
call fcn.00431c49
mov eax, dword [esp + 0x146c]
lock dec dword [eax]
jne 0x50268a
mov ecx, dword [esp + 0x146c]
call fcn.004ed4b5
lea ecx, [esp + 0x14dc]
mov dword [esp + 0x40], edi
call fcn.004f7f0c
cmp dword [esp + 0x84], 0
je 0x5026ed
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
lea edi, [esp + 0x980]
lea esi, [esp + 0x1010]
mov dword [edi - 0x10], eax
mov dword [edi - 0xc], ebx
mov dword [edi - 4], ecx
mov ecx, dword [esp + 0x20]
cmp eax, 0x29
mov dword [edi - 8], ecx
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
ja 0x5026e2
lea ecx, [esp + 0x970]
call fcn.004f8064
mov edi, dword [esp + 0x28]
mov esi, 3
jmp 0x502712
push 0x128
lea eax, [esp + 0x1014]
push eax
lea eax, [esp + 0x978]
push eax
call fcn.0064a810
add esp, 0xc
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x12dc]
mov dword [eax - 0x14], esi
mov dword [eax - 0x10], edx
mov dword [eax - 0xc], ebx
mov ebx, dword [esp + 0x20]
mov dword [eax - 4], ecx
mov dword [eax - 8], ebx
push 0x128
lea ecx, [esp + 0x974]
push ecx
push eax
call fcn.0064a810
add esp, 0xc
cmp byte [edi + 0x41], 0
mov dword [esp + 0x50], 2
je 0x5027f8
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x970]
mov ecx, esi
call fcn.004f6cfe
mov eax, dword [esp + 0x54]
mov cl, byte [esp + 0x48]
lea edi, [esp + 0x1010]
mov edx, esi
mov dword [esi], eax
mov eax, dword [esp + 0x4c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x3c]
mov byte [esi + 8], 1
mov byte [esi + 9], al
mov byte [esi + 0xa], cl
mov word [esi + 0xb], 1
mov byte [esi + 0xd], 2
mov ecx, edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0051e878
add esp, 8
mov eax, dword [edi]
cmp eax, 0x2a
jne 0x502810
mov eax, dword [esp + 0x1014]
lea ecx, [esp + 0x970]
mov dword [esp + 0xc0], eax
call fcn.004f7f0c
mov edi, dword [esp + 0x28]
cmp byte [edi + 0x41], 0
je 0x502a16
mov dl, byte [esp + 0x944]
cmp dl, 2
jne 0x502a23
mov byte [esp + 0x12a8], 2
jmp 0x502a5d
mov dword [esp + 0x1c], 0
mov dword [esp + 0xc0], 0
jmp 0x503607
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0x102f]
movzx ecx, word [esp + 0x104d]
movzx ebx, byte [esp + 0x103f]
movzx esi, byte [esp + 0x1047]
movzx edi, byte [esp + 0x104f]
movzx edx, word [esp + 0x1045]
shl eax, 0x10
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x970]
shl ebx, 0x10
shl esi, 0x10
shl edi, 0x10
mov dword [esp + 0x20], edx
mov dword [esp + 0x98], eax
movzx eax, byte [esp + 0x1037]
shl eax, 0x10
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x102c]
mov byte [esp + 0x9c], al
mov al, byte [esp + 0x1034]
mov byte [esp + 0xa0], al
mov al, byte [esp + 0x103c]
mov byte [esp + 0xa4], al
mov al, byte [esp + 0x1044]
mov byte [esp + 0xa8], al
mov eax, dword [esp + 0x1014]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x1018]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x101c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x1020]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x1024]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1028]
mov dword [esp + 0xbc], eax
movzx eax, word [esp + 0x102d]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1030]
mov dword [esp + 0x44], eax
movzx eax, word [esp + 0x1035]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1038]
mov dword [esp + 0x38], eax
movzx eax, word [esp + 0x103d]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1040]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1048]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x104c]
mov byte [esp + 0xac], al
call fcn.004f7f0c
cmp dword [esp + 0x1c], 3
je 0x502977
lea ecx, [esp + 0x12c8]
call fcn.004ef66b
mov eax, dword [esp + 0x98]
add dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x54]
add dword [esp + 0x20], esi
add dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
or ebx, edi
add dword [esp + 0x48], eax
lea eax, [esp + 0x958]
push eax
call fcn.004ef6ae
add esp, 4
lea eax, [esp + 0x12ac]
push eax
call fcn.004ef6fc
add esp, 4
mov ecx, dword [esp + 0x24]
lock dec dword [ecx]
jne 0x5029c6
call fcn.004ed4b5
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
cmp byte [esp + 0x944], 2
mov dword [esp + 0x3c], esi
je 0x5029f4
mov eax, dword [esp + 0x93c]
lock dec dword [eax]
jne 0x5029f4
lea ecx, [esp + 0x93c]
call fcn.00568449
mov dword [esp + 0x54], ebx
mov dword [esp + 0x1c], 0
mov esi, 3
lock dec dword [edi]
jne 0x502a11
mov ecx, edi
call fcn.004ef822
jmp 0x503fd1
mov dword [esp + 0x1c], 0
jmp 0x503607
mov ecx, dword [esp + 0x93c]
lock inc dword [ecx]
jle 0x51bf4f
mov eax, dword [esp + 0x940]
mov dword [esp + 0x12a0], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x12a4], eax
mov byte [esp + 0x12a8], dl
cmp byte [edi + 0x41], 0
je 0x50effc
mov al, byte [edi + 0x3e]
mov esi, 2
mov byte [esp + 0x3c], dl
cmp al, 2
sete cl
or cl, al
xor eax, eax
and cl, 1
cmp dl, 2
mov dword [esp + 0x974], eax
mov dword [esp + 0x970], eax
mov dword [esp + 0x998], eax
mov dword [esp + 0x9a0], esi
mov dword [esp + 0x9a8], esi
mov byte [esp + 0x9b8], 3
mov byte [esp + 0x9bc], cl
mov dword [esp + 0x9bd], 0x2020202
mov byte [esp + 0x9c1], 2
jne 0x502ac9
mov byte [esp + 0x1620], 2
jmp 0x502af2
mov ecx, dword [esp + 0x40]
lock inc dword [ecx]
jle 0x51bf4f
mov eax, dword [esp + 0x12a4]
mov dword [esp + 0x1618], ecx
mov dword [esp + 0x161c], eax
mov byte [esp + 0x1620], dl
lea ebx, [esp + 0x1010]
lea eax, [esp + 0x1618]
lea edx, [esp + 0x970]
mov ecx, ebx
push eax
call fcn.004fb68d
add esp, 4
mov dl, 1
lea eax, [esp + 0x1408]
mov ecx, 0xa
mov esi, ebx
mov byte [ebx + 0x4d], dl
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [ebx + 0x46]
movsd xmm0, qword [ebx + 0x40]
mov ecx, dword [ebx + 0x52]
movzx esi, word [ebx + 0x56]
mov ebx, 0x200000
xor edi, edi
movsd qword [eax + 0x46], xmm1
movsd qword [eax + 0x40], xmm0
mov dword [eax + 0x52], ecx
mov word [eax + 0x56], si
mov eax, dword [esp + 0x28]
cmp dword [eax + 8], edi
je 0x502b5e
mov ebx, dword [eax + 0xc]
cmp byte [eax + 0x45], 0
lea esi, [esp + 0x9c8]
mov ecx, esi
setne byte [esp + 0x80]
setne byte [esp + 0x1456]
xor eax, eax
inc eax
cmp byte [esp + 0x3c], 2
mov dword [esp + 0x1430], eax
mov dword [esp + 0x1434], ebx
mov dword [esp + 0x1438], eax
mov dword [esp + 0x143c], 3
mov dword [esp + 0x1440], eax
mov dword [esp + 0x1444], 0xa
mov byte [esp + 0x1457], dl
setne byte [esp + 0x1458]
setne byte [esp + 0x54]
mov byte [esp + 0x1459], 0
call fcn.004f6cfe
mov eax, 2
mov dword [esi - 0x54], edi
mov dword [esi - 0x58], edi
mov dword [esi - 0x30], edi
mov cl, byte [esp + 0x1454]
mov dword [esi - 0x28], eax
mov dword [esi - 0x20], eax
mov al, byte [esp + 0x1450]
mov byte [esi - 0x10], 3
mov dword [esi - 0xc], 0x2020202
mov word [esi - 8], 0x202
cmp al, 3
mov byte [esp + 0x1c], al
je 0x502c37
cmp byte [esp + 0x1c], 2
je 0x502c37
mov eax, dword [esp + 0x1448]
mov dword [esp + 0x30], eax
lock inc dword [eax]
jle 0x51bf4f
mov eax, dword [esp + 0x144c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1408]
mov edx, dword [esp + 0x140c]
mov ch, byte [esp + 0x1455]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], eax
or eax, edx
mov dword [esp + 0x38], edx
je 0x503278
movsd xmm1, qword [esp + 0x1420]
movsd xmm0, qword [esp + 0x1428]
movsd xmm2, qword [esp + 0x1410]
xor edi, edi
inc edi
mov dword [esp + 0x48], edi
movsd qword [esp + 0x14e0], xmm1
movsd xmm1, qword [esp + 0x1418]
movsd qword [esp + 0x14e8], xmm0
movsd qword [esp + 0x14d0], xmm2
movsd qword [esp + 0x14d8], xmm1
jmp 0x503283
lea esi, [esp + 0x1618]
lea edx, [esp + 0x970]
mov ecx, esi
call fcn.004f6e19
mov eax, dword [esi]
cmp eax, 0x30
jne 0x50324b
mov eax, dword [esp + 0x161c]
test eax, eax
mov dword [esp + 0x18a0], eax
jne 0x51d0c5
lea edx, [esp + 0x970]
mov eax, dword [edx + 0x188]
mov eax, dword [eax]
mov ecx, dword [eax + 0x150]
mov eax, dword [eax + 0x128]
mov dword [esp + 0x38], ecx
sub esp, 0xc
lea esi, [esp + 0x1624]
mov dword [esp + 8], eax
mov dword [esp], 0
mov ecx, esi
call fcn.004f6f22
add esp, 0xc
mov eax, dword [esi]
cmp eax, 0x30
jne 0x50324b
test byte [esp + 0xab5], 1
je 0x502daf
mov eax, dword [esp + 0xaf8]
mov eax, dword [eax]
mov esi, dword [eax + 0x150]
mov ecx, esi
call fcn.004f6fd3
test esi, esi
je 0x502daf
xor ebx, ebx
lea edi, [esp + 0x970]
mov eax, dword [esp + 0xaf8]
mov eax, dword [eax]
cmp dword [eax + 0x150], ebx
jbe 0x51d0b1
mov eax, dword [eax + 0x148]
lea ecx, [esp + 0x1618]
mov edx, edi
push dword [eax + ebx*4]
push ebx
push 1
call fcn.004f6f22
add esp, 0xc
mov eax, dword [esp + 0x1618]
cmp eax, 0x30
jne 0x50324b
inc ebx
cmp esi, ebx
jne 0x502d68
mov eax, dword [esp + 0xac0]
test eax, eax
je 0x50310d
mov ecx, dword [esp + 0x38]
xor esi, esi
lea ebx, [esp + 0x970]
add ecx, ecx
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x1618]
lea edx, [eax - 1]
mov dword [esp + 0xac0], edx
mov edi, dword [esp + 0xab8]
mov edx, dword [esp + 0xacc]
mov eax, dword [edi + eax*4 - 4]
cmp edx, eax
jbe 0x51bf43
mov edx, dword [esp + 0xac4]
mov edx, dword [edx + eax*4]
mov byte [esp + 0xbfc], 0
mov dword [esp + 0xaf4], esi
mov dword [esp + 0x2c], edx
mov edx, ebx
push esi
push esi
push eax
call fcn.004f7015
add esp, 0xc
mov eax, dword [esp + 0x1618]
cmp eax, 0x30
jne 0x50324b
mov eax, dword [esp + 0xad8]
test eax, eax
je 0x5030eb
dec eax
mov dword [esp + 0xad8], eax
shl eax, 4
mov edx, dword [esp + 0xaf8]
mov esi, dword [esp + 0xad0]
mov edi, dword [edx]
mov ecx, dword [esi + eax]
mov edx, dword [edi + 0x144]
cmp edx, ecx
jbe 0x51bbed
mov edx, dword [esi + eax + 8]
mov eax, dword [esi + eax + 0xc]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x13c]
mov dword [esp + 0x30], edx
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov ecx, dword [ecx*4 + 0x51d158]
add ecx, dword [esp + 0x40]
jmp ecx
mov eax, dword [esp + 0xac0]
mov esi, 0
lea ecx, [esp + 0x1618]
lea ebx, [esp + 0x970]
test eax, eax
jne 0x502dd8
mov esi, dword [esp + 0x988]
mov cl, byte [esp + 0xaa0]
lea edi, [esp + 0x1618]
xor eax, eax
lea ebx, [esp + 0x1478]
lea edx, [esp + 0x18a0]
mov dword [ebx], eax
mov dword [edx + 4], eax
shr esi, cl
mov ecx, edi
mov dword [edx + 8], esi
mov dword [edx], ebx
call fcn.004eac6e
mov ecx, dword [ebx]
test esi, esi
mov dword [edi + 0xc], ecx
je 0x51d11e
mov eax, dword [esp + 0x1618]
mov edx, dword [esp + 0x1620]
mov dword [esp + 0x44], ecx
and ecx, 0x1f
mov ebx, esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0xaa4]
mov ecx, dword [esp + 0xaa0]
mov edx, dword [esp + 0x980]
mov edi, ebx
dec ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x988]
and ecx, 0x1f
mov dword [esp + 0x40], eax
sub esi, 1
jb 0x518c03
jl 0x51d046
mov eax, esi
shl eax, cl
add eax, dword [esp + 0x30]
cmp dword [esp + 0x40], eax
jbe 0x51bb17
mov eax, dword [edx + eax*8 + 4]
shr eax, 0xa
cmp eax, 0x3ffffe
ja 0x5031a3
lea eax, [esi + 1]
cmp edi, eax
je 0x503223
mov edx, ebx
lea ecx, [esp + 0x970]
push esi
call fcn.004f72a9
add esp, 4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, ebx
mov dword [esp + 0x40], ebx
mov ebx, esi
shr eax, cl
shr ebx, cl
cmp eax, edx
jae 0x51cf6d
cmp ebx, edx
jae 0x51cf71
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + eax*4]
mov edi, dword [edx + ebx*4]
mov dword [edx + eax*4], edi
mov dword [edx + ebx*4], ecx
mov ebx, dword [esp + 0x40]
test ebx, ebx
mov dword [esp + 0x998], ebx
jne 0x503175
mov ecx, 0x767c0e
mov edx, 0x34
push 0x767c44
call fcn.00652640
jmp 0x51ba56
lea esi, [esp + 0x1628]
lea edi, [esp + 0x1010]
mov ecx, dword [esi - 8]
mov edx, dword [esi - 4]
mov ebx, dword [esi - 0xc]
mov dword [esp + 0x20], ecx
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov dword [esp + 0x1c], eax
jmp 0x5025fc
xor edi, edi
mov dword [esp + 0x48], 0
inc edi
xor edx, edx
test ch, ch
mov ebx, 2
movsd xmm1, qword [esp + 0x14d8]
movsd xmm0, qword [esp + 0x14d0]
movsd xmm2, qword [esp + 0x14e0]
setne dl
cmp ch, 2
cmove edx, ebx
xor eax, eax
test cl, cl
setne al
cmp cl, 2
lea ecx, [esp + 0x970]
cmove eax, ebx
lea ebx, [esp + 0x1010]
mov byte [ebx + 0x4c], al
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], edx
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x44], eax
mov al, byte [esp + 0x1c]
mov byte [ebx + 0x48], al
mov al, byte [esp + 0x80]
mov byte [ebx + 0x4d], dl
mov edx, ebx
mov byte [ebx + 0x4e], al
mov eax, dword [esp + 0x48]
mov byte [ebx + 0x4f], 1
mov dword [ebx], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 4], eax
movsd qword [ebx + 0x10], xmm1
movsd xmm1, qword [esp + 0x14e8]
mov al, byte [esp + 0x54]
movsd qword [ebx + 8], xmm0
movsd qword [ebx + 0x18], xmm2
movsd qword [ebx + 0x20], xmm1
mov byte [ebx + 0x50], al
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x28], edi
mov dword [ebx + 0x2c], eax
mov byte [ebx + 0x51], 0
mov dword [ebx + 0x30], edi
mov dword [ebx + 0x34], 3
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], 0xa
call fcn.004fb6db
mov eax, dword [esp + 0x24]
lock inc dword [eax]
jle 0x51bf4f
lea edi, [esp + 0x1618]
lea edx, [esp + 0x970]
mov ecx, edi
push eax
call fcn.004f9389
add esp, 4
lea eax, [esp + 0x9b0]
push eax
call fcn.004eccc0
add esp, 4
mov ecx, esi
call fcn.004f7f0c
mov eax, dword [edi]
xor eax, 2
or eax, dword [edi + 4]
jne 0x5033c3
cmp dword [esp + 0x1620], 0x29
mov edi, dword [esp + 0x28]
lea esi, [esp + 0x1448]
ja 0x5035e3
lea ecx, [esp + 0x1620]
call fcn.004f8064
jmp 0x5035e3
push 0x288
push edi
push ebx
call fcn.0064a810
add esp, 0xc
lea esi, [esp + 0x1528]
mov ecx, esi
call fcn.004f6cfe
xor eax, eax
cmp byte [esp + 0x1c], 3
mov ecx, 2
mov dword [esi - 0x54], eax
mov dword [esi - 0x58], eax
mov dword [esi - 0x30], eax
mov dword [esi - 0x28], ecx
mov dword [esi - 0x20], ecx
mov byte [esi - 0x10], 3
mov dword [esi - 0xc], 0x2020202
mov word [esi - 8], 0x202
je 0x503430
cmp byte [esp + 0x1c], 2
je 0x503430
mov ecx, dword [esp + 0x1448]
lock inc dword [ecx]
jle 0x51bf4f
mov edx, dword [esp + 0x144c]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x38]
or dword [esp + 0x2c], edx
je 0x503487
movsd xmm1, qword [esp + 0x1420]
movsd xmm0, qword [esp + 0x1428]
movsd xmm2, qword [esp + 0x1410]
xor edi, edi
inc edi
movsd qword [esp + 0x1488], xmm1
movsd xmm1, qword [esp + 0x1418]
movsd qword [esp + 0x1490], xmm0
movsd qword [esp + 0x1478], xmm2
movsd qword [esp + 0x1480], xmm1
jmp 0x503489
xor edi, edi
lea esi, [esp + 0x1478]
lea edx, [esp + 0x18a0]
movsd xmm1, qword [esi + 0x10]
movsd xmm0, qword [esi + 0x18]
movsd xmm2, qword [esi]
movsd qword [edx + 0x18], xmm1
movsd xmm1, qword [esi + 8]
movsd qword [edx + 0x20], xmm0
movsd qword [edx + 8], xmm2
movsd qword [edx + 0x10], xmm1
mov dword [edx], edi
mov edi, dword [esp + 0x20]
mov dword [edx + 4], eax
xor eax, eax
inc eax
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], edi
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], 3
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x4c]
mov dword [edx + 0x3c], 0xa
mov dword [edx + 0x40], ecx
xor ecx, ecx
mov dword [edx + 0x44], eax
mov al, byte [esp + 0x1c]
mov byte [edx + 0x48], al
mov eax, dword [esp + 0x30]
mov byte [edx + 0x4c], cl
mov byte [edx + 0x4d], al
mov al, byte [esp + 0x80]
mov byte [edx + 0x4e], al
mov al, byte [esp + 0x54]
mov byte [edx + 0x4f], 1
mov byte [edx + 0x50], al
lea eax, [esp + 0x146c]
mov byte [edx + 0x51], cl
mov ecx, esi
mov byte [eax + 8], 2
push eax
call fcn.004fb68d
add esp, 4
xor eax, eax
lea edx, [esp + 0x18a0]
mov ecx, 0x16
mov byte [esi + 0x50], al
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x14d0]
call fcn.004fb6db
mov eax, dword [esp + 0xc0]
lock inc dword [eax]
jle 0x51bf4f
lea edi, [esp + 0x970]
lea esi, [esp + 0x14d0]
mov ecx, edi
mov edx, esi
push eax
call fcn.004f9389
add esp, 4
lea eax, [esp + 0x1510]
push eax
call fcn.004eccc0
add esp, 4
lea ecx, [esp + 0x1528]
call fcn.004f7f0c
mov ecx, dword [edi]
mov eax, ecx
xor eax, 2
or eax, dword [edi + 4]
jne 0x516260
lea eax, [esp + 0x14d0]
lea esi, [esp + 0x978]
mov ecx, 0x10
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp dword [eax], 0x29
ja 0x5035cf
lea ecx, [esp + 0x14d0]
call fcn.004f8064
push ebx
call fcn.004ee6c5
add esp, 4
mov edi, dword [esp + 0x28]
lea esi, [esp + 0x1448]
push esi
call fcn.004eccc0
add esp, 4
cmp byte [esp + 0x3c], 2
jne 0x50effc
mov dword [esp + 0x1c], 0
mov dword [esp + 0x50], 2
movzx eax, byte [esp + 0x93f]
movzx ecx, word [esp + 0x93d]
movzx edx, word [esp + 0x138d]
movzx ebx, word [esp + 0x1395]
movzx esi, byte [esp + 0x13a7]
shl eax, 0x10
shl esi, 0x10
or ecx, eax
movzx eax, byte [esp + 0x947]
mov dword [esp + 0x4d8], ecx
movzx ecx, word [esp + 0x945]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x12b3]
mov dword [esp + 0x4d4], ecx
movzx ecx, word [esp + 0x12b1]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x95f]
mov dword [esp + 0x4d0], ecx
movzx ecx, word [esp + 0x95d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x967]
mov dword [esp + 0x4e4], ecx
movzx ecx, word [esp + 0x965]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x96f]
mov dword [esp + 0x40c], ecx
movzx ecx, word [esp + 0x96d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x12cf]
mov dword [esp + 0x408], ecx
movzx ecx, word [esp + 0x12cd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x12d7]
mov dword [esp + 0x404], ecx
movzx ecx, word [esp + 0x12d5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x12df]
mov dword [esp + 0x400], ecx
movzx ecx, word [esp + 0x12dd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x12e7]
mov dword [esp + 0x3fc], ecx
movzx ecx, word [esp + 0x12e5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x12ef]
mov dword [esp + 0x3f8], ecx
movzx ecx, word [esp + 0x12ed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x12f7]
mov dword [esp + 0x3f4], ecx
movzx ecx, word [esp + 0x12f5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x12ff]
mov dword [esp + 0x3ec], ecx
movzx ecx, word [esp + 0x12fd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1307]
mov dword [esp + 0x3e8], ecx
movzx ecx, word [esp + 0x1305]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x130f]
mov dword [esp + 0x3e4], ecx
movzx ecx, word [esp + 0x130d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1317]
mov dword [esp + 0x3e0], ecx
movzx ecx, word [esp + 0x1315]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x131f]
mov dword [esp + 0x3dc], ecx
movzx ecx, word [esp + 0x131d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1327]
mov dword [esp + 0x3d8], ecx
movzx ecx, word [esp + 0x1325]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x132f]
mov dword [esp + 0x3d0], ecx
movzx ecx, word [esp + 0x132d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1337]
mov dword [esp + 0x3cc], ecx
movzx ecx, word [esp + 0x1335]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x133f]
mov dword [esp + 0x3c8], ecx
movzx ecx, word [esp + 0x133d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1347]
mov dword [esp + 0x3c4], ecx
movzx ecx, word [esp + 0x1345]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x134f]
mov dword [esp + 0x3c0], ecx
movzx ecx, word [esp + 0x134d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1357]
mov dword [esp + 0x3bc], ecx
movzx ecx, word [esp + 0x1355]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x135f]
mov dword [esp + 0x3b8], ecx
movzx ecx, word [esp + 0x135d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1367]
mov dword [esp + 0x3b4], ecx
movzx ecx, word [esp + 0x1365]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x136f]
mov dword [esp + 0x3b0], ecx
movzx ecx, word [esp + 0x136d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1377]
mov dword [esp + 0x3ac], ecx
movzx ecx, word [esp + 0x1375]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x137f]
mov dword [esp + 0x3a8], ecx
movzx ecx, word [esp + 0x137d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1387]
mov dword [esp + 0x3a0], ecx
movzx ecx, word [esp + 0x1385]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x138f]
mov dword [esp + 0x39c], ecx
movzx ecx, byte [esp + 0x139f]
shl eax, 0x10
or edx, eax
movzx eax, byte [esp + 0x1397]
shl ecx, 0x10
shl eax, 0x10
or ebx, eax
movzx eax, word [esp + 0x139d]
or eax, ecx
movzx ecx, word [esp + 0x13a5]
mov dword [esp + 0x398], eax
movzx eax, word [esp + 0x13ad]
or ecx, esi
movzx esi, byte [esp + 0x13af]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13b7]
mov dword [esp + 0x394], eax
movzx eax, word [esp + 0x13b5]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13bf]
mov dword [esp + 0x390], eax
movzx eax, word [esp + 0x13bd]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13c7]
mov dword [esp + 0x38c], eax
movzx eax, word [esp + 0x13c5]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13cf]
mov dword [esp + 0x388], eax
movzx eax, word [esp + 0x13cd]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13d7]
mov dword [esp + 0x384], eax
movzx eax, word [esp + 0x13d5]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13df]
mov dword [esp + 0x380], eax
movzx eax, word [esp + 0x13dd]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13e7]
mov dword [esp + 0x37c], eax
movzx eax, word [esp + 0x13e5]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13ef]
mov dword [esp + 0x378], eax
movzx eax, word [esp + 0x13ed]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13f7]
mov dword [esp + 0x374], eax
movzx eax, word [esp + 0x13f5]
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x13ff]
mov dword [esp + 0x370], eax
movzx eax, word [esp + 0x13fd]
shl esi, 0x10
or eax, esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x940]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x12ac]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x12b4]
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x12b8]
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x12bc]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x958]
mov dword [esp + 0x4e0], eax
mov eax, dword [esp + 0x960]
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x968]
mov dword [esp + 0x418], eax
mov eax, dword [esp + 0x12c8]
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x12d0]
mov dword [esp + 0x41c], eax
mov eax, dword [esp + 0x12d8]
mov dword [esp + 0x428], eax
mov eax, dword [esp + 0x12e0]
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x12e8]
mov dword [esp + 0x430], eax
mov eax, dword [esp + 0x12f0]
mov dword [esp + 0x438], eax
mov eax, dword [esp + 0x12f8]
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x1300]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x1308]
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x1310]
mov dword [esp + 0x43c], eax
mov eax, dword [esp + 0x1318]
mov dword [esp + 0x448], eax
mov eax, dword [esp + 0x1320]
mov dword [esp + 0x444], eax
mov eax, dword [esp + 0x1328]
mov dword [esp + 0x450], eax
mov eax, dword [esp + 0x1330]
mov dword [esp + 0x44c], eax
mov eax, dword [esp + 0x1338]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x1340]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x1348]
mov dword [esp + 0x460], eax
mov eax, dword [esp + 0x1350]
mov dword [esp + 0x45c], eax
mov eax, dword [esp + 0x1358]
mov dword [esp + 0x464], eax
mov eax, dword [esp + 0x1360]
mov dword [esp + 0x46c], eax
mov eax, dword [esp + 0x1368]
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x1370]
mov dword [esp + 0x470], eax
mov eax, dword [esp + 0x1378]
mov dword [esp + 0x478], eax
mov eax, dword [esp + 0x1380]
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x1388]
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0x1390]
mov dword [esp + 0x47c], eax
mov eax, dword [esp + 0x1398]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x13a0]
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x13a8]
mov dword [esp + 0x48c], eax
mov eax, dword [esp + 0x13b0]
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0x13b8]
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x13c0]
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x13c8]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x13d0]
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x13d8]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x13e0]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x13e8]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x13f0]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x13f8]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x1400]
mov dword [esp + 0x4b8], eax
mov al, byte [esp + 0x93c]
mov ah, byte [esp + 0x13fc]
mov byte [esp + 0x410], al
mov al, byte [esp + 0x944]
mov byte [esp + 0x3f0], ah
mov byte [esp + 0x414], al
mov al, byte [esp + 0x12b0]
mov byte [esp + 0x42c], al
mov al, byte [esp + 0x95c]
mov byte [esp + 0x304], al
mov al, byte [esp + 0x964]
mov byte [esp + 0xc], al
mov al, byte [esp + 0x96c]
mov byte [esp + 0x308], al
mov al, byte [esp + 0x12cc]
mov byte [esp + 0xd], al
mov al, byte [esp + 0x12d4]
mov byte [esp + 0x30c], al
mov al, byte [esp + 0x12dc]
mov byte [esp + 0x310], al
mov al, byte [esp + 0x12e4]
mov byte [esp + 0x314], al
mov al, byte [esp + 0x12ec]
mov byte [esp + 0xe], al
mov al, byte [esp + 0x12f4]
mov byte [esp + 0xf], al
mov al, byte [esp + 0x12fc]
mov byte [esp + 0x318], al
mov al, byte [esp + 0x1304]
mov byte [esp + 0x31c], al
mov al, byte [esp + 0x130c]
mov byte [esp + 0x320], al
mov al, byte [esp + 0x1314]
mov byte [esp + 0x10], al
mov al, byte [esp + 0x131c]
mov byte [esp + 0x324], al
mov al, byte [esp + 0x1324]
mov byte [esp + 0x328], al
mov al, byte [esp + 0x132c]
mov byte [esp + 0x32c], al
mov al, byte [esp + 0x1334]
mov byte [esp + 0x11], al
mov al, byte [esp + 0x133c]
mov byte [esp + 0x330], al
mov al, byte [esp + 0x1344]
mov byte [esp + 0x334], al
mov al, byte [esp + 0x134c]
mov byte [esp + 0x12], al
mov al, byte [esp + 0x1354]
mov byte [esp + 0x338], al
mov al, byte [esp + 0x135c]
mov byte [esp + 0x13], al
mov al, byte [esp + 0x1364]
mov byte [esp + 0x33c], al
mov al, byte [esp + 0x136c]
mov byte [esp + 0x340], al
mov al, byte [esp + 0x1374]
mov byte [esp + 0x344], al
mov al, byte [esp + 0x137c]
mov byte [esp + 0x348], al
mov al, byte [esp + 0x1384]
mov byte [esp + 0x14], al
mov al, byte [esp + 0x138c]
mov byte [esp + 0x34c], al
mov al, byte [esp + 0x1394]
mov byte [esp + 0x15], al
mov al, byte [esp + 0x139c]
mov byte [esp + 0x350], al
mov al, byte [esp + 0x13a4]
mov byte [esp + 0x354], al
mov al, byte [esp + 0x13ac]
mov byte [esp + 0x358], al
mov al, byte [esp + 0x13b4]
mov byte [esp + 0x35c], al
mov al, byte [esp + 0x13bc]
mov byte [esp + 0x16], al
mov al, byte [esp + 0x13c4]
mov byte [esp + 0x17], al
mov al, byte [esp + 0x13cc]
mov byte [esp + 0x360], al
mov al, byte [esp + 0x13d4]
mov byte [esp + 0x364], al
mov al, byte [esp + 0x13dc]
mov byte [esp + 0x368], al
mov al, byte [esp + 0x13e4]
mov byte [esp + 0x3a4], al
mov al, byte [esp + 0x13ec]
mov byte [esp + 0x18], al
mov al, byte [esp + 0x13f4]
mov byte [esp + 0x3d4], al
mov eax, esi
xor esi, 3
or esi, dword [esp + 0x1c]
jne 0x5040d6
mov eax, dword [esp + 0x938]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xb8]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0xb0]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0xbc]
mov dword [eax + 0x20], ecx
mov cl, byte [esp + 0x9c]
mov byte [eax + 0x24], cl
mov ecx, dword [esp + 0x40]
mov word [eax + 0x25], cx
shr ecx, 0x10
mov byte [eax + 0x27], cl
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x28], ecx
mov cl, byte [esp + 0xa0]
mov byte [eax + 0x2c], cl
mov ecx, dword [esp + 0x48]
mov word [eax + 0x2d], cx
shr ecx, 0x10
mov byte [eax + 0x2f], cl
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x30], ecx
mov cl, byte [esp + 0xa4]
mov byte [eax + 0x34], cl
mov ecx, dword [esp + 0x4c]
mov word [eax + 0x35], cx
shr ecx, 0x10
mov byte [eax + 0x37], cl
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x38], ecx
mov cl, byte [esp + 0xa8]
mov byte [eax + 0x3c], cl
mov ecx, dword [esp + 0x20]
mov word [eax + 0x3d], cx
shr ecx, 0x10
mov byte [eax + 0x3f], cl
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x40], ecx
mov cl, byte [esp + 0xac]
mov byte [eax + 0x44], cl
mov ecx, dword [esp + 0x54]
mov word [eax + 0x45], cx
shr ecx, 0x10
mov byte [eax + 0x47], cl
jmp 0x514f0f
mov esi, dword [edi + 0x54]
test byte [esi + 0x20], 2
je 0x5040f4
test byte [esi + 0x1c], 1
jne 0x5040f4
mov esi, eax
xor esi, 2
or esi, dword [esp + 0x1c]
jne 0x50efe2
xor esi, esi
mov dword [esp + 0x50], 0
inc esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x978], eax
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x80]
lea edi, [esp + 0x978]
mov dword [esp + 0x90], 0
mov dword [esp + 0x97c], eax
mov eax, dword [esp + 0x98]
mov dword [edi + 8], esi
mov esi, dword [esp + 0x300]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0xb8]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0xb4]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0xb0]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0xbc]
mov dword [edi + 0x28], eax
mov al, byte [esp + 0x9c]
mov byte [edi + 0x2c], al
mov eax, dword [esp + 0x40]
mov word [edi + 0x2d], ax
shr eax, 0x10
mov byte [edi + 0x2f], al
mov eax, dword [esp + 0x44]
mov dword [edi + 0x30], eax
mov al, byte [esp + 0xa0]
mov byte [edi + 0x34], al
mov eax, dword [esp + 0x48]
mov word [edi + 0x35], ax
shr eax, 0x10
mov byte [edi + 0x37], al
mov eax, dword [esp + 0x38]
mov dword [edi + 0x38], eax
mov al, byte [esp + 0xa4]
mov byte [edi + 0x3c], al
mov eax, dword [esp + 0x4c]
mov word [edi + 0x3d], ax
shr eax, 0x10
mov byte [edi + 0x3f], al
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x40], eax
mov al, byte [esp + 0xa8]
mov byte [edi + 0x44], al
mov eax, dword [esp + 0x20]
mov word [edi + 0x45], ax
shr eax, 0x10
mov byte [edi + 0x47], al
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x48], eax
mov al, byte [esp + 0xac]
mov byte [edi + 0x4c], al
mov eax, dword [esp + 0x54]
mov word [edi + 0x4d], ax
shr eax, 0x10
mov byte [edi + 0x4f], al
mov eax, dword [esp + 0x64c]
mov dword [edi + 0x50], eax
mov al, byte [esp + 0x6a]
mov byte [edi + 0x54], al
mov eax, dword [esp + 0x59c]
mov word [edi + 0x55], ax
shr eax, 0x10
mov byte [edi + 0x57], al
mov eax, dword [esp + 0x648]
mov dword [edi + 0x58], eax
mov al, byte [esp + 0x590]
mov byte [edi + 0x5c], al
mov eax, dword [esp + 0x5a4]
mov word [edi + 0x5d], ax
shr eax, 0x10
mov byte [edi + 0x5f], al
mov eax, dword [esp + 0x650]
mov dword [edi + 0x60], eax
mov al, byte [esp + 0x594]
mov byte [edi + 0x64], al
mov eax, dword [esp + 0x5ac]
mov word [edi + 0x65], ax
shr eax, 0x10
mov byte [edi + 0x67], al
mov eax, dword [esp + 0x654]
mov dword [edi + 0x68], eax
mov al, byte [esp + 0x598]
mov byte [edi + 0x6c], al
mov eax, dword [esp + 0x5b4]
mov word [edi + 0x6d], ax
shr eax, 0x10
mov byte [edi + 0x6f], al
mov eax, dword [esp + 0x658]
mov dword [edi + 0x70], eax
mov al, byte [esp + 0x5a0]
mov byte [edi + 0x74], al
mov eax, dword [esp + 0x5b8]
mov word [edi + 0x75], ax
shr eax, 0x10
mov byte [edi + 0x77], al
mov eax, dword [esp + 0x65c]
mov dword [edi + 0x78], eax
mov al, byte [esp + 0x560]
mov byte [edi + 0x7c], al
mov eax, dword [esp + 0x5bc]
mov word [edi + 0x7d], ax
shr eax, 0x10
mov byte [edi + 0x7f], al
mov eax, dword [esp + 0x660]
mov dword [edi + 0x80], eax
mov al, byte [esp + 0x5b]
mov byte [edi + 0x84], al
mov eax, dword [esp + 0x5c0]
mov word [edi + 0x85], ax
shr eax, 0x10
mov byte [edi + 0x87], al
mov eax, dword [esp + 0x664]
mov dword [edi + 0x88], eax
mov al, byte [esp + 0x5c]
mov byte [edi + 0x8c], al
mov eax, dword [esp + 0x5c4]
mov word [edi + 0x8d], ax
shr eax, 0x10
mov byte [edi + 0x8f], al
mov eax, dword [esp + 0x668]
mov dword [edi + 0x90], eax
mov al, byte [esp + 0x5d]
mov byte [edi + 0x94], al
mov eax, dword [esp + 0x5cc]
mov word [edi + 0x95], ax
shr eax, 0x10
mov byte [edi + 0x97], al
mov eax, dword [esp + 0x66c]
mov dword [edi + 0x98], eax
mov al, byte [esp + 0x5e]
mov byte [edi + 0x9c], al
mov eax, dword [esp + 0x5d0]
mov word [edi + 0x9d], ax
shr eax, 0x10
mov byte [edi + 0x9f], al
mov eax, dword [esp + 0x670]
mov dword [edi + 0xa0], eax
mov al, byte [esp + 0x5f]
mov byte [edi + 0xa4], al
mov eax, dword [esp + 0x5d4]
mov word [edi + 0xa5], ax
shr eax, 0x10
mov byte [edi + 0xa7], al
mov eax, dword [esp + 0x674]
mov dword [edi + 0xa8], eax
mov al, byte [esp + 0x564]
mov byte [edi + 0xac], al
mov eax, dword [esp + 0x5d8]
mov word [edi + 0xad], ax
shr eax, 0x10
mov byte [edi + 0xaf], al
mov eax, dword [esp + 0x678]
mov dword [edi + 0xb0], eax
mov al, byte [esp + 0x60]
mov byte [edi + 0xb4], al
mov eax, dword [esp + 0x5dc]
mov word [edi + 0xb5], ax
shr eax, 0x10
mov byte [edi + 0xb7], al
mov eax, dword [esp + 0x67c]
mov dword [edi + 0xb8], eax
mov al, byte [esp + 0x568]
mov byte [edi + 0xbc], al
mov eax, dword [esp + 0x5e0]
mov word [edi + 0xbd], ax
shr eax, 0x10
mov byte [edi + 0xbf], al
mov eax, dword [esp + 0x680]
mov dword [edi + 0xc0], eax
mov al, byte [esp + 0x61]
mov byte [edi + 0xc4], al
mov eax, dword [esp + 0x5e4]
mov word [edi + 0xc5], ax
shr eax, 0x10
mov byte [edi + 0xc7], al
mov eax, dword [esp + 0x684]
mov dword [edi + 0xc8], eax
mov al, byte [esp + 0x56c]
mov byte [edi + 0xcc], al
mov eax, dword [esp + 0x5e8]
mov word [edi + 0xcd], ax
shr eax, 0x10
mov byte [edi + 0xcf], al
mov eax, dword [esp + 0x688]
mov dword [edi + 0xd0], eax
mov al, byte [esp + 0x62]
mov byte [edi + 0xd4], al
mov eax, dword [esp + 0x5ec]
mov word [edi + 0xd5], ax
shr eax, 0x10
mov byte [edi + 0xd7], al
mov eax, dword [esp + 0x68c]
mov dword [edi + 0xd8], eax
mov al, byte [esp + 0x570]
mov byte [edi + 0xdc], al
mov eax, dword [esp + 0x5f0]
mov word [edi + 0xdd], ax
shr eax, 0x10
mov byte [edi + 0xdf], al
mov eax, dword [esp + 0x6a0]
mov dword [edi + 0xe0], eax
mov al, byte [esp + 0x63]
mov byte [edi + 0xe4], al
mov eax, dword [esp + 0x5f4]
mov word [edi + 0xe5], ax
shr eax, 0x10
mov byte [edi + 0xe7], al
mov eax, dword [esp + 0x6b0]
mov dword [edi + 0xe8], eax
mov al, byte [esp + 0x574]
mov byte [edi + 0xec], al
mov eax, dword [esp + 0x5f8]
mov word [edi + 0xed], ax
shr eax, 0x10
mov byte [edi + 0xef], al
mov eax, dword [esp + 0x6c4]
mov dword [edi + 0xf0], eax
mov al, byte [esp + 0x64]
mov byte [edi + 0xf4], al
mov eax, dword [esp + 0x5fc]
mov word [edi + 0xf5], ax
shr eax, 0x10
mov byte [edi + 0xf7], al
mov eax, dword [esp + 0x6d4]
mov dword [edi + 0xf8], eax
mov al, byte [esp + 0x578]
mov byte [edi + 0xfc], al
mov eax, dword [esp + 0x600]
mov word [edi + 0xfd], ax
shr eax, 0x10
mov byte [edi + 0xff], al
mov eax, dword [esp + 0x6dc]
mov dword [edi + 0x100], eax
mov al, byte [esp + 0x65]
mov byte [edi + 0x104], al
mov eax, dword [esp + 0x604]
mov word [edi + 0x105], ax
shr eax, 0x10
mov byte [edi + 0x107], al
mov eax, dword [esp + 0x6e8]
mov dword [edi + 0x108], eax
mov al, byte [esp + 0x57c]
mov byte [edi + 0x10c], al
mov eax, dword [esp + 0x608]
mov word [edi + 0x10d], ax
shr eax, 0x10
mov byte [edi + 0x10f], al
mov eax, dword [esp + 0x6f4]
mov dword [edi + 0x110], eax
mov al, byte [esp + 0x66]
mov byte [edi + 0x114], al
mov eax, dword [esp + 0x60c]
mov word [edi + 0x115], ax
shr eax, 0x10
mov byte [edi + 0x117], al
mov eax, dword [esp + 0x6fc]
mov dword [edi + 0x118], eax
mov al, byte [esp + 0x580]
mov byte [edi + 0x11c], al
mov eax, dword [esp + 0x610]
mov word [edi + 0x11d], ax
shr eax, 0x10
mov byte [edi + 0x11f], al
mov eax, dword [esp + 0x708]
mov dword [edi + 0x120], eax
mov al, byte [esp + 0x67]
mov byte [edi + 0x124], al
mov eax, dword [esp + 0x614]
mov word [edi + 0x125], ax
shr eax, 0x10
mov byte [edi + 0x127], al
mov eax, dword [esp + 0x70c]
mov dword [edi + 0x128], eax
mov al, byte [esp + 0x584]
mov byte [edi + 0x12c], al
mov eax, dword [esp + 0x618]
mov word [edi + 0x12d], ax
shr eax, 0x10
mov byte [edi + 0x12f], al
mov eax, dword [esp + 0x718]
mov dword [edi + 0x130], eax
mov al, byte [esp + 0x68]
mov byte [edi + 0x134], al
mov eax, dword [esp + 0x61c]
mov word [edi + 0x135], ax
shr eax, 0x10
mov byte [edi + 0x137], al
mov eax, dword [esp + 0x720]
mov dword [edi + 0x138], eax
mov al, byte [esp + 0x588]
mov byte [edi + 0x13c], al
mov eax, dword [esp + 0x620]
mov word [edi + 0x13d], ax
shr eax, 0x10
mov byte [edi + 0x13f], al
mov eax, dword [esp + 0x72c]
mov dword [edi + 0x140], eax
mov al, byte [esp + 0x69]
mov byte [edi + 0x144], al
mov eax, dword [esp + 0x624]
mov word [edi + 0x145], ax
shr eax, 0x10
mov byte [edi + 0x147], al
mov eax, dword [esp + 0x730]
mov dword [edi + 0x148], eax
mov al, byte [esp + 0x58c]
mov byte [edi + 0x14c], al
mov eax, dword [esp + 0x628]
mov word [edi + 0x14d], ax
shr eax, 0x10
mov byte [edi + 0x14f], al
mov eax, dword [esp + 0x734]
mov dword [edi + 0x150], eax
mov al, byte [esp + 0x6b]
mov byte [edi + 0x154], al
mov eax, dword [esp + 0x62c]
mov word [edi + 0x155], ax
shr eax, 0x10
mov byte [edi + 0x157], al
mov eax, dword [esp + 0x744]
mov dword [edi + 0x158], eax
mov al, byte [esp + 0x6c]
mov byte [edi + 0x15c], al
mov eax, dword [esp + 0x630]
mov word [edi + 0x15d], ax
shr eax, 0x10
mov byte [edi + 0x15f], al
mov eax, dword [esp + 0x758]
mov dword [edi + 0x160], eax
mov al, byte [esp + 0x5a8]
mov byte [edi + 0x164], al
mov eax, dword [esp + 0x634]
mov word [edi + 0x165], ax
shr eax, 0x10
mov byte [edi + 0x167], al
mov eax, dword [esp + 0x76c]
mov dword [edi + 0x168], eax
mov al, byte [esp + 0x5b0]
mov byte [edi + 0x16c], al
mov eax, dword [esp + 0x638]
mov word [edi + 0x16d], ax
shr eax, 0x10
mov byte [edi + 0x16f], al
mov eax, dword [esp + 0x77c]
mov dword [edi + 0x170], eax
mov al, byte [esp + 0x6d]
mov byte [edi + 0x174], al
mov eax, dword [esp + 0x63c]
mov word [edi + 0x175], ax
shr eax, 0x10
mov byte [edi + 0x177], al
mov eax, dword [esp + 0x788]
mov dword [edi + 0x178], eax
mov al, byte [esp + 0x6e]
mov byte [edi + 0x17c], al
mov eax, dword [esp + 0x640]
mov word [edi + 0x17d], ax
shr eax, 0x10
mov byte [edi + 0x17f], al
mov eax, dword [esp + 0x78c]
mov dword [edi + 0x180], eax
mov al, byte [esp + 0x5c8]
mov byte [edi + 0x184], al
mov eax, dword [esp + 0x644]
mov word [edi + 0x185], ax
shr eax, 0x10
mov byte [edi + 0x187], al
mov eax, dword [esp + 0x794]
mov dword [edi + 0x188], eax
mov al, byte [esp + 0x6e4]
mov byte [edi + 0x18c], al
mov eax, dword [esp + 0x738]
mov word [edi + 0x18d], ax
shr eax, 0x10
mov byte [edi + 0x18f], al
mov eax, dword [esp + 0x7c0]
mov dword [edi + 0x190], eax
mov al, byte [esp + 0x6f0]
mov byte [edi + 0x194], al
mov eax, dword [esp + 0x73c]
mov word [edi + 0x195], ax
shr eax, 0x10
mov byte [edi + 0x197], al
mov eax, dword [esp + 0x7c8]
mov dword [edi + 0x198], eax
mov al, byte [esp + 0x6f8]
mov byte [edi + 0x19c], al
mov eax, dword [esp + 0x740]
mov word [edi + 0x19d], ax
shr eax, 0x10
mov byte [edi + 0x19f], al
mov eax, dword [esp + 0x7d4]
mov dword [edi + 0x1a0], eax
mov al, byte [esp + 0x700]
mov byte [edi + 0x1a4], al
mov eax, dword [esp + 0x748]
mov word [edi + 0x1a5], ax
shr eax, 0x10
mov byte [edi + 0x1a7], al
mov eax, dword [esp + 0x7e0]
mov dword [edi + 0x1a8], eax
mov al, byte [esp + 0x704]
mov byte [edi + 0x1ac], al
mov eax, dword [esp + 0x74c]
mov word [edi + 0x1ad], ax
shr eax, 0x10
mov byte [edi + 0x1af], al
mov eax, dword [esp + 0x7e8]
mov dword [edi + 0x1b0], eax
mov al, byte [esp + 0x71]
mov byte [edi + 0x1b4], al
mov eax, dword [esp + 0x750]
mov word [edi + 0x1b5], ax
shr eax, 0x10
mov byte [edi + 0x1b7], al
mov eax, dword [esp + 0x7ec]
mov dword [edi + 0x1b8], eax
mov al, byte [esp + 0x710]
mov byte [edi + 0x1bc], al
mov eax, dword [esp + 0x754]
mov word [edi + 0x1bd], ax
shr eax, 0x10
mov byte [edi + 0x1bf], al
mov eax, dword [esp + 0x7f0]
mov dword [edi + 0x1c0], eax
mov al, byte [esp + 0x714]
mov byte [edi + 0x1c4], al
mov eax, dword [esp + 0x75c]
mov word [edi + 0x1c5], ax
shr eax, 0x10
mov byte [edi + 0x1c7], al
mov eax, dword [esp + 0x7f8]
mov dword [edi + 0x1c8], eax
mov al, byte [esp + 0x73]
mov byte [edi + 0x1cc], al
mov eax, dword [esp + 0x760]
mov word [edi + 0x1cd], ax
shr eax, 0x10
mov byte [edi + 0x1cf], al
mov eax, dword [esp + 0x800]
mov dword [edi + 0x1d0], eax
mov al, byte [esp + 0x74]
mov byte [edi + 0x1d4], al
mov eax, dword [esp + 0x764]
mov word [edi + 0x1d5], ax
shr eax, 0x10
mov byte [edi + 0x1d7], al
mov eax, dword [esp + 0x808]
mov dword [edi + 0x1d8], eax
mov al, byte [esp + 0x790]
mov byte [edi + 0x1dc], al
mov eax, dword [esp + 0x768]
mov word [edi + 0x1dd], ax
shr eax, 0x10
mov byte [edi + 0x1df], al
mov eax, dword [esp + 0x810]
mov dword [edi + 0x1e0], eax
mov al, byte [esp + 0x798]
mov byte [edi + 0x1e4], al
mov eax, dword [esp + 0x770]
mov word [edi + 0x1e5], ax
shr eax, 0x10
mov byte [edi + 0x1e7], al
mov eax, dword [esp + 0x818]
mov dword [edi + 0x1e8], eax
mov al, byte [esp + 0x76]
mov byte [edi + 0x1ec], al
mov eax, dword [esp + 0x774]
mov word [edi + 0x1ed], ax
shr eax, 0x10
mov byte [edi + 0x1ef], al
mov eax, dword [esp + 0x824]
mov dword [edi + 0x1f0], eax
mov al, byte [esp + 0x79c]
mov byte [edi + 0x1f4], al
mov eax, dword [esp + 0x778]
mov word [edi + 0x1f5], ax
shr eax, 0x10
mov byte [edi + 0x1f7], al
mov eax, dword [esp + 0x834]
mov dword [edi + 0x1f8], eax
mov al, byte [esp + 0x7a0]
mov byte [edi + 0x1fc], al
mov eax, dword [esp + 0x780]
mov word [edi + 0x1fd], ax
shr eax, 0x10
mov byte [edi + 0x1ff], al
mov eax, dword [esp + 0x83c]
mov dword [edi + 0x200], eax
mov al, byte [esp + 0x77]
mov byte [edi + 0x204], al
mov eax, dword [esp + 0x784]
mov word [edi + 0x205], ax
shr eax, 0x10
mov byte [edi + 0x207], al
mov eax, dword [esp + 0x844]
mov dword [edi + 0x208], eax
mov al, byte [esp + 0x6b8]
mov byte [edi + 0x20c], al
mov eax, dword [esp + 0x690]
mov word [edi + 0x20d], ax
shr eax, 0x10
mov byte [edi + 0x20f], al
mov eax, dword [esp + 0x848]
mov dword [edi + 0x210], eax
mov al, byte [esp + 0x6cc]
mov byte [edi + 0x214], al
mov eax, dword [esp + 0x694]
mov word [edi + 0x215], ax
shr eax, 0x10
mov byte [edi + 0x217], al
mov eax, dword [esp + 0x7c4]
mov dword [edi + 0x218], eax
mov al, byte [esp + 0x6d8]
mov byte [edi + 0x21c], al
mov eax, dword [esp + 0x698]
mov word [edi + 0x21d], ax
shr eax, 0x10
mov byte [edi + 0x21f], al
mov eax, dword [esp + 0x7cc]
mov dword [edi + 0x220], eax
mov al, byte [esp + 0x6f]
mov byte [edi + 0x224], al
mov eax, dword [esp + 0x69c]
mov word [edi + 0x225], ax
shr eax, 0x10
mov byte [edi + 0x227], al
mov eax, dword [esp + 0x7d0]
mov dword [edi + 0x228], eax
mov al, byte [esp + 0x6e0]
mov byte [edi + 0x22c], al
mov eax, dword [esp + 0x6a4]
mov word [edi + 0x22d], ax
shr eax, 0x10
mov byte [edi + 0x22f], al
mov eax, dword [esp + 0x7d8]
mov dword [edi + 0x230], eax
mov al, byte [esp + 0x6ec]
mov byte [edi + 0x234], al
mov eax, dword [esp + 0x6a8]
mov word [edi + 0x235], ax
shr eax, 0x10
mov byte [edi + 0x237], al
mov eax, dword [esp + 0x7dc]
mov dword [edi + 0x238], eax
mov al, byte [esp + 0x70]
mov byte [edi + 0x23c], al
mov eax, dword [esp + 0x6ac]
mov word [edi + 0x23d], ax
shr eax, 0x10
mov byte [edi + 0x23f], al
mov eax, dword [esp + 0x7e4]
mov dword [edi + 0x240], eax
mov al, byte [esp + 0x7b4]
mov byte [edi + 0x244], al
mov eax, dword [esp + 0x7a4]
mov word [edi + 0x245], ax
shr eax, 0x10
mov byte [edi + 0x247], al
mov eax, dword [esp + 0x828]
mov dword [edi + 0x248], eax
mov al, byte [esp + 0x7b8]
mov byte [edi + 0x24c], al
mov eax, dword [esp + 0x7a8]
mov word [edi + 0x24d], ax
shr eax, 0x10
mov byte [edi + 0x24f], al
mov eax, dword [esp + 0x838]
mov dword [edi + 0x250], eax
mov al, byte [esp + 0x78]
mov byte [edi + 0x254], al
mov eax, dword [esp + 0x7ac]
mov word [edi + 0x255], ax
shr eax, 0x10
mov byte [edi + 0x257], al
mov eax, dword [esp + 0x840]
mov dword [edi + 0x258], eax
mov al, byte [esp + 0x7bc]
mov byte [edi + 0x25c], al
mov eax, dword [esp + 0x7b0]
mov word [edi + 0x25d], ax
shr eax, 0x10
mov byte [edi + 0x25f], al
mov eax, dword [esp + 0x7f4]
mov dword [edi + 0x260], eax
mov al, byte [esp + 0x72]
mov byte [edi + 0x264], al
mov eax, dword [esp + 0x6b4]
mov word [edi + 0x265], ax
shr eax, 0x10
mov byte [edi + 0x267], al
mov eax, dword [esp + 0x7fc]
mov dword [edi + 0x268], eax
mov al, byte [esp + 0x71c]
mov byte [edi + 0x26c], al
mov eax, dword [esp + 0x6bc]
mov word [edi + 0x26d], ax
shr eax, 0x10
mov byte [edi + 0x26f], al
mov eax, dword [esp + 0x804]
mov dword [edi + 0x270], eax
mov al, byte [esp + 0x724]
mov byte [edi + 0x274], al
mov eax, dword [esp + 0x6c0]
mov word [edi + 0x275], ax
shr eax, 0x10
mov byte [edi + 0x277], al
mov eax, dword [esp + 0x80c]
mov dword [edi + 0x278], eax
mov al, byte [esp + 0x728]
mov byte [edi + 0x27c], al
mov eax, dword [esp + 0x6c8]
mov word [edi + 0x27d], ax
shr eax, 0x10
mov byte [edi + 0x27f], al
mov eax, dword [esp + 0x814]
mov dword [edi + 0x280], eax
mov al, byte [esp + 0x75]
mov byte [edi + 0x284], al
mov eax, dword [esp + 0x6d0]
mov word [edi + 0x285], ax
shr eax, 0x10
mov byte [edi + 0x287], al
xor eax, eax
mov dword [edi + 0x288], esi
mov esi, dword [esp + 0x218]
mov byte [edi + 0x28c], al
mov byte [edi + 0x28f], al
mov eax, dword [esp + 0x1b8]
mov word [edi + 0x28d], 0
mov dword [edi + 0x290], eax
mov al, byte [esp + 0x7a]
mov byte [edi + 0x294], al
mov eax, dword [esp + 0xd0]
mov word [edi + 0x295], ax
shr eax, 0x10
mov byte [edi + 0x297], al
mov eax, dword [esp + 0x1c4]
mov dword [edi + 0x298], eax
mov al, byte [esp + 0x85c]
mov byte [edi + 0x29c], al
mov eax, dword [esp + 0xd8]
mov word [edi + 0x29d], ax
shr eax, 0x10
mov byte [edi + 0x29f], al
mov eax, dword [esp + 0x1cc]
mov dword [edi + 0x2a0], eax
mov al, byte [esp + 0x7b]
mov byte [edi + 0x2a4], al
mov eax, dword [esp + 0xe0]
mov word [edi + 0x2a5], ax
shr eax, 0x10
mov byte [edi + 0x2a7], al
mov eax, dword [esp + 0x1d0]
mov dword [edi + 0x2a8], eax
mov al, byte [esp + 0x860]
mov byte [edi + 0x2ac], al
mov eax, dword [esp + 0xe4]
mov word [edi + 0x2ad], ax
shr eax, 0x10
mov byte [edi + 0x2af], al
mov eax, dword [esp + 0x1d4]
mov dword [edi + 0x2b0], eax
mov al, byte [esp + 0x864]
mov byte [edi + 0x2b4], al
mov eax, dword [esp + 0xec]
mov word [edi + 0x2b5], ax
shr eax, 0x10
mov byte [edi + 0x2b7], al
mov eax, dword [esp + 0x1d8]
mov dword [edi + 0x2b8], eax
mov al, byte [esp + 0x7c]
mov byte [edi + 0x2bc], al
mov eax, dword [esp + 0xf4]
mov word [edi + 0x2bd], ax
shr eax, 0x10
mov byte [edi + 0x2bf], al
mov eax, dword [esp + 0x1dc]
mov dword [edi + 0x2c0], eax
mov al, byte [esp + 0x868]
mov byte [edi + 0x2c4], al
mov eax, dword [esp + 0xf8]
mov word [edi + 0x2c5], ax
shr eax, 0x10
mov byte [edi + 0x2c7], al
mov eax, dword [esp + 0x1e4]
mov dword [edi + 0x2c8], eax
mov al, byte [esp + 0x86c]
mov byte [edi + 0x2cc], al
mov eax, dword [esp + 0x100]
mov word [edi + 0x2cd], ax
shr eax, 0x10
mov byte [edi + 0x2cf], al
mov eax, dword [esp + 0x1f0]
mov dword [edi + 0x2d0], eax
mov al, byte [esp + 0x870]
mov byte [edi + 0x2d4], al
mov eax, dword [esp + 0x108]
mov word [edi + 0x2d5], ax
shr eax, 0x10
mov byte [edi + 0x2d7], al
mov eax, dword [esp + 0x1fc]
mov dword [edi + 0x2d8], eax
mov al, byte [esp + 0x7d]
mov byte [edi + 0x2dc], al
mov eax, dword [esp + 0x10c]
mov word [edi + 0x2dd], ax
shr eax, 0x10
mov byte [edi + 0x2df], al
mov eax, dword [esp + 0x20c]
mov dword [edi + 0x2e0], eax
mov al, byte [esp + 0x874]
mov byte [edi + 0x2e4], al
mov eax, dword [esp + 0x114]
mov word [edi + 0x2e5], ax
shr eax, 0x10
mov byte [edi + 0x2e7], al
mov al, byte [esp + 0x878]
mov dword [edi + 0x2e8], esi
mov esi, dword [esp + 0x228]
mov byte [edi + 0x2ec], al
mov eax, dword [esp + 0x11c]
mov word [edi + 0x2ed], ax
shr eax, 0x10
mov byte [edi + 0x2ef], al
mov al, byte [esp + 0x7e]
mov dword [edi + 0x2f0], esi
mov esi, dword [esp + 0x238]
mov byte [edi + 0x2f4], al
mov eax, dword [esp + 0x120]
mov word [edi + 0x2f5], ax
shr eax, 0x10
mov byte [edi + 0x2f7], al
mov al, byte [esp + 0x87c]
mov dword [edi + 0x2f8], esi
mov esi, dword [esp + 0x248]
mov byte [edi + 0x2fc], al
mov eax, dword [esp + 0x128]
mov word [edi + 0x2fd], ax
shr eax, 0x10
mov byte [edi + 0x2ff], al
mov al, byte [esp + 0x884]
mov dword [edi + 0x300], esi
mov esi, dword [esp + 0x250]
mov byte [edi + 0x304], al
mov eax, dword [esp + 0x130]
mov word [edi + 0x305], ax
shr eax, 0x10
mov byte [edi + 0x307], al
mov al, byte [esp + 0x890]
mov dword [edi + 0x308], esi
mov esi, dword [esp + 0x25c]
mov byte [edi + 0x30c], al
mov eax, dword [esp + 0x138]
mov word [edi + 0x30d], ax
shr eax, 0x10
mov byte [edi + 0x30f], al
mov al, byte [esp + 0x89c]
mov dword [edi + 0x310], esi
mov esi, dword [esp + 0x264]
mov byte [edi + 0x314], al
mov eax, dword [esp + 0x13c]
mov word [edi + 0x315], ax
shr eax, 0x10
mov byte [edi + 0x317], al
mov al, byte [esp + 0x8b0]
mov dword [edi + 0x318], esi
mov esi, dword [esp + 0x26c]
mov byte [edi + 0x31c], al
mov eax, dword [esp + 0x144]
mov word [edi + 0x31d], ax
shr eax, 0x10
mov byte [edi + 0x31f], al
mov al, byte [esp + 0x8bc]
mov dword [edi + 0x320], esi
mov esi, dword [esp + 0x274]
mov byte [edi + 0x324], al
mov eax, dword [esp + 0x14c]
mov word [edi + 0x325], ax
shr eax, 0x10
mov byte [edi + 0x327], al
mov al, byte [esp + 0x8c4]
mov dword [edi + 0x328], esi
mov esi, dword [esp + 0x280]
mov byte [edi + 0x32c], al
mov eax, dword [esp + 0x154]
mov word [edi + 0x32d], ax
shr eax, 0x10
mov byte [edi + 0x32f], al
mov al, byte [esp + 0x8c8]
mov dword [edi + 0x330], esi
mov esi, dword [esp + 0x288]
mov byte [edi + 0x334], al
mov eax, dword [esp + 0x158]
mov word [edi + 0x335], ax
shr eax, 0x10
mov byte [edi + 0x337], al
mov al, byte [esp + 0x8cc]
mov dword [edi + 0x338], esi
mov esi, dword [esp + 0x290]
mov byte [edi + 0x33c], al
mov eax, dword [esp + 0x160]
mov word [edi + 0x33d], ax
shr eax, 0x10
mov byte [edi + 0x33f], al
mov al, byte [esp + 0x8d4]
mov dword [edi + 0x340], esi
mov esi, dword [esp + 0x298]
mov byte [edi + 0x344], al
mov eax, dword [esp + 0x168]
mov word [edi + 0x345], ax
shr eax, 0x10
mov byte [edi + 0x347], al
mov al, byte [esp + 0x8e4]
mov dword [edi + 0x348], esi
mov esi, dword [esp + 0x2a0]
mov byte [edi + 0x34c], al
mov eax, dword [esp + 0x16c]
mov word [edi + 0x34d], ax
shr eax, 0x10
mov byte [edi + 0x34f], al
mov al, byte [esp + 0x8f4]
mov dword [edi + 0x350], esi
mov esi, dword [esp + 0x2a8]
mov byte [edi + 0x354], al
mov eax, dword [esp + 0x174]
mov word [edi + 0x355], ax
shr eax, 0x10
mov byte [edi + 0x357], al
mov al, byte [esp + 0x8f8]
mov dword [edi + 0x358], esi
mov esi, dword [esp + 0x2b4]
mov byte [edi + 0x35c], al
mov eax, dword [esp + 0x17c]
mov word [edi + 0x35d], ax
shr eax, 0x10
mov byte [edi + 0x35f], al
mov al, byte [esp + 0x8fc]
mov dword [edi + 0x360], esi
mov esi, dword [esp + 0x2bc]
mov byte [edi + 0x364], al
mov eax, dword [esp + 0x180]
mov word [edi + 0x365], ax
shr eax, 0x10
mov byte [edi + 0x367], al
mov al, byte [esp + 0x900]
mov dword [edi + 0x368], esi
mov esi, dword [esp + 0x2c4]
mov byte [edi + 0x36c], al
mov eax, dword [esp + 0x188]
mov word [edi + 0x36d], ax
shr eax, 0x10
mov byte [edi + 0x36f], al
mov al, byte [esp + 5]
mov dword [edi + 0x370], esi
mov esi, dword [esp + 0x2c8]
mov byte [edi + 0x374], al
mov eax, dword [esp + 0x190]
mov word [edi + 0x375], ax
shr eax, 0x10
mov byte [edi + 0x377], al
mov al, byte [esp + 6]
mov dword [edi + 0x378], esi
mov esi, dword [esp + 0x2d0]
mov byte [edi + 0x37c], al
mov eax, dword [esp + 0x194]
mov word [edi + 0x37d], ax
shr eax, 0x10
mov byte [edi + 0x37f], al
mov al, byte [esp + 7]
mov dword [edi + 0x380], esi
mov esi, dword [esp + 0x2d8]
mov byte [edi + 0x384], al
mov eax, dword [esp + 0x19c]
mov word [edi + 0x385], ax
shr eax, 0x10
mov byte [edi + 0x387], al
mov al, byte [esp + 9]
mov dword [edi + 0x388], esi
mov esi, dword [esp + 0x2dc]
mov byte [edi + 0x38c], al
mov eax, dword [esp + 0x1a4]
mov word [edi + 0x38d], ax
shr eax, 0x10
mov byte [edi + 0x38f], al
mov al, byte [esp + 0xa]
mov dword [edi + 0x390], esi
mov esi, dword [esp + 0x2e4]
mov byte [edi + 0x394], al
mov eax, dword [esp + 0x1a8]
mov word [edi + 0x395], ax
shr eax, 0x10
mov byte [edi + 0x397], al
mov al, byte [esp + 0x200]
mov dword [edi + 0x398], esi
mov esi, dword [esp + 0x2f0]
mov byte [edi + 0x39c], al
mov eax, dword [esp + 0x1b0]
mov word [edi + 0x39d], ax
shr eax, 0x10
mov byte [edi + 0x39f], al
mov al, byte [esp + 0xb]
mov dword [edi + 0x3a0], esi
mov esi, dword [esp + 0x2fc]
mov byte [edi + 0x3a4], al
mov eax, dword [esp + 0x1ac]
mov word [edi + 0x3a5], ax
shr eax, 0x10
mov byte [edi + 0x3a7], al
mov al, byte [esp + 0x1f4]
mov dword [edi + 0x3a8], esi
mov esi, dword [esp + 0x2f4]
mov byte [edi + 0x3ac], al
mov eax, dword [esp + 0x1a0]
mov word [edi + 0x3ad], ax
shr eax, 0x10
mov byte [edi + 0x3af], al
mov al, byte [esp + 0x1ec]
mov dword [edi + 0x3b0], esi
mov esi, dword [esp + 0x2f8]
mov byte [edi + 0x3b4], al
mov eax, dword [esp + 0x198]
mov word [edi + 0x3b5], ax
shr eax, 0x10
mov byte [edi + 0x3b7], al
mov al, byte [esp + 8]
mov dword [edi + 0x3b8], esi
mov esi, dword [esp + 0x2ec]
mov byte [edi + 0x3bc], al
mov eax, dword [esp + 0x18c]
mov word [edi + 0x3bd], ax
shr eax, 0x10
mov byte [edi + 0x3bf], al
mov al, byte [esp + 0x914]
mov dword [edi + 0x3c0], esi
mov esi, dword [esp + 0x2e8]
mov byte [edi + 0x3c4], al
mov eax, dword [esp + 0x184]
mov word [edi + 0x3c5], ax
shr eax, 0x10
mov byte [edi + 0x3c7], al
mov al, byte [esp + 0x918]
mov dword [edi + 0x3c8], esi
mov esi, dword [esp + 0x2e0]
mov byte [edi + 0x3cc], al
mov eax, dword [esp + 0x178]
mov word [edi + 0x3cd], ax
shr eax, 0x10
mov byte [edi + 0x3cf], al
mov al, byte [esp + 0x91c]
mov dword [edi + 0x3d0], esi
mov esi, dword [esp + 0x2d4]
mov byte [edi + 0x3d4], al
mov eax, dword [esp + 0x170]
mov word [edi + 0x3d5], ax
shr eax, 0x10
mov byte [edi + 0x3d7], al
mov al, byte [esp + 0x920]
mov dword [edi + 0x3d8], esi
mov esi, dword [esp + 0x2cc]
mov byte [edi + 0x3dc], al
mov eax, dword [esp + 0x164]
mov word [edi + 0x3dd], ax
shr eax, 0x10
mov byte [edi + 0x3df], al
mov al, byte [esp + 0x55c]
mov dword [edi + 0x3e0], esi
mov esi, dword [esp + 0x2c0]
mov byte [edi + 0x3e4], al
mov eax, dword [esp + 0x15c]
mov word [edi + 0x3e5], ax
shr eax, 0x10
mov byte [edi + 0x3e7], al
mov al, byte [esp + 0x524]
mov dword [edi + 0x3e8], esi
mov esi, dword [esp + 0x2b8]
mov byte [edi + 0x3ec], al
mov eax, dword [esp + 0x150]
mov word [edi + 0x3ed], ax
shr eax, 0x10
mov byte [edi + 0x3ef], al
mov al, byte [esp + 0x52c]
mov dword [edi + 0x3f0], esi
mov esi, dword [esp + 0x2b0]
mov byte [edi + 0x3f4], al
mov eax, dword [esp + 0x148]
mov word [edi + 0x3f5], ax
shr eax, 0x10
mov byte [edi + 0x3f7], al
mov al, byte [esp + 0x7f]
mov dword [edi + 0x3f8], esi
mov esi, dword [esp + 0x2ac]
mov byte [edi + 0x3fc], al
mov eax, dword [esp + 0x140]
mov word [edi + 0x3fd], ax
shr eax, 0x10
mov byte [edi + 0x3ff], al
mov al, byte [esp + 0x54c]
mov dword [edi + 0x400], esi
mov esi, dword [esp + 0x2a4]
mov byte [edi + 0x404], al
mov eax, dword [esp + 0x134]
mov word [edi + 0x405], ax
shr eax, 0x10
mov byte [edi + 0x407], al
mov al, byte [esp + 0x37]
mov dword [edi + 0x408], esi
mov esi, dword [esp + 0x29c]
mov byte [edi + 0x40c], al
mov eax, dword [esp + 0x12c]
mov word [edi + 0x40d], ax
shr eax, 0x10
mov byte [edi + 0x40f], al
mov al, byte [esp + 0x550]
mov dword [edi + 0x410], esi
mov esi, dword [esp + 0x294]
mov byte [edi + 0x414], al
mov eax, dword [esp + 0x124]
mov word [edi + 0x415], ax
shr eax, 0x10
mov byte [edi + 0x417], al
mov al, byte [esp + 0x540]
mov dword [edi + 0x418], esi
mov esi, dword [esp + 0x28c]
mov byte [edi + 0x41c], al
mov eax, dword [esp + 0x118]
mov word [edi + 0x41d], ax
shr eax, 0x10
mov byte [edi + 0x41f], al
mov al, byte [esp + 0x4f0]
mov dword [edi + 0x420], esi
mov esi, dword [esp + 0x284]
mov byte [edi + 0x424], al
mov eax, dword [esp + 0x110]
mov word [edi + 0x425], ax
shr eax, 0x10
mov byte [edi + 0x427], al
mov al, byte [esp + 0x8c]
mov dword [edi + 0x428], esi
mov esi, dword [esp + 0x27c]
mov byte [edi + 0x42c], al
mov eax, dword [esp + 0x104]
mov word [edi + 0x42d], ax
shr eax, 0x10
mov byte [edi + 0x42f], al
mov al, byte [esp + 0x50c]
mov dword [edi + 0x430], esi
mov esi, dword [esp + 0x278]
mov byte [edi + 0x434], al
mov eax, dword [esp + 0xfc]
mov word [edi + 0x435], ax
shr eax, 0x10
mov byte [edi + 0x437], al
mov al, byte [esp + 0x528]
mov dword [edi + 0x438], esi
mov esi, dword [esp + 0x270]
mov byte [edi + 0x43c], al
mov eax, dword [esp + 0xf0]
mov word [edi + 0x43d], ax
shr eax, 0x10
mov byte [edi + 0x43f], al
mov al, byte [esp + 0xcc]
mov dword [edi + 0x440], esi
mov esi, dword [esp + 0x268]
mov byte [edi + 0x444], al
mov eax, dword [esp + 0xe8]
mov word [edi + 0x445], ax
shr eax, 0x10
mov byte [edi + 0x447], al
mov al, byte [esp + 0x1b]
mov dword [edi + 0x448], esi
mov esi, dword [esp + 0x260]
mov byte [edi + 0x44c], al
mov eax, dword [esp + 0xdc]
mov word [edi + 0x44d], ax
shr eax, 0x10
mov byte [edi + 0x44f], al
mov al, byte [esp + 0x514]
mov dword [edi + 0x450], esi
mov esi, dword [esp + 0x258]
mov byte [edi + 0x454], al
mov eax, dword [esp + 0xd4]
mov word [edi + 0x455], ax
shr eax, 0x10
mov byte [edi + 0x457], al
mov al, byte [esp + 0x51c]
mov dword [edi + 0x458], esi
mov esi, dword [esp + 0x254]
mov byte [edi + 0x45c], al
mov eax, dword [esp + 0x4ec]
mov word [edi + 0x45d], ax
shr eax, 0x10
mov byte [edi + 0x45f], al
mov al, byte [esp + 0x500]
mov dword [edi + 0x460], esi
mov esi, dword [esp + 0x24c]
mov byte [edi + 0x464], al
mov eax, dword [esp + 0x4e8]
mov word [edi + 0x465], ax
shr eax, 0x10
mov byte [edi + 0x467], al
mov al, byte [esp + 0x19]
mov dword [edi + 0x468], esi
mov esi, dword [esp + 0x244]
mov byte [edi + 0x46c], al
mov eax, dword [esp + 0x520]
mov word [edi + 0x46d], ax
shr eax, 0x10
mov byte [edi + 0x46f], al
mov al, byte [esp + 0x1a]
mov dword [edi + 0x470], esi
mov esi, dword [esp + 0x234]
mov byte [edi + 0x474], al
mov eax, dword [esp + 0x518]
mov word [edi + 0x475], ax
shr eax, 0x10
mov byte [edi + 0x477], al
mov al, byte [esp + 0x4fc]
mov dword [edi + 0x478], esi
mov esi, dword [esp + 0x224]
mov byte [edi + 0x47c], al
mov eax, dword [esp + 0x510]
mov word [edi + 0x47d], ax
shr eax, 0x10
mov byte [edi + 0x47f], al
mov al, byte [esp + 3]
mov dword [edi + 0x480], esi
mov esi, dword [esp + 0x21c]
mov byte [edi + 0x484], al
mov eax, dword [esp + 0x4f4]
mov word [edi + 0x485], ax
shr eax, 0x10
mov byte [edi + 0x487], al
mov al, byte [esp + 4]
mov dword [edi + 0x488], esi
mov esi, dword [esp + 0x240]
mov byte [edi + 0x48c], al
mov eax, dword [esp + 0xc8]
mov word [edi + 0x48d], ax
shr eax, 0x10
mov byte [edi + 0x48f], al
mov eax, dword [esp + 0x210]
mov dword [edi + 0x490], eax
mov al, byte [esp + 0x79]
mov byte [edi + 0x494], al
mov eax, dword [esp + 0x8a0]
mov word [edi + 0x495], ax
shr eax, 0x10
mov byte [edi + 0x497], al
mov eax, dword [esp + 0x204]
mov dword [edi + 0x498], eax
mov al, byte [esp + 0x84c]
mov byte [edi + 0x49c], al
mov eax, dword [esp + 0x830]
mov word [edi + 0x49d], ax
shr eax, 0x10
mov byte [edi + 0x49f], al
mov eax, dword [esp + 0x1c8]
mov dword [edi + 0x4a0], eax
mov al, byte [esp + 0x850]
mov byte [edi + 0x4a4], al
mov eax, dword [esp + 0x82c]
mov word [edi + 0x4a5], ax
shr eax, 0x10
mov byte [edi + 0x4a7], al
mov eax, dword [esp + 0x1c0]
mov dword [edi + 0x4a8], eax
mov al, byte [esp + 0x854]
mov byte [edi + 0x4ac], al
mov eax, dword [esp + 0x820]
mov word [edi + 0x4ad], ax
shr eax, 0x10
mov byte [edi + 0x4af], al
mov eax, dword [esp + 0x1bc]
mov dword [edi + 0x4b0], eax
mov al, byte [esp + 0x858]
mov byte [edi + 0x4b4], al
mov eax, dword [esp + 0x81c]
mov word [edi + 0x4b5], ax
shr eax, 0x10
mov byte [edi + 0x4b7], al
mov eax, dword [esp + 0x1b4]
mov dword [edi + 0x4b8], eax
mov al, byte [esp + 0x910]
mov byte [edi + 0x4bc], al
mov eax, dword [esp + 0x8c0]
mov word [edi + 0x4bd], ax
shr eax, 0x10
mov byte [edi + 0x4bf], al
mov al, byte [esp + 0x90c]
mov dword [edi + 0x4c0], esi
mov esi, dword [esp + 0x23c]
mov byte [edi + 0x4c4], al
mov eax, dword [esp + 0x8b8]
mov word [edi + 0x4c5], ax
shr eax, 0x10
mov byte [edi + 0x4c7], al
mov al, byte [esp + 0x908]
mov dword [edi + 0x4c8], esi
mov esi, dword [esp + 0x230]
mov byte [edi + 0x4cc], al
mov eax, dword [esp + 0x8b4]
mov word [edi + 0x4cd], ax
shr eax, 0x10
mov byte [edi + 0x4cf], al
mov al, byte [esp + 0x904]
mov dword [edi + 0x4d0], esi
mov esi, dword [esp + 0x22c]
mov byte [edi + 0x4d4], al
mov eax, dword [esp + 0x8ac]
mov word [edi + 0x4d5], ax
shr eax, 0x10
mov byte [edi + 0x4d7], al
mov al, byte [esp + 0x8d0]
mov dword [edi + 0x4d8], esi
mov esi, dword [esp + 0x220]
mov byte [edi + 0x4dc], al
mov eax, dword [esp + 0x8a8]
mov word [edi + 0x4dd], ax
shr eax, 0x10
mov byte [edi + 0x4df], al
mov al, byte [esp + 0x8d8]
mov dword [edi + 0x4e0], esi
mov esi, dword [esp + 0x214]
mov byte [edi + 0x4e4], al
mov eax, dword [esp + 0x8a4]
mov word [edi + 0x4e5], ax
shr eax, 0x10
mov byte [edi + 0x4e7], al
mov al, byte [esp + 0x8dc]
mov dword [edi + 0x4e8], esi
mov byte [edi + 0x4ec], al
mov eax, dword [esp + 0x898]
mov word [edi + 0x4ed], ax
shr eax, 0x10
mov byte [edi + 0x4ef], al
mov eax, dword [esp + 0x208]
mov dword [edi + 0x4f0], eax
mov al, byte [esp + 0x8e0]
mov byte [edi + 0x4f4], al
mov eax, dword [esp + 0x894]
mov word [edi + 0x4f5], ax
shr eax, 0x10
mov byte [edi + 0x4f7], al
mov eax, dword [esp + 0x1f8]
mov dword [edi + 0x4f8], eax
mov al, byte [esp + 0x8e8]
mov byte [edi + 0x4fc], al
mov eax, dword [esp + 0x88c]
mov word [edi + 0x4fd], ax
shr eax, 0x10
mov byte [edi + 0x4ff], al
mov eax, dword [esp + 0x1e8]
mov dword [edi + 0x500], eax
mov al, byte [esp + 0x8ec]
mov byte [edi + 0x504], al
mov eax, dword [esp + 0x888]
mov word [edi + 0x505], ax
shr eax, 0x10
mov byte [edi + 0x507], al
mov eax, dword [esp + 0x1e0]
mov dword [edi + 0x508], eax
mov al, byte [esp + 0x8f0]
mov byte [edi + 0x50c], al
mov eax, dword [esp + 0x880]
mov word [edi + 0x50d], ax
shr eax, 0x10
mov byte [edi + 0x50f], al
mov eax, dword [esp + 0x4e0]
mov dword [edi + 0x510], eax
mov al, byte [esp + 0x304]
mov byte [edi + 0x514], al
mov eax, dword [esp + 0x4e4]
mov word [edi + 0x515], ax
shr eax, 0x10
mov byte [edi + 0x517], al
mov eax, dword [esp + 0x4dc]
mov dword [edi + 0x518], eax
mov al, byte [esp + 0xc]
mov byte [edi + 0x51c], al
mov eax, dword [esp + 0x40c]
mov word [edi + 0x51d], ax
shr eax, 0x10
mov byte [edi + 0x51f], al
mov eax, dword [esp + 0x418]
mov dword [edi + 0x520], eax
mov al, byte [esp + 0x308]
mov byte [edi + 0x524], al
mov eax, dword [esp + 0x408]
mov word [edi + 0x525], ax
shr eax, 0x10
mov byte [edi + 0x527], al
mov eax, dword [esp + 0x420]
mov dword [edi + 0x528], eax
mov al, byte [esp + 0xd]
mov byte [edi + 0x52c], al
mov eax, dword [esp + 0x404]
mov word [edi + 0x52d], ax
shr eax, 0x10
mov byte [edi + 0x52f], al
mov eax, dword [esp + 0x41c]
mov dword [edi + 0x530], eax
mov al, byte [esp + 0x30c]
mov byte [edi + 0x534], al
mov eax, dword [esp + 0x400]
mov word [edi + 0x535], ax
shr eax, 0x10
mov byte [edi + 0x537], al
mov eax, dword [esp + 0x428]
mov dword [edi + 0x538], eax
mov al, byte [esp + 0x310]
mov byte [edi + 0x53c], al
mov eax, dword [esp + 0x3fc]
mov word [edi + 0x53d], ax
shr eax, 0x10
mov byte [edi + 0x53f], al
mov eax, dword [esp + 0x424]
mov dword [edi + 0x540], eax
mov al, byte [esp + 0x314]
mov byte [edi + 0x544], al
mov eax, dword [esp + 0x3f8]
mov word [edi + 0x545], ax
shr eax, 0x10
mov byte [edi + 0x547], al
mov eax, dword [esp + 0x430]
mov dword [edi + 0x548], eax
mov al, byte [esp + 0xe]
mov byte [edi + 0x54c], al
mov eax, dword [esp + 0x3f4]
mov word [edi + 0x54d], ax
shr eax, 0x10
mov byte [edi + 0x54f], al
mov eax, dword [esp + 0x438]
mov dword [edi + 0x550], eax
mov al, byte [esp + 0xf]
mov byte [edi + 0x554], al
mov eax, dword [esp + 0x3ec]
mov word [edi + 0x555], ax
shr eax, 0x10
mov byte [edi + 0x557], al
mov eax, dword [esp + 0x434]
mov dword [edi + 0x558], eax
mov al, byte [esp + 0x318]
mov byte [edi + 0x55c], al
mov eax, dword [esp + 0x3e8]
mov word [edi + 0x55d], ax
shr eax, 0x10
mov byte [edi + 0x55f], al
mov eax, dword [esp + 0xc4]
mov dword [edi + 0x560], eax
mov al, byte [esp + 0x31c]
mov byte [edi + 0x564], al
mov eax, dword [esp + 0x3e4]
mov word [edi + 0x565], ax
shr eax, 0x10
mov byte [edi + 0x567], al
mov eax, dword [esp + 0x440]
mov dword [edi + 0x568], eax
mov al, byte [esp + 0x320]
mov byte [edi + 0x56c], al
mov eax, dword [esp + 0x3e0]
mov word [edi + 0x56d], ax
shr eax, 0x10
mov byte [edi + 0x56f], al
mov eax, dword [esp + 0x43c]
mov dword [edi + 0x570], eax
mov al, byte [esp + 0x10]
mov byte [edi + 0x574], al
mov eax, dword [esp + 0x3dc]
mov word [edi + 0x575], ax
shr eax, 0x10
mov byte [edi + 0x577], al
mov eax, dword [esp + 0x448]
mov dword [edi + 0x578], eax
mov al, byte [esp + 0x324]
mov byte [edi + 0x57c], al
mov eax, dword [esp + 0x3d8]
mov word [edi + 0x57d], ax
shr eax, 0x10
mov byte [edi + 0x57f], al
mov eax, dword [esp + 0x444]
mov dword [edi + 0x580], eax
mov al, byte [esp + 0x328]
mov byte [edi + 0x584], al
mov eax, dword [esp + 0x3d0]
mov word [edi + 0x585], ax
shr eax, 0x10
mov byte [edi + 0x587], al
mov eax, dword [esp + 0x450]
mov dword [edi + 0x588], eax
mov al, byte [esp + 0x32c]
mov byte [edi + 0x58c], al
mov eax, dword [esp + 0x3cc]
mov word [edi + 0x58d], ax
shr eax, 0x10
mov byte [edi + 0x58f], al
mov eax, dword [esp + 0x44c]
mov dword [edi + 0x590], eax
mov al, byte [esp + 0x11]
mov byte [edi + 0x594], al
mov eax, dword [esp + 0x3c8]
mov word [edi + 0x595], ax
shr eax, 0x10
mov byte [edi + 0x597], al
mov eax, dword [esp + 0x458]
mov dword [edi + 0x598], eax
mov al, byte [esp + 0x330]
mov byte [edi + 0x59c], al
mov eax, dword [esp + 0x3c4]
mov word [edi + 0x59d], ax
shr eax, 0x10
mov byte [edi + 0x59f], al
mov eax, dword [esp + 0x454]
mov dword [edi + 0x5a0], eax
mov al, byte [esp + 0x334]
mov byte [edi + 0x5a4], al
mov eax, dword [esp + 0x3c0]
mov word [edi + 0x5a5], ax
shr eax, 0x10
mov byte [edi + 0x5a7], al
mov eax, dword [esp + 0x460]
mov dword [edi + 0x5a8], eax
mov al, byte [esp + 0x12]
mov byte [edi + 0x5ac], al
mov eax, dword [esp + 0x3bc]
mov word [edi + 0x5ad], ax
shr eax, 0x10
mov byte [edi + 0x5af], al
mov eax, dword [esp + 0x45c]
mov dword [edi + 0x5b0], eax
mov al, byte [esp + 0x338]
mov byte [edi + 0x5b4], al
mov eax, dword [esp + 0x3b8]
mov word [edi + 0x5b5], ax
shr eax, 0x10
mov byte [edi + 0x5b7], al
mov eax, dword [esp + 0x464]
mov dword [edi + 0x5b8], eax
mov al, byte [esp + 0x13]
mov byte [edi + 0x5bc], al
mov eax, dword [esp + 0x3b4]
mov word [edi + 0x5bd], ax
shr eax, 0x10
mov byte [edi + 0x5bf], al
mov eax, dword [esp + 0x46c]
mov dword [edi + 0x5c0], eax
mov al, byte [esp + 0x33c]
mov byte [edi + 0x5c4], al
mov eax, dword [esp + 0x3b0]
mov word [edi + 0x5c5], ax
shr eax, 0x10
mov byte [edi + 0x5c7], al
mov eax, dword [esp + 0x468]
mov dword [edi + 0x5c8], eax
mov al, byte [esp + 0x340]
mov byte [edi + 0x5cc], al
mov eax, dword [esp + 0x3ac]
mov word [edi + 0x5cd], ax
shr eax, 0x10
mov byte [edi + 0x5cf], al
mov eax, dword [esp + 0x470]
mov dword [edi + 0x5d0], eax
mov al, byte [esp + 0x344]
mov byte [edi + 0x5d4], al
mov eax, dword [esp + 0x3a8]
mov word [edi + 0x5d5], ax
shr eax, 0x10
mov byte [edi + 0x5d7], al
mov eax, dword [esp + 0x478]
mov dword [edi + 0x5d8], eax
mov al, byte [esp + 0x348]
mov byte [edi + 0x5dc], al
mov eax, dword [esp + 0x3a0]
mov word [edi + 0x5dd], ax
shr eax, 0x10
mov byte [edi + 0x5df], al
mov eax, dword [esp + 0x474]
mov dword [edi + 0x5e0], eax
mov al, byte [esp + 0x14]
mov byte [edi + 0x5e4], al
mov eax, dword [esp + 0x39c]
mov word [edi + 0x5e5], ax
shr eax, 0x10
mov byte [edi + 0x5e7], al
mov eax, dword [esp + 0x480]
mov dword [edi + 0x5e8], eax
mov al, byte [esp + 0x34c]
mov byte [edi + 0x5ec], al
mov eax, dword [esp + 0x47c]
mov word [edi + 0x5ed], dx
shr edx, 0x10
mov byte [edi + 0x5ef], dl
mov edx, dword [esp + 0x90]
mov dword [edi + 0x5f0], eax
mov al, byte [esp + 0x15]
mov byte [edi + 0x5f4], al
mov eax, dword [esp + 0x484]
mov word [edi + 0x5f5], bx
shr ebx, 0x10
mov byte [edi + 0x5f7], bl
mov dword [edi + 0x5f8], eax
mov al, byte [esp + 0x350]
mov byte [edi + 0x5fc], al
mov eax, dword [esp + 0x398]
mov word [edi + 0x5fd], ax
shr eax, 0x10
mov byte [edi + 0x5ff], al
mov eax, dword [esp + 0x488]
mov dword [edi + 0x600], eax
mov al, byte [esp + 0x354]
mov byte [edi + 0x604], al
mov eax, dword [esp + 0x48c]
mov word [edi + 0x605], cx
shr ecx, 0x10
mov byte [edi + 0x607], cl
mov ecx, dword [esp + 0x94]
mov dword [edi + 0x608], eax
mov al, byte [esp + 0x358]
mov byte [edi + 0x60c], al
mov eax, dword [esp + 0x394]
mov word [edi + 0x60d], ax
shr eax, 0x10
mov byte [edi + 0x60f], al
mov eax, dword [esp + 0x490]
mov dword [edi + 0x610], eax
mov al, byte [esp + 0x35c]
mov byte [edi + 0x614], al
mov eax, dword [esp + 0x390]
mov word [edi + 0x615], ax
shr eax, 0x10
mov byte [edi + 0x617], al
mov eax, dword [esp + 0x494]
mov dword [edi + 0x618], eax
mov al, byte [esp + 0x16]
mov byte [edi + 0x61c], al
mov eax, dword [esp + 0x38c]
mov word [edi + 0x61d], ax
shr eax, 0x10
mov byte [edi + 0x61f], al
mov eax, dword [esp + 0x498]
mov dword [edi + 0x620], eax
mov al, byte [esp + 0x17]
mov byte [edi + 0x624], al
mov eax, dword [esp + 0x388]
mov word [edi + 0x625], ax
shr eax, 0x10
mov byte [edi + 0x627], al
mov eax, dword [esp + 0x49c]
mov dword [edi + 0x628], eax
mov al, byte [esp + 0x360]
mov byte [edi + 0x62c], al
mov eax, dword [esp + 0x384]
mov word [edi + 0x62d], ax
shr eax, 0x10
mov byte [edi + 0x62f], al
mov eax, dword [esp + 0x4a0]
mov dword [edi + 0x630], eax
mov al, byte [esp + 0x364]
mov byte [edi + 0x634], al
mov eax, dword [esp + 0x380]
mov word [edi + 0x635], ax
shr eax, 0x10
mov byte [edi + 0x637], al
mov eax, dword [esp + 0x4a4]
mov dword [edi + 0x638], eax
mov al, byte [esp + 0x368]
mov byte [edi + 0x63c], al
mov eax, dword [esp + 0x37c]
mov word [edi + 0x63d], ax
shr eax, 0x10
mov byte [edi + 0x63f], al
mov eax, dword [esp + 0x4a8]
mov dword [edi + 0x640], eax
mov al, byte [esp + 0x3a4]
mov byte [edi + 0x644], al
mov eax, dword [esp + 0x378]
mov word [edi + 0x645], ax
shr eax, 0x10
mov byte [edi + 0x647], al
mov eax, dword [esp + 0x4ac]
mov dword [edi + 0x648], eax
mov al, byte [esp + 0x18]
mov byte [edi + 0x64c], al
mov eax, dword [esp + 0x374]
mov word [edi + 0x64d], ax
shr eax, 0x10
mov byte [edi + 0x64f], al
mov eax, dword [esp + 0x4b0]
mov dword [edi + 0x650], eax
mov al, byte [esp + 0x3d4]
mov byte [edi + 0x654], al
mov eax, dword [esp + 0x370]
mov word [edi + 0x655], ax
shr eax, 0x10
mov byte [edi + 0x657], al
mov eax, dword [esp + 0x4b4]
mov dword [edi + 0x658], eax
mov al, byte [esp + 0x3f0]
mov byte [edi + 0x65c], al
mov eax, dword [esp + 0x36c]
mov word [edi + 0x65d], ax
shr eax, 0x10
mov byte [edi + 0x65f], al
mov eax, dword [esp + 0x4b8]
mov dword [edi + 0x660], eax
mov al, byte [esp + 0x410]
mov byte [edi + 0x664], al
mov eax, dword [esp + 0x4d8]
mov word [edi + 0x665], ax
shr eax, 0x10
mov byte [edi + 0x667], al
mov eax, dword [esp + 0x4bc]
mov dword [edi + 0x668], eax
mov al, byte [esp + 0x414]
mov byte [edi + 0x66c], al
mov eax, dword [esp + 0x4d4]
mov word [edi + 0x66d], ax
shr eax, 0x10
mov byte [edi + 0x66f], al
mov eax, dword [esp + 0x4c0]
mov dword [edi + 0x670], eax
mov al, byte [esp + 0x42c]
mov byte [edi + 0x674], al
mov eax, dword [esp + 0x4d0]
mov word [edi + 0x675], ax
shr eax, 0x10
mov byte [edi + 0x677], al
mov eax, dword [esp + 0x4cc]
mov dword [edi + 0x678], eax
mov eax, dword [esp + 0x4c4]
mov dword [edi + 0x67c], eax
mov eax, dword [esp + 0x4c8]
mov dword [edi + 0x680], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 0x684], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x688], eax
mov eax, dword [esp + 0xc0]
mov dword [edi + 0x68c], eax
xor eax, eax
cmp byte [esp + 0x50], 0
mov byte [edi + 0x690], al
mov dword [esp + 0x974], edx
mov dword [esp + 0x970], ecx
je 0x506789
lea eax, [esp + 0x978]
lea edi, [esp + 0x1c78]
push 0x698
push eax
push edi
call fcn.0064a810
add esp, 0xc
mov al, byte [0x803894]
mov ecx, 0x6a0
mov edx, 8
call fcn.004889b0
test eax, eax
je 0x51cfd2
mov esi, eax
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov eax, esi
add eax, 8
push 0x698
push edi
push eax
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x938]
mov dword [eax + 4], esi
mov dword [eax + 8], 0x768aec
mov dword [eax], 2
jmp 0x514f0f
movzx eax, byte [esp + 0x9a7]
movzx ecx, word [esp + 0x9a5]
movzx esi, word [esp + 0xfed]
movzx edx, word [esp + 0x1009]
mov edi, dword [esp + 0xffc]
mov bh, byte [esp + 0xd04]
mov bl, byte [esp + 0xd14]
shl eax, 0x10
mov dword [esp + 0x540], edi
or ecx, eax
movzx eax, byte [esp + 0x9af]
mov dword [esp + 0x920], ecx
movzx ecx, word [esp + 0x9ad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9b7]
mov dword [esp + 0x558], ecx
movzx ecx, word [esp + 0x9b5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9bf]
mov dword [esp + 0x518], ecx
movzx ecx, word [esp + 0x9bd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9c7]
mov dword [esp + 0x298], ecx
movzx ecx, word [esp + 0x9c5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9cf]
mov dword [esp + 0x2ac], ecx
movzx ecx, word [esp + 0x9cd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9d7]
mov dword [esp + 0x2b0], ecx
movzx ecx, word [esp + 0x9d5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9df]
mov dword [esp + 0x2b8], ecx
movzx ecx, word [esp + 0x9dd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9e7]
mov dword [esp + 0x2c8], ecx
movzx ecx, word [esp + 0x9e5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9ef]
mov dword [esp + 0x2cc], ecx
movzx ecx, word [esp + 0x9ed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9f7]
mov dword [esp + 0x2dc], ecx
movzx ecx, word [esp + 0x9f5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9ff]
mov dword [esp + 0x2e4], ecx
movzx ecx, word [esp + 0x9fd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa07]
mov dword [esp + 0x2f4], ecx
movzx ecx, word [esp + 0xa05]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa0f]
mov dword [esp + 0x2fc], ecx
movzx ecx, word [esp + 0xa0d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa17]
mov dword [esp + 0x304], ecx
movzx ecx, word [esp + 0xa15]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa1f]
mov dword [esp + 0x300], ecx
movzx ecx, word [esp + 0xa1d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa27]
mov dword [esp + 0x310], ecx
movzx ecx, word [esp + 0xa25]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa2f]
mov dword [esp + 0x314], ecx
movzx ecx, word [esp + 0xa2d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa37]
mov dword [esp + 0x324], ecx
movzx ecx, word [esp + 0xa35]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa3f]
mov dword [esp + 0x320], ecx
movzx ecx, word [esp + 0xa3d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa47]
mov dword [esp + 0x32c], ecx
movzx ecx, word [esp + 0xa45]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa4f]
mov dword [esp + 0x330], ecx
movzx ecx, word [esp + 0xa4d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa57]
mov dword [esp + 0x338], ecx
movzx ecx, word [esp + 0xa55]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa5f]
mov dword [esp + 0x33c], ecx
movzx ecx, word [esp + 0xa5d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa67]
mov dword [esp + 0x34c], ecx
movzx ecx, word [esp + 0xa65]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa6f]
mov dword [esp + 0x340], ecx
movzx ecx, word [esp + 0xa6d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa77]
mov dword [esp + 0x358], ecx
movzx ecx, word [esp + 0xa75]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa7f]
mov dword [esp + 0x35c], ecx
movzx ecx, word [esp + 0xa7d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa87]
mov dword [esp + 0x364], ecx
movzx ecx, word [esp + 0xa85]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa8f]
mov dword [esp + 0x360], ecx
movzx ecx, word [esp + 0xa8d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa97]
mov dword [esp + 0x370], ecx
movzx ecx, word [esp + 0xa95]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa9f]
mov dword [esp + 0x374], ecx
movzx ecx, word [esp + 0xa9d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaa7]
mov dword [esp + 0x38c], ecx
movzx ecx, word [esp + 0xaa5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaaf]
mov dword [esp + 0x390], ecx
movzx ecx, word [esp + 0xaad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xab7]
mov dword [esp + 0x39c], ecx
movzx ecx, word [esp + 0xab5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xabf]
mov dword [esp + 0x398], ecx
movzx ecx, word [esp + 0xabd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xac7]
mov dword [esp + 0x3a8], ecx
movzx ecx, word [esp + 0xac5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xacf]
mov dword [esp + 0x3b4], ecx
movzx ecx, word [esp + 0xacd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xad7]
mov dword [esp + 0x3c4], ecx
movzx ecx, word [esp + 0xad5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xadf]
mov dword [esp + 0x3c0], ecx
movzx ecx, word [esp + 0xadd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xae7]
mov dword [esp + 0x3d0], ecx
movzx ecx, word [esp + 0xae5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaef]
mov dword [esp + 0x3d4], ecx
movzx ecx, word [esp + 0xaed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaf7]
mov dword [esp + 0x3e4], ecx
movzx ecx, word [esp + 0xaf5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaff]
mov dword [esp + 0x3e8], ecx
movzx ecx, word [esp + 0xafd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb07]
mov dword [esp + 0x3f8], ecx
movzx ecx, word [esp + 0xb05]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb0f]
mov dword [esp + 0x3f4], ecx
movzx ecx, word [esp + 0xb0d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb17]
mov dword [esp + 0x410], ecx
movzx ecx, word [esp + 0xb15]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb1f]
mov dword [esp + 0x414], ecx
movzx ecx, word [esp + 0xb1d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb27]
mov dword [esp + 0x420], ecx
movzx ecx, word [esp + 0xb25]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb2f]
mov dword [esp + 0x424], ecx
movzx ecx, word [esp + 0xb2d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb37]
mov dword [esp + 0x42c], ecx
movzx ecx, word [esp + 0xb35]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb3f]
mov dword [esp + 0x438], ecx
movzx ecx, word [esp + 0xb3d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb47]
mov dword [esp + 0x50c], ecx
movzx ecx, word [esp + 0xb45]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb4f]
mov dword [esp + 0x440], ecx
movzx ecx, word [esp + 0xb4d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb57]
mov dword [esp + 0x520], ecx
movzx ecx, word [esp + 0xb55]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb5f]
mov dword [esp + 0x450], ecx
movzx ecx, word [esp + 0xb5d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb67]
mov dword [esp + 0x500], ecx
movzx ecx, word [esp + 0xb65]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb6f]
mov dword [esp + 0x45c], ecx
movzx ecx, word [esp + 0xb6d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb77]
mov dword [esp + 0x46c], ecx
movzx ecx, word [esp + 0xb75]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb7f]
mov dword [esp + 0x468], ecx
movzx ecx, word [esp + 0xb7d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb87]
mov dword [esp + 0x474], ecx
movzx ecx, word [esp + 0xb85]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb8f]
mov dword [esp + 0x47c], ecx
movzx ecx, word [esp + 0xb8d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb97]
mov dword [esp + 0x488], ecx
movzx ecx, word [esp + 0xb95]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb9f]
mov dword [esp + 0x484], ecx
movzx ecx, word [esp + 0xb9d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xba7]
mov dword [esp + 0x30], ecx
movzx ecx, word [esp + 0xba5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbaf]
mov dword [esp + 0x490], ecx
movzx ecx, word [esp + 0xbad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbb7]
mov dword [esp + 0x40], ecx
movzx ecx, word [esp + 0xbb5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbbf]
mov dword [esp + 0x24], ecx
movzx ecx, word [esp + 0xbbd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbc7]
mov dword [esp + 0x498], ecx
movzx ecx, word [esp + 0xbc5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbcf]
mov dword [esp + 0x494], ecx
movzx ecx, word [esp + 0xbcd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbd7]
mov dword [esp + 0x49c], ecx
movzx ecx, word [esp + 0xbd5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbdf]
mov dword [esp + 0x4a0], ecx
movzx ecx, word [esp + 0xbdd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbe7]
mov dword [esp + 0x4a8], ecx
movzx ecx, word [esp + 0xbe5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbef]
mov dword [esp + 0x4a4], ecx
movzx ecx, word [esp + 0xbed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbf7]
mov dword [esp + 0x4b0], ecx
movzx ecx, word [esp + 0xbf5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbff]
mov dword [esp + 0x4ac], ecx
movzx ecx, word [esp + 0xbfd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc07]
mov dword [esp + 0x4b4], ecx
movzx ecx, word [esp + 0xc05]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc0f]
mov dword [esp + 0x4b8], ecx
movzx ecx, word [esp + 0xc0d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc17]
mov dword [esp + 0x4c0], ecx
movzx ecx, word [esp + 0xc15]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc1f]
mov dword [esp + 0x4bc], ecx
movzx ecx, word [esp + 0xc1d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc27]
mov dword [esp + 0x4c4], ecx
movzx ecx, word [esp + 0xc25]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc2f]
mov dword [esp + 0x4c8], ecx
movzx ecx, word [esp + 0xc2d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc37]
mov dword [esp + 0x4d0], ecx
movzx ecx, word [esp + 0xc35]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc3f]
mov dword [esp + 0x4cc], ecx
movzx ecx, word [esp + 0xc3d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc47]
mov dword [esp + 0x4d8], ecx
movzx ecx, word [esp + 0xc45]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc4f]
mov dword [esp + 0x4d4], ecx
movzx ecx, word [esp + 0xc4d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc57]
mov dword [esp + 0x4e0], ecx
movzx ecx, word [esp + 0xc55]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc5f]
mov dword [esp + 0x4dc], ecx
movzx ecx, word [esp + 0xc5d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc67]
mov dword [esp + 0xc0], ecx
movzx ecx, word [esp + 0xc65]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc6f]
mov dword [esp + 0x4e4], ecx
movzx ecx, word [esp + 0xc6d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc77]
mov dword [esp + 0x90], ecx
movzx ecx, word [esp + 0xc75]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc7f]
mov dword [esp + 0x94], ecx
movzx ecx, word [esp + 0xc7d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc87]
mov dword [esp + 0x98], ecx
movzx ecx, word [esp + 0xc85]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc8f]
mov dword [esp + 0x50], ecx
movzx ecx, word [esp + 0xc8d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc97]
mov dword [esp + 0xa0], ecx
movzx ecx, word [esp + 0xc95]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xc9f]
mov dword [esp + 0x9c], ecx
movzx ecx, word [esp + 0xc9d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xca7]
mov dword [esp + 0xa4], ecx
movzx ecx, word [esp + 0xca5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcaf]
mov dword [esp + 0xa8], ecx
movzx ecx, word [esp + 0xcad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcb7]
mov dword [esp + 0xb0], ecx
movzx ecx, word [esp + 0xcb5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcbf]
mov dword [esp + 0xac], ecx
movzx ecx, word [esp + 0xcbd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcc7]
mov dword [esp + 0xb4], ecx
movzx ecx, word [esp + 0xcc5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xccf]
mov dword [esp + 0xb8], ecx
movzx ecx, word [esp + 0xccd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcd7]
mov dword [esp + 0x88], ecx
movzx ecx, word [esp + 0xcd5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcdf]
mov dword [esp + 0xbc], ecx
movzx ecx, word [esp + 0xcdd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xce7]
mov dword [esp + 0x44], ecx
movzx ecx, word [esp + 0xce5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcef]
mov dword [esp + 0x84], ecx
movzx ecx, word [esp + 0xced]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcf7]
mov dword [esp + 0x2c], ecx
movzx ecx, word [esp + 0xcf5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xcff]
mov dword [esp + 0x38], ecx
movzx ecx, word [esp + 0xcfd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd07]
mov dword [esp + 0x20], ecx
movzx ecx, word [esp + 0xd05]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd0f]
mov dword [esp + 0x28], ecx
movzx ecx, word [esp + 0xd0d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd17]
mov dword [esp + 0x54], ecx
movzx ecx, word [esp + 0xd15]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd1f]
mov dword [esp + 0x4c], ecx
movzx ecx, word [esp + 0xd1d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd27]
mov dword [esp + 0x620], ecx
movzx ecx, word [esp + 0xd25]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd2f]
mov dword [esp + 0x624], ecx
movzx ecx, word [esp + 0xd2d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd37]
mov dword [esp + 0x630], ecx
movzx ecx, word [esp + 0xd35]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd3f]
mov dword [esp + 0x63c], ecx
movzx ecx, word [esp + 0xd3d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd47]
mov dword [esp + 0x644], ecx
movzx ecx, word [esp + 0xd45]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd4f]
mov dword [esp + 0x64c], ecx
movzx ecx, word [esp + 0xd4d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd57]
mov dword [esp + 0x658], ecx
movzx ecx, word [esp + 0xd55]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd5f]
mov dword [esp + 0x664], ecx
movzx ecx, word [esp + 0xd5d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd67]
mov dword [esp + 0x668], ecx
movzx ecx, word [esp + 0xd65]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd6f]
mov dword [esp + 0x674], ecx
movzx ecx, word [esp + 0xd6d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd77]
mov dword [esp + 0x680], ecx
movzx ecx, word [esp + 0xd75]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd7f]
mov dword [esp + 0x688], ecx
movzx ecx, word [esp + 0xd7d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd87]
mov dword [esp + 0x690], ecx
movzx ecx, word [esp + 0xd85]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd8f]
mov dword [esp + 0x69c], ecx
movzx ecx, word [esp + 0xd8d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd97]
mov dword [esp + 0x6a4], ecx
movzx ecx, word [esp + 0xd95]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xd9f]
mov dword [esp + 0x6ac], ecx
movzx ecx, word [esp + 0xd9d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xda7]
mov dword [esp + 0x6b8], ecx
movzx ecx, word [esp + 0xda5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdaf]
mov dword [esp + 0x6c4], ecx
movzx ecx, word [esp + 0xdad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdb7]
mov dword [esp + 0x6cc], ecx
movzx ecx, word [esp + 0xdb5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdbf]
mov dword [esp + 0x6d4], ecx
movzx ecx, word [esp + 0xdbd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdc7]
mov dword [esp + 0x6dc], ecx
movzx ecx, word [esp + 0xdc5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdcf]
mov dword [esp + 0x6e4], ecx
movzx ecx, word [esp + 0xdcd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdd7]
mov dword [esp + 0x6ec], ecx
movzx ecx, word [esp + 0xdd5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xddf]
mov dword [esp + 0x6f4], ecx
movzx ecx, word [esp + 0xddd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xde7]
mov dword [esp + 0x700], ecx
movzx ecx, word [esp + 0xde5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdef]
mov dword [esp + 0x708], ecx
movzx ecx, word [esp + 0xded]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdf7]
mov dword [esp + 0x70c], ecx
movzx ecx, word [esp + 0xdf5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xdff]
mov dword [esp + 0x714], ecx
movzx ecx, word [esp + 0xdfd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe07]
mov dword [esp + 0x71c], ecx
movzx ecx, word [esp + 0xe05]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe0f]
mov dword [esp + 0x724], ecx
movzx ecx, word [esp + 0xe0d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe17]
mov dword [esp + 0x728], ecx
movzx ecx, word [esp + 0xe15]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe1f]
mov dword [esp + 0x730], ecx
movzx ecx, word [esp + 0xe1d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe27]
mov dword [esp + 0x73c], ecx
movzx ecx, word [esp + 0xe25]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe2f]
mov dword [esp + 0x740], ecx
movzx ecx, word [esp + 0xe2d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe37]
mov dword [esp + 0x74c], ecx
movzx ecx, word [esp + 0xe35]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe3f]
mov dword [esp + 0x754], ecx
movzx ecx, word [esp + 0xe3d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe47]
mov dword [esp + 0x75c], ecx
movzx ecx, word [esp + 0xe45]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe4f]
mov dword [esp + 0x768], ecx
movzx ecx, word [esp + 0xe4d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe57]
mov dword [esp + 0x774], ecx
movzx ecx, word [esp + 0xe55]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe5f]
mov dword [esp + 0x77c], ecx
movzx ecx, word [esp + 0xe5d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe67]
mov dword [esp + 0x784], ecx
movzx ecx, word [esp + 0xe65]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe6f]
mov dword [esp + 0x790], ecx
movzx ecx, word [esp + 0xe6d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe77]
mov dword [esp + 0x798], ecx
movzx ecx, word [esp + 0xe75]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe7f]
mov dword [esp + 0x79c], ecx
movzx ecx, word [esp + 0xe7d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe87]
mov dword [esp + 0x7a4], ecx
movzx ecx, word [esp + 0xe85]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe8f]
mov dword [esp + 0x7b0], ecx
movzx ecx, word [esp + 0xe8d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe97]
mov dword [esp + 0x7b8], ecx
movzx ecx, word [esp + 0xe95]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xe9f]
mov dword [esp + 0x7bc], ecx
movzx ecx, word [esp + 0xe9d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xea7]
mov dword [esp + 0x7c8], ecx
movzx ecx, word [esp + 0xea5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xeaf]
mov dword [esp + 0x7d0], ecx
movzx ecx, word [esp + 0xead]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xeb7]
mov dword [esp + 0x7d8], ecx
movzx ecx, word [esp + 0xeb5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xebf]
mov dword [esp + 0x7e4], ecx
movzx ecx, word [esp + 0xebd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xec7]
mov dword [esp + 0x7f0], ecx
movzx ecx, word [esp + 0xec5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xecf]
mov dword [esp + 0x7f8], ecx
movzx ecx, word [esp + 0xecd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xed7]
mov dword [esp + 0x800], ecx
movzx ecx, word [esp + 0xed5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xedf]
mov dword [esp + 0x80c], ecx
movzx ecx, word [esp + 0xedd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xee7]
mov dword [esp + 0x818], ecx
movzx ecx, word [esp + 0xee5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xeef]
mov dword [esp + 0x81c], ecx
movzx ecx, word [esp + 0xeed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xef7]
mov dword [esp + 0x828], ecx
movzx ecx, word [esp + 0xef5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xeff]
mov dword [esp + 0x834], ecx
movzx ecx, word [esp + 0xefd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf07]
mov dword [esp + 0x83c], ecx
movzx ecx, word [esp + 0xf05]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf0f]
mov dword [esp + 0x844], ecx
movzx ecx, word [esp + 0xf0d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf17]
mov dword [esp + 0x84c], ecx
movzx ecx, word [esp + 0xf15]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf1f]
mov dword [esp + 0x854], ecx
movzx ecx, word [esp + 0xf1d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf27]
mov dword [esp + 0x85c], ecx
movzx ecx, word [esp + 0xf25]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf2f]
mov dword [esp + 0x860], ecx
movzx ecx, word [esp + 0xf2d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf37]
mov dword [esp + 0x868], ecx
movzx ecx, word [esp + 0xf35]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf3f]
mov dword [esp + 0x870], ecx
movzx ecx, word [esp + 0xf3d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf47]
mov dword [esp + 0x874], ecx
movzx ecx, word [esp + 0xf45]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf4f]
mov dword [esp + 0x87c], ecx
movzx ecx, word [esp + 0xf4d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf57]
mov dword [esp + 0x880], ecx
movzx ecx, word [esp + 0xf55]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf5f]
mov dword [esp + 0x890], ecx
movzx ecx, word [esp + 0xf5d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf67]
mov dword [esp + 0x89c], ecx
movzx ecx, word [esp + 0xf65]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf6f]
mov dword [esp + 0x8a8], ecx
movzx ecx, word [esp + 0xf6d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf77]
mov dword [esp + 0x8ac], ecx
movzx ecx, word [esp + 0xf75]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf7f]
mov dword [esp + 0x8b8], ecx
movzx ecx, word [esp + 0xf7d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf87]
mov dword [esp + 0x8c0], ecx
movzx ecx, word [esp + 0xf85]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf8f]
mov dword [esp + 0x8c8], ecx
movzx ecx, word [esp + 0xf8d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf97]
mov dword [esp + 0x8cc], ecx
movzx ecx, word [esp + 0xf95]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xf9f]
mov dword [esp + 0x8d4], ecx
movzx ecx, word [esp + 0xf9d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfa7]
mov dword [esp + 0x8dc], ecx
movzx ecx, word [esp + 0xfa5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfaf]
mov dword [esp + 0x8e4], ecx
movzx ecx, word [esp + 0xfad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfb7]
mov dword [esp + 0x8e8], ecx
movzx ecx, word [esp + 0xfb5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfbf]
mov dword [esp + 0x8f0], ecx
movzx ecx, word [esp + 0xfbd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfc7]
mov dword [esp + 0x900], ecx
movzx ecx, word [esp + 0xfc5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfcf]
mov dword [esp + 0x904], ecx
movzx ecx, word [esp + 0xfcd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfd7]
mov dword [esp + 0x908], ecx
movzx ecx, word [esp + 0xfd5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfdf]
mov dword [esp + 0x90c], ecx
movzx ecx, word [esp + 0xfdd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfe7]
mov dword [esp + 0x910], ecx
movzx ecx, word [esp + 0xfe5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xfef]
mov dword [esp + 0x914], ecx
mov cl, byte [esp + 0xcfc]
mov ch, byte [esp + 0xd0c]
shl eax, 0x10
or esi, eax
movzx eax, byte [esp + 0x100b]
shl eax, 0x10
or edx, eax
mov eax, dword [esp + 0x978]
cmp byte [edi + 0x40], 0
mov dword [esp + 0x55c], edx
mov edx, dword [esp + 0x97c]
mov dword [esp + 0x54c], eax
mov eax, dword [esp + 0x980]
mov dword [esp + 0x918], eax
mov eax, dword [esp + 0x984]
mov dword [esp + 0x91c], eax
mov eax, dword [esp + 0x988]
mov dword [esp + 0x538], eax
mov eax, dword [esp + 0x98c]
mov dword [esp + 0x924], eax
mov eax, dword [esp + 0x990]
mov dword [esp + 0x92c], eax
mov eax, dword [esp + 0x994]
mov dword [esp + 0x928], eax
mov eax, dword [esp + 0x998]
mov dword [esp + 0x930], eax
mov eax, dword [esp + 0x99c]
mov dword [esp + 0x934], eax
mov eax, dword [esp + 0x9a0]
mov dword [esp + 0x534], eax
mov eax, dword [esp + 0x9a8]
mov dword [esp + 0x514], eax
mov eax, dword [esp + 0x9b0]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x9b8]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x9c0]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x9c8]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x9d0]
mov dword [esp + 0x560], eax
mov eax, dword [esp + 0x9d8]
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0x9e0]
mov dword [esp + 0x510], eax
mov eax, dword [esp + 0x9e8]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x9f0]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x9f8]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xa00]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xa08]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xa10]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0xa18]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0xa20]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xa28]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0xa30]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0xa38]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0xa40]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0xa48]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0xa50]
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0xa58]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0xa60]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xa68]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0xa70]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0xa78]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0xa80]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0xa88]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0xa90]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0xa98]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0xaa0]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0xaa8]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0xab0]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xab8]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0xac0]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0xac8]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0xad0]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0xad8]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0xae0]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0xae8]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0xaf0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0xaf8]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0xb00]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0xb08]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0xb10]
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0xb18]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0xb28]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0xb30]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0xb38]
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0xb40]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0xb48]
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0xb50]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0xb58]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0xb60]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0xb68]
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0xb70]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0xb78]
mov dword [esp + 0x274], eax
mov eax, dword [esp + 0xb80]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0xb88]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0xb90]
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0xb98]
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0xba0]
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0xba8]
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0xbb0]
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0xbb8]
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0xbc0]
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0xbc8]
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0xbd0]
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0xbd8]
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0xbe0]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0xbe8]
mov dword [esp + 0x30c], eax
mov eax, dword [esp + 0xbf0]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0xbf8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0xc00]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0xc08]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0xc10]
mov dword [esp + 0x344], eax
mov eax, dword [esp + 0xc18]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0xc20]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0xc28]
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0xc30]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0xc38]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0xc40]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0xc48]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0xc50]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0xc58]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0xc60]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0xc68]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0xc70]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0xc78]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0xc80]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0xc88]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0xc90]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0xc98]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0xca0]
mov dword [esp + 0x418], eax
mov eax, dword [esp + 0xca8]
mov dword [esp + 0x428], eax
mov eax, dword [esp + 0xcb0]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xcb8]
mov dword [esp + 0x4fc], eax
mov eax, dword [esp + 0xcc0]
mov dword [esp + 0x448], eax
mov eax, dword [esp + 0xcc8]
mov dword [esp + 0x44c], eax
mov eax, dword [esp + 0xcd0]
mov dword [esp + 0x460], eax
mov eax, dword [esp + 0xcd8]
mov dword [esp + 0x464], eax
mov eax, dword [esp + 0xce0]
mov dword [esp + 0x478], eax
mov eax, dword [esp + 0xce8]
mov dword [esp + 0x470], eax
mov eax, dword [esp + 0xcf0]
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0xcf8]
mov dword [esp + 0x48c], eax
mov eax, dword [esp + 0xd00]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xd08]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xd10]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xd18]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xd20]
mov dword [esp + 0x564], eax
mov eax, dword [esp + 0xd28]
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0xd30]
mov dword [esp + 0x56c], eax
mov eax, dword [esp + 0xd38]
mov dword [esp + 0x570], eax
mov eax, dword [esp + 0xd40]
mov dword [esp + 0x574], eax
mov eax, dword [esp + 0xd48]
mov dword [esp + 0x578], eax
mov eax, dword [esp + 0xd50]
mov dword [esp + 0x57c], eax
mov eax, dword [esp + 0xd58]
mov dword [esp + 0x580], eax
mov eax, dword [esp + 0xd60]
mov dword [esp + 0x584], eax
mov eax, dword [esp + 0xd68]
mov dword [esp + 0x588], eax
mov eax, dword [esp + 0xd70]
mov dword [esp + 0x58c], eax
mov eax, dword [esp + 0xd78]
mov dword [esp + 0x590], eax
mov eax, dword [esp + 0xd80]
mov dword [esp + 0x594], eax
mov eax, dword [esp + 0xd88]
mov dword [esp + 0x598], eax
mov eax, dword [esp + 0xd90]
mov dword [esp + 0x5a0], eax
mov eax, dword [esp + 0xd98]
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0xda0]
mov dword [esp + 0x5b0], eax
mov eax, dword [esp + 0xda8]
mov dword [esp + 0x5b8], eax
mov eax, dword [esp + 0xdb0]
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0xdb8]
mov dword [esp + 0x5c0], eax
mov eax, dword [esp + 0xdc0]
mov dword [esp + 0x5c8], eax
mov eax, dword [esp + 0xdc8]
mov dword [esp + 0x5d0], eax
mov eax, dword [esp + 0xdd0]
mov dword [esp + 0x5d8], eax
mov eax, dword [esp + 0xdd8]
mov dword [esp + 0x5e0], eax
mov eax, dword [esp + 0xde0]
mov dword [esp + 0x5e8], eax
mov eax, dword [esp + 0xde8]
mov dword [esp + 0x5f0], eax
mov eax, dword [esp + 0xdf0]
mov dword [esp + 0x5f8], eax
mov eax, dword [esp + 0xdf8]
mov dword [esp + 0x600], eax
mov eax, dword [esp + 0xe00]
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0xe08]
mov dword [esp + 0x610], eax
mov eax, dword [esp + 0xe10]
mov dword [esp + 0x61c], eax
mov eax, dword [esp + 0xe18]
mov dword [esp + 0x628], eax
mov eax, dword [esp + 0xe20]
mov dword [esp + 0x638], eax
mov eax, dword [esp + 0xe28]
mov dword [esp + 0x640], eax
mov eax, dword [esp + 0xe30]
mov dword [esp + 0x650], eax
mov eax, dword [esp + 0xe38]
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0xe40]
mov dword [esp + 0x66c], eax
mov eax, dword [esp + 0xe48]
mov dword [esp + 0x678], eax
mov eax, dword [esp + 0xe50]
mov dword [esp + 0x684], eax
mov eax, dword [esp + 0xe58]
mov dword [esp + 0x694], eax
mov eax, dword [esp + 0xe60]
mov dword [esp + 0x6a0], eax
mov eax, dword [esp + 0xe68]
mov dword [esp + 0x6b0], eax
mov eax, dword [esp + 0xe70]
mov dword [esp + 0x6bc], eax
mov eax, dword [esp + 0xe78]
mov dword [esp + 0x6c8], eax
mov eax, dword [esp + 0xe80]
mov dword [esp + 0x6d8], eax
mov eax, dword [esp + 0xe88]
mov dword [esp + 0x6e0], eax
mov eax, dword [esp + 0xe90]
mov dword [esp + 0x6f0], eax
mov eax, dword [esp + 0xe98]
mov dword [esp + 0x6f8], eax
mov eax, dword [esp + 0xea0]
mov dword [esp + 0x704], eax
mov eax, dword [esp + 0xea8]
mov dword [esp + 0x710], eax
mov eax, dword [esp + 0xeb0]
mov dword [esp + 0x718], eax
mov eax, dword [esp + 0xeb8]
mov dword [esp + 0x720], eax
mov eax, dword [esp + 0xec0]
mov dword [esp + 0x72c], eax
mov eax, dword [esp + 0xec8]
mov dword [esp + 0x734], eax
mov eax, dword [esp + 0xed0]
mov dword [esp + 0x744], eax
mov eax, dword [esp + 0xed8]
mov dword [esp + 0x750], eax
mov eax, dword [esp + 0xee0]
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0xee8]
mov dword [esp + 0x76c], eax
mov eax, dword [esp + 0xef0]
mov dword [esp + 0x778], eax
mov eax, dword [esp + 0xef8]
mov dword [esp + 0x788], eax
mov eax, dword [esp + 0xf00]
mov dword [esp + 0x794], eax
mov eax, dword [esp + 0xf08]
mov dword [esp + 0x7a0], eax
mov eax, dword [esp + 0xf10]
mov dword [esp + 0x7a8], eax
mov eax, dword [esp + 0xf18]
mov dword [esp + 0x7b4], eax
mov eax, dword [esp + 0xf20]
mov dword [esp + 0x7c0], eax
mov eax, dword [esp + 0xf28]
mov dword [esp + 0x7cc], eax
mov eax, dword [esp + 0xf30]
mov dword [esp + 0x7dc], eax
mov eax, dword [esp + 0xf38]
mov dword [esp + 0x7e8], eax
mov eax, dword [esp + 0xf40]
mov dword [esp + 0x7f4], eax
mov eax, dword [esp + 0xf48]
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0xf50]
mov dword [esp + 0x810], eax
mov eax, dword [esp + 0xf58]
mov dword [esp + 0x820], eax
mov eax, dword [esp + 0xf60]
mov dword [esp + 0x82c], eax
mov eax, dword [esp + 0xf68]
mov dword [esp + 0x838], eax
mov eax, dword [esp + 0xf70]
mov dword [esp + 0x848], eax
mov eax, dword [esp + 0xf78]
mov dword [esp + 0x850], eax
mov eax, dword [esp + 0xf80]
mov dword [esp + 0x858], eax
mov eax, dword [esp + 0xf88]
mov dword [esp + 0x864], eax
mov eax, dword [esp + 0xf90]
mov dword [esp + 0x86c], eax
mov eax, dword [esp + 0xf98]
mov dword [esp + 0x878], eax
mov eax, dword [esp + 0xfa0]
mov dword [esp + 0x884], eax
mov eax, dword [esp + 0xfa8]
mov dword [esp + 0x894], eax
mov eax, dword [esp + 0xfb0]
mov dword [esp + 0x8a0], eax
mov eax, dword [esp + 0xfb8]
mov dword [esp + 0x8b0], eax
mov eax, dword [esp + 0xfc0]
mov dword [esp + 0x8bc], eax
mov eax, dword [esp + 0xfc8]
mov dword [esp + 0x8c4], eax
mov eax, dword [esp + 0xfd0]
mov dword [esp + 0x8d0], eax
mov eax, dword [esp + 0xfd8]
mov dword [esp + 0x8d8], eax
mov eax, dword [esp + 0xfe0]
mov dword [esp + 0x8e0], eax
mov eax, dword [esp + 0xfe8]
mov dword [esp + 0x8ec], eax
mov al, byte [esp + 0xfec]
mov byte [esp + 0x548], al
movzx eax, al
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xff0]
mov dword [esp + 0x8f4], eax
mov eax, dword [esp + 0xff8]
mov dword [esp + 0x8fc], eax
mov eax, dword [esp + 0x1000]
mov dword [esp + 0x8f8], eax
mov eax, dword [esp + 0x1004]
mov dword [esp + 0x53c], eax
mov eax, dword [esp + 0x100c]
mov dword [esp + 0x51c], eax
mov al, byte [esp + 0x9a4]
mov byte [esp + 0x7f], al
mov al, byte [esp + 0x9ac]
mov byte [esp + 0x4f8], al
mov al, byte [esp + 0x9b4]
mov byte [esp + 0x1b], al
mov al, byte [esp + 0x9bc]
mov byte [esp + 0xd0], al
mov al, byte [esp + 0x9c4]
mov byte [esp + 0xd4], al
mov al, byte [esp + 0x9cc]
mov byte [esp + 3], al
mov al, byte [esp + 0x9d4]
mov byte [esp + 4], al
mov al, byte [esp + 0x9dc]
mov byte [esp + 0xe0], al
mov al, byte [esp + 0x9e4]
mov byte [esp + 0xe8], al
mov al, byte [esp + 0x9ec]
mov byte [esp + 0xf0], al
mov al, byte [esp + 0x9f4]
mov byte [esp + 0xf4], al
mov al, byte [esp + 0x9fc]
mov byte [esp + 0xf8], al
mov al, byte [esp + 0xa04]
mov byte [esp + 0xfc], al
mov al, byte [esp + 0xa0c]
mov byte [esp + 0x104], al
mov al, byte [esp + 0xa14]
mov byte [esp + 0x10c], al
mov al, byte [esp + 0xa1c]
mov byte [esp + 0x114], al
mov al, byte [esp + 0xa24]
mov byte [esp + 0x118], al
mov al, byte [esp + 0xa2c]
mov byte [esp + 0x124], al
mov al, byte [esp + 0xa34]
mov byte [esp + 0x128], al
mov al, byte [esp + 0xa3c]
mov byte [esp + 0x134], al
mov al, byte [esp + 0xa44]
mov byte [esp + 0x13c], al
mov al, byte [esp + 0xa4c]
mov byte [esp + 0x144], al
mov al, byte [esp + 0xa54]
mov byte [esp + 0x148], al
mov al, byte [esp + 0xa5c]
mov byte [esp + 0x158], al
mov al, byte [esp + 0xa64]
mov byte [esp + 0x154], al
mov al, byte [esp + 0xa6c]
mov byte [esp + 0x164], al
mov al, byte [esp + 0xa74]
mov byte [esp + 0x168], al
mov al, byte [esp + 0xa7c]
mov byte [esp + 0x174], al
mov al, byte [esp + 0xa84]
mov byte [esp + 0x178], al
mov al, byte [esp + 0xa8c]
mov byte [esp + 0x184], al
mov al, byte [esp + 0xa94]
mov byte [esp + 0x188], al
mov al, byte [esp + 0xa9c]
mov byte [esp + 0x194], al
mov al, byte [esp + 0xaa4]
mov byte [esp + 0x198], al
mov al, byte [esp + 0xaac]
mov byte [esp + 0x1a4], al
mov al, byte [esp + 0xab4]
mov byte [esp + 0x1ac], al
mov al, byte [esp + 0xc04]
mov byte [esp + 0xd], al
mov al, byte [esp + 0xabc]
mov byte [esp + 0x1b4], al
mov al, byte [esp + 0xac4]
mov byte [esp + 0x1b8], al
mov al, byte [esp + 0xbf4]
mov byte [esp + 0x2f0], al
mov al, byte [esp + 0xbfc]
mov byte [esp + 0xc], al
mov al, byte [esp + 0xacc]
mov byte [esp + 0x1c4], al
mov al, byte [esp + 0xad4]
mov byte [esp + 0x1c8], al
mov al, byte [esp + 0xbe4]
mov byte [esp + 0x2d4], al
mov al, byte [esp + 0xbec]
mov byte [esp + 0x2e8], al
mov al, byte [esp + 0xadc]
mov byte [esp + 5], al
mov al, byte [esp + 0xae4]
mov byte [esp + 6], al
mov al, byte [esp + 0xbd4]
mov byte [esp + 0x2bc], al
mov al, byte [esp + 0xbdc]
mov byte [esp + 0x2d0], al
mov al, byte [esp + 0xaec]
mov byte [esp + 7], al
mov al, byte [esp + 0xaf4]
mov byte [esp + 0x1dc], al
mov al, byte [esp + 0xbc4]
mov byte [esp + 0x2a4], al
mov al, byte [esp + 0xbcc]
mov byte [esp + 0x2b4], al
mov al, byte [esp + 0xafc]
mov byte [esp + 9], al
mov al, byte [esp + 0xb04]
mov byte [esp + 8], al
mov al, byte [esp + 0xbb4]
mov byte [esp + 0x28c], al
mov al, byte [esp + 0xbbc]
mov byte [esp + 0x29c], al
mov al, byte [esp + 0xb0c]
mov byte [esp + 0x1f0], al
mov al, byte [esp + 0xb14]
mov byte [esp + 0xa], al
mov al, byte [esp + 0xba4]
mov byte [esp + 0x278], al
mov al, byte [esp + 0xbac]
mov byte [esp + 0x288], al
mov al, byte [esp + 0xb1c]
mov byte [esp + 0xb], al
mov al, byte [esp + 0xb24]
mov byte [esp + 0x1fc], al
mov al, byte [esp + 0xb94]
mov byte [esp + 0x26c], al
mov al, byte [esp + 0xb9c]
mov byte [esp + 0x27c], al
mov al, byte [esp + 0xb2c]
mov byte [esp + 0x208], al
mov al, byte [esp + 0xb34]
mov byte [esp + 0x20c], al
mov al, byte [esp + 0xb84]
mov byte [esp + 0x260], al
mov al, byte [esp + 0xb8c]
mov byte [esp + 0x268], al
mov al, byte [esp + 0xb3c]
mov byte [esp + 0x218], al
mov al, byte [esp + 0xb44]
mov byte [esp + 0x21c], al
mov al, byte [esp + 0xb74]
mov byte [esp + 0x24c], al
mov al, byte [esp + 0xb7c]
mov byte [esp + 0x258], al
mov al, byte [esp + 0xb4c]
mov byte [esp + 0x224], al
mov al, byte [esp + 0xb54]
mov byte [esp + 0x22c], al
mov al, byte [esp + 0xb64]
mov byte [esp + 0x23c], al
mov al, byte [esp + 0xb6c]
mov byte [esp + 0x248], al
mov al, byte [esp + 0xb5c]
mov byte [esp + 0x238], al
mov al, byte [esp + 0xc0c]
mov byte [esp + 0xe], al
mov al, byte [esp + 0xc14]
mov byte [esp + 0xf], al
mov al, byte [esp + 0xc1c]
mov byte [esp + 0x10], al
mov al, byte [esp + 0xc24]
mov byte [esp + 0x11], al
mov al, byte [esp + 0xc2c]
mov byte [esp + 0x12], al
mov al, byte [esp + 0xc34]
mov byte [esp + 0x13], al
mov al, byte [esp + 0xc3c]
mov byte [esp + 0x15], al
mov al, byte [esp + 0xc44]
mov byte [esp + 0x14], al
mov al, byte [esp + 0xc4c]
mov byte [esp + 0x16], al
mov al, byte [esp + 0xc54]
mov byte [esp + 0x17], al
mov al, byte [esp + 0xc5c]
mov byte [esp + 0x378], al
mov al, byte [esp + 0xc64]
mov byte [esp + 0x37c], al
mov al, byte [esp + 0xc6c]
mov byte [esp + 0x388], al
mov al, byte [esp + 0xc74]
mov byte [esp + 0x394], al
mov al, byte [esp + 0xc7c]
mov byte [esp + 0x3ac], al
mov al, byte [esp + 0xc84]
mov byte [esp + 0x3b0], al
mov al, byte [esp + 0xc8c]
mov byte [esp + 0x18], al
mov al, byte [esp + 0xc94]
mov byte [esp + 0x3cc], al
mov al, byte [esp + 0xc9c]
mov byte [esp + 0x3dc], al
mov al, byte [esp + 0xca4]
mov byte [esp + 0x3e0], al
mov al, byte [esp + 0xcac]
mov byte [esp + 0x3fc], al
mov al, byte [esp + 0xcb4]
mov byte [esp + 0x400], al
mov al, byte [esp + 0xcbc]
mov byte [esp + 0x40c], al
mov al, byte [esp + 0xcc4]
mov byte [esp + 0x41c], al
mov al, byte [esp + 0xccc]
mov byte [esp + 0x430], al
mov al, byte [esp + 0xcd4]
mov byte [esp + 0x434], al
mov al, byte [esp + 0xcdc]
mov byte [esp + 0x444], al
mov al, byte [esp + 0xce4]
mov byte [esp + 0x43c], al
mov al, byte [esp + 0xcec]
mov byte [esp + 0x454], al
mov al, byte [esp + 0xcf4]
mov byte [esp + 0x458], al
mov al, byte [esp + 0xd1c]
mov byte [esp + 0x5b], al
mov al, byte [esp + 0xd24]
mov byte [esp + 0x5c], al
mov al, byte [esp + 0xd2c]
mov byte [esp + 0x5d], al
mov al, byte [esp + 0xd34]
mov byte [esp + 0x5e], al
mov al, byte [esp + 0xd3c]
mov byte [esp + 0x5f], al
mov al, byte [esp + 0xd44]
mov byte [esp + 0x60], al
mov al, byte [esp + 0xd4c]
mov byte [esp + 0x61], al
mov al, byte [esp + 0xd54]
mov byte [esp + 0x62], al
mov al, byte [esp + 0xd5c]
mov byte [esp + 0x63], al
mov al, byte [esp + 0xd64]
mov byte [esp + 0x64], al
mov al, byte [esp + 0xd6c]
mov byte [esp + 0x65], al
mov al, byte [esp + 0xd74]
mov byte [esp + 0x66], al
mov al, byte [esp + 0xd7c]
mov byte [esp + 0x67], al
mov al, byte [esp + 0xd84]
mov byte [esp + 0x68], al
mov al, byte [esp + 0xd8c]
mov byte [esp + 0x69], al
mov al, byte [esp + 0xd94]
mov byte [esp + 0x6a], al
mov al, byte [esp + 0xd9c]
mov byte [esp + 0x6b], al
mov al, byte [esp + 0xda4]
mov byte [esp + 0x6c], al
mov al, byte [esp + 0xdac]
mov byte [esp + 0x59c], al
mov al, byte [esp + 0xdb4]
mov byte [esp + 0x5a4], al
mov al, byte [esp + 0xdbc]
mov byte [esp + 0x5ac], al
mov al, byte [esp + 0xdc4]
mov byte [esp + 0x5b4], al
mov al, byte [esp + 0xdcc]
mov byte [esp + 0x6d], al
mov al, byte [esp + 0xdd4]
mov byte [esp + 0x6e], al
mov al, byte [esp + 0xddc]
mov byte [esp + 0x5c4], al
mov al, byte [esp + 0xde4]
mov byte [esp + 0x5cc], al
mov al, byte [esp + 0xdec]
mov byte [esp + 0x5d4], al
mov al, byte [esp + 0xdf4]
mov byte [esp + 0x5dc], al
mov al, byte [esp + 0xdfc]
mov byte [esp + 0x5e4], al
mov al, byte [esp + 0xe04]
mov byte [esp + 0x5ec], al
mov al, byte [esp + 0xe0c]
mov byte [esp + 0x5f4], al
mov al, byte [esp + 0xe14]
mov byte [esp + 0x5fc], al
mov al, byte [esp + 0xe1c]
mov byte [esp + 0x604], al
mov al, byte [esp + 0xe24]
mov byte [esp + 0x60c], al
mov al, byte [esp + 0xe2c]
mov byte [esp + 0x614], al
mov al, byte [esp + 0xe34]
mov byte [esp + 0x618], al
mov al, byte [esp + 0xe3c]
mov byte [esp + 0x62c], al
mov al, byte [esp + 0xe44]
mov byte [esp + 0x634], al
mov al, byte [esp + 0xe4c]
mov byte [esp + 0x648], al
mov al, byte [esp + 0xe54]
mov byte [esp + 0x654], al
mov al, byte [esp + 0xe5c]
mov byte [esp + 0x660], al
mov al, byte [esp + 0xe64]
mov byte [esp + 0x670], al
mov al, byte [esp + 0xe6c]
mov byte [esp + 0x67c], al
mov al, byte [esp + 0xe74]
mov byte [esp + 0x68c], al
mov al, byte [esp + 0xe7c]
mov byte [esp + 0x698], al
mov al, byte [esp + 0xe84]
mov byte [esp + 0x6a8], al
mov al, byte [esp + 0xe8c]
mov byte [esp + 0x6b4], al
mov al, byte [esp + 0xe94]
mov byte [esp + 0x6c0], al
mov al, byte [esp + 0xe9c]
mov byte [esp + 0x6d0], al
mov al, byte [esp + 0xea4]
mov byte [esp + 0x6f], al
mov al, byte [esp + 0xeac]
mov byte [esp + 0x6e8], al
mov al, byte [esp + 0xeb4]
mov byte [esp + 0x70], al
mov al, byte [esp + 0xebc]
mov byte [esp + 0x6fc], al
mov al, byte [esp + 0xec4]
mov byte [esp + 0x71], al
mov al, byte [esp + 0xecc]
mov byte [esp + 0x72], al
mov al, byte [esp + 0xed4]
mov byte [esp + 0x73], al
mov al, byte [esp + 0xedc]
mov byte [esp + 0x74], al
mov al, byte [esp + 0xee4]
mov byte [esp + 0x75], al
mov al, byte [esp + 0xeec]
mov byte [esp + 0x738], al
mov al, byte [esp + 0xef4]
mov byte [esp + 0x748], al
mov al, byte [esp + 0xefc]
mov byte [esp + 0x758], al
mov al, byte [esp + 0xf04]
mov byte [esp + 0x764], al
mov al, byte [esp + 0xf0c]
mov byte [esp + 0x770], al
mov al, byte [esp + 0xf14]
mov byte [esp + 0x780], al
mov al, byte [esp + 0xf1c]
mov byte [esp + 0x78c], al
mov al, byte [esp + 0xf24]
mov byte [esp + 0x76], al
mov al, byte [esp + 0xf2c]
mov byte [esp + 0x77], al
mov al, byte [esp + 0xf34]
mov byte [esp + 0x7ac], al
mov al, byte [esp + 0xf3c]
mov byte [esp + 0x78], al
mov al, byte [esp + 0xf44]
mov byte [esp + 0x7c4], al
mov al, byte [esp + 0xf4c]
mov byte [esp + 0x7d4], al
mov al, byte [esp + 0xf54]
mov byte [esp + 0x7e0], al
mov al, byte [esp + 0xf5c]
mov byte [esp + 0x7ec], al
mov al, byte [esp + 0xf64]
mov byte [esp + 0x7fc], al
mov al, byte [esp + 0xf6c]
mov byte [esp + 0x808], al
mov al, byte [esp + 0xf74]
mov byte [esp + 0x814], al
mov al, byte [esp + 0xf7c]
mov byte [esp + 0x824], al
mov al, byte [esp + 0xf84]
mov byte [esp + 0x830], al
mov al, byte [esp + 0xf8c]
mov byte [esp + 0x840], al
mov al, byte [esp + 0xf94]
mov byte [esp + 0x79], al
mov al, byte [esp + 0xf9c]
mov byte [esp + 0x7a], al
mov al, byte [esp + 0xfa4]
mov byte [esp + 0x7b], al
mov al, byte [esp + 0xfac]
mov byte [esp + 0x7c], al
mov al, byte [esp + 0xfb4]
mov byte [esp + 0x7d], al
mov al, byte [esp + 0xfbc]
mov byte [esp + 0x7e], al
mov al, byte [esp + 0xfc4]
mov byte [esp + 0x888], al
mov al, byte [esp + 0xfcc]
mov byte [esp + 0x898], al
mov al, byte [esp + 0xfd4]
mov byte [esp + 0x8a4], al
mov al, byte [esp + 0xfdc]
mov byte [esp + 0x8b4], al
mov al, byte [esp + 0xfe4]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0xff4]
mov dword [esp + 0x88c], eax
mov al, byte [esp + 0x1008]
mov dword [esp + 0x550], eax
je 0x50a597
mov eax, dword [edi + 0x54]
mov byte [esp + 0x1a], ch
mov dword [esp + 0x504], edx
mov byte [esp + 0x19], cl
mov byte [esp + 0x4e8], bh
mov byte [esp + 0x4ec], bl
test byte [eax + 0x1c], 1
jne 0x50b6f3
mov eax, dword [esp + 0x54c]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x1c]
xor eax, 2
or eax, dword [esp + 0x504]
jne 0x514f39
cmp byte [esp + 0x550], 0
jne 0x514f39
mov eax, dword [esp + 0x48]
shl esi, 8
mov dword [esp + 0x48], edx
mov dl, byte [esp + 0x4e8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x450]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x524], 2
mov dword [esp + 0x52c], 0
mov dword [esp + 0x550], 0
add esi, dword [esp + 0x8c]
mov dword [esp + 0x4f4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x528], esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x8c], eax
mov al, byte [esp + 0x4ec]
mov byte [esp + 0xc8], al
mov al, byte [esp + 0x1a]
mov byte [esp + 0x1a], dl
mov edx, dword [esp + 0x438]
mov byte [esp + 0x4ec], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], eax
mov al, byte [esp + 0x19]
mov byte [esp + 0x4e8], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x458]
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x454]
mov byte [esp + 0x458], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x48c], eax
mov al, byte [esp + 0x43c]
mov byte [esp + 0x454], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x480], eax
mov al, byte [esp + 0x444]
mov byte [esp + 0x43c], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], eax
mov al, byte [esp + 0x434]
mov byte [esp + 0x444], al
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x478], eax
mov al, byte [esp + 0x430]
mov byte [esp + 0x434], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x464], eax
mov al, byte [esp + 0x41c]
mov byte [esp + 0x430], al
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x460], eax
mov al, byte [esp + 0x40c]
mov byte [esp + 0x41c], al
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0x44c], eax
mov al, byte [esp + 0x400]
mov byte [esp + 0x40c], al
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x4fc]
mov dword [esp + 0x448], eax
mov al, byte [esp + 0x3fc]
mov byte [esp + 0x400], al
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov al, byte [esp + 0x3e0]
mov byte [esp + 0x3fc], al
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x3dc]
mov byte [esp + 0x3e0], al
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x428], eax
mov al, byte [esp + 0x3cc]
mov byte [esp + 0x3dc], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x418], eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x3cc], al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x408], eax
mov al, byte [esp + 0x3b0]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x404], eax
mov al, byte [esp + 0x3ac]
mov byte [esp + 0x3b0], al
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov al, byte [esp + 0x394]
mov byte [esp + 0x3ac], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3ec], eax
mov al, byte [esp + 0x388]
mov byte [esp + 0x394], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], eax
mov al, byte [esp + 0x37c]
mov byte [esp + 0x388], al
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3c8], eax
mov al, byte [esp + 0x378]
mov byte [esp + 0x37c], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4e4], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3bc], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x378], al
mov eax, dword [esp + 0x4dc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b8], eax
mov al, byte [esp + 0x16]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x4e0], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x15]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x4d4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x380], eax
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4d8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x4d0]
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x36c], eax
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x4d0], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x368], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x4c4]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x354], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x350], eax
mov al, byte [esp + 0xe]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x348], eax
mov al, byte [esp + 0xd]
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x4b8]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x344], eax
mov al, byte [esp + 0xc]
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x334], eax
mov al, byte [esp + 0x2f0]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x328], eax
mov al, byte [esp + 0x2e8]
mov byte [esp + 0x2f0], al
mov eax, dword [esp + 0x4b0]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x31c], eax
mov al, byte [esp + 0x2d4]
mov byte [esp + 0x2e8], al
mov eax, dword [esp + 0x4a4]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x318], eax
mov al, byte [esp + 0x2d0]
mov byte [esp + 0x2d4], al
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x30c], eax
mov al, byte [esp + 0x2bc]
mov byte [esp + 0x2d0], al
mov eax, dword [esp + 0x4a0]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x308], eax
mov al, byte [esp + 0x2b4]
mov byte [esp + 0x2bc], al
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 0x2a4]
mov byte [esp + 0x2b4], al
mov eax, dword [esp + 0x494]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2ec], eax
mov al, byte [esp + 0x29c]
mov byte [esp + 0x2a4], al
mov eax, dword [esp + 0x498]
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2e0], eax
mov al, byte [esp + 0x28c]
mov byte [esp + 0x29c], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2d8], eax
mov al, byte [esp + 0x288]
mov byte [esp + 0x28c], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2c4], eax
mov al, byte [esp + 0x278]
mov byte [esp + 0x288], al
mov eax, dword [esp + 0x490]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x2c0], eax
mov al, byte [esp + 0x27c]
mov byte [esp + 0x278], al
mov eax, dword [esp + 0x30]
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x2a0], eax
mov al, byte [esp + 0x26c]
mov byte [esp + 0x27c], al
mov eax, dword [esp + 0x484]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x294]
mov dword [esp + 0x2a8], eax
mov al, byte [esp + 0x268]
mov byte [esp + 0x26c], al
mov eax, dword [esp + 0x488]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x290]
mov dword [esp + 0x294], eax
mov al, byte [esp + 0x260]
mov byte [esp + 0x268], al
mov eax, dword [esp + 0x47c]
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x290], eax
mov al, byte [esp + 0x258]
mov byte [esp + 0x260], al
mov eax, dword [esp + 0x474]
mov dword [esp + 0x47c], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x284], eax
mov al, byte [esp + 0x24c]
mov byte [esp + 0x258], al
mov eax, dword [esp + 0x468]
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x280], eax
mov al, byte [esp + 0x248]
mov byte [esp + 0x24c], al
mov eax, dword [esp + 0x46c]
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x270]
mov dword [esp + 0x274], eax
mov al, byte [esp + 0x23c]
mov byte [esp + 0x248], al
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x46c], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x270], eax
mov al, byte [esp + 0x238]
mov byte [esp + 0x23c], al
mov eax, dword [esp + 0x500]
mov dword [esp + 0x45c], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x264], eax
mov al, byte [esp + 0x22c]
mov byte [esp + 0x238], al
mov eax, dword [esp + 0x254]
mov dword [esp + 0x25c], eax
mov al, byte [esp + 0x224]
mov byte [esp + 0x22c], al
mov eax, dword [esp + 0x520]
mov dword [esp + 0x450], eax
mov eax, dword [esp + 0x250]
mov dword [esp + 0x254], eax
mov al, byte [esp + 0x21c]
mov byte [esp + 0x224], al
mov eax, dword [esp + 0x440]
mov dword [esp + 0x520], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 0x250], eax
mov al, byte [esp + 0x218]
mov byte [esp + 0x21c], al
mov eax, dword [esp + 0x50c]
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 0x244], eax
mov al, byte [esp + 0x20c]
mov byte [esp + 0x218], al
mov eax, dword [esp + 0x234]
mov dword [esp + 0x240], eax
mov al, byte [esp + 0x208]
mov byte [esp + 0x20c], al
mov eax, dword [esp + 0x42c]
mov dword [esp + 0x438], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x234], eax
mov al, byte [esp + 0x1fc]
mov byte [esp + 0x208], al
mov eax, dword [esp + 0x424]
mov dword [esp + 0x42c], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x230], eax
mov al, byte [esp + 0xb]
mov byte [esp + 0x1fc], al
mov eax, dword [esp + 0x420]
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x228], eax
mov al, byte [esp + 0xa]
mov byte [esp + 0xb], al
mov eax, dword [esp + 0x414]
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x220], eax
mov al, byte [esp + 0x1f0]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x410]
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x214], eax
mov al, byte [esp + 8]
mov byte [esp + 0x1f0], al
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x210], eax
mov al, byte [esp + 9]
mov byte [esp + 8], al
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x200], eax
mov al, byte [esp + 0x1dc]
mov byte [esp + 9], al
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x204], eax
mov al, byte [esp + 7]
mov byte [esp + 0x1dc], al
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x1f8], eax
mov al, byte [esp + 6]
mov byte [esp + 7], al
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x1f4], eax
mov al, byte [esp + 5]
mov byte [esp + 6], al
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x1ec], eax
mov al, byte [esp + 0x1c8]
mov byte [esp + 5], al
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x1e8], eax
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x1c8], al
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x1e4], eax
mov al, byte [esp + 0x1b8]
mov byte [esp + 0x1c4], al
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1e0], eax
mov al, byte [esp + 0x1b4]
mov byte [esp + 0x1b8], al
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x1d8], eax
mov al, byte [esp + 0x1ac]
mov byte [esp + 0x1b4], al
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x1d4], eax
mov al, byte [esp + 0x1a4]
mov byte [esp + 0x1ac], al
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x1d0], eax
mov al, byte [esp + 0x198]
mov byte [esp + 0x1a4], al
mov eax, dword [esp + 0x390]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x1cc], eax
mov al, byte [esp + 0x194]
mov byte [esp + 0x198], al
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x1c0], eax
mov al, byte [esp + 0x188]
mov byte [esp + 0x194], al
mov eax, dword [esp + 0x374]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1bc], eax
mov al, byte [esp + 0x184]
mov byte [esp + 0x188], al
mov eax, dword [esp + 0x370]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1b0], eax
mov al, byte [esp + 0x178]
mov byte [esp + 0x184], al
mov eax, dword [esp + 0x360]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x1a8], eax
mov al, byte [esp + 0x174]
mov byte [esp + 0x178], al
mov eax, dword [esp + 0x364]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x1a0], eax
mov al, byte [esp + 0x168]
mov byte [esp + 0x174], al
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0x19c], eax
mov al, byte [esp + 0x164]
mov byte [esp + 0x168], al
mov eax, dword [esp + 0x358]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x190], eax
mov al, byte [esp + 0x154]
mov byte [esp + 0x164], al
mov eax, dword [esp + 0x340]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x18c], eax
mov al, byte [esp + 0x158]
mov byte [esp + 0x154], al
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x17c], eax
mov al, byte [esp + 0x148]
mov byte [esp + 0x158], al
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x180], eax
mov al, byte [esp + 0x144]
mov byte [esp + 0x148], al
mov eax, dword [esp + 0x338]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x170], eax
mov al, byte [esp + 0x13c]
mov byte [esp + 0x144], al
mov eax, dword [esp + 0x330]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x16c], eax
mov al, byte [esp + 0x134]
mov byte [esp + 0x13c], al
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x160], eax
mov al, byte [esp + 0x128]
mov byte [esp + 0x134], al
mov eax, dword [esp + 0x320]
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x15c], eax
mov al, byte [esp + 0x124]
mov byte [esp + 0x128], al
mov eax, dword [esp + 0x324]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x150], eax
mov al, byte [esp + 0x118]
mov byte [esp + 0x124], al
mov eax, dword [esp + 0x314]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x14c], eax
mov al, byte [esp + 0x114]
mov byte [esp + 0x118], al
mov eax, dword [esp + 0x310]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x140], eax
mov al, byte [esp + 0x10c]
mov byte [esp + 0x114], al
mov eax, dword [esp + 0x300]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x138], eax
mov al, byte [esp + 0x104]
mov byte [esp + 0x10c], al
mov eax, dword [esp + 0x304]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x130], eax
mov al, byte [esp + 0xfc]
mov byte [esp + 0x104], al
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x12c], eax
mov al, byte [esp + 0xf8]
mov byte [esp + 0xfc], al
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x120], eax
mov al, byte [esp + 0xf4]
mov byte [esp + 0xf8], al
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x11c], eax
mov al, byte [esp + 0xf0]
mov byte [esp + 0xf4], al
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x110], eax
mov al, byte [esp + 0xe8]
mov byte [esp + 0xf0], al
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x108], eax
mov al, byte [esp + 0xe0]
mov byte [esp + 0xe8], al
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x510]
mov dword [esp + 0x100], eax
mov al, byte [esp + 4]
mov byte [esp + 0xe0], al
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x508]
mov dword [esp + 0x510], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x4f0], eax
mov al, byte [esp + 3]
mov byte [esp + 4], al
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xec], eax
mov al, byte [esp + 0xd4]
mov byte [esp + 3], al
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x538]
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe4], eax
mov al, byte [esp + 0xd0]
mov byte [esp + 0xd4], al
mov eax, dword [esp + 0x298]
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x518]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x514]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0x4f8]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x534]
mov dword [esp + 0x514], eax
mov eax, dword [esp + 0x51c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x53c]
mov dword [esp + 0x51c], eax
jmp 0x50c857
mov eax, dword [esp + 0x48]
shl esi, 8
mov byte [esp + 0x4ec], ch
mov byte [esp + 0x4e8], cl
mov ecx, dword [esp + 0x450]
mov dword [esp + 0x52c], edx
mov edx, dword [esp + 0x438]
mov edi, dword [esp + 0x558]
mov byte [esp + 0xc8], bl
mov byte [esp + 0x1a], bh
xor ebx, ebx
add esi, dword [esp + 0x8c]
mov dword [esp + 0x4f4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x528], esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x458]
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x454]
mov byte [esp + 0x458], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x48c], eax
mov al, byte [esp + 0x43c]
mov byte [esp + 0x454], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x480], eax
mov al, byte [esp + 0x444]
mov byte [esp + 0x43c], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], eax
mov al, byte [esp + 0x434]
mov byte [esp + 0x444], al
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x478], eax
mov al, byte [esp + 0x430]
mov byte [esp + 0x434], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x464], eax
mov al, byte [esp + 0x41c]
mov byte [esp + 0x430], al
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x460], eax
mov al, byte [esp + 0x40c]
mov byte [esp + 0x41c], al
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0x44c], eax
mov al, byte [esp + 0x400]
mov byte [esp + 0x40c], al
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x4fc]
mov dword [esp + 0x448], eax
mov al, byte [esp + 0x3fc]
mov byte [esp + 0x400], al
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov al, byte [esp + 0x3e0]
mov byte [esp + 0x3fc], al
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x3dc]
mov byte [esp + 0x3e0], al
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x428], eax
mov al, byte [esp + 0x3cc]
mov byte [esp + 0x3dc], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x418], eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x3cc], al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x408], eax
mov al, byte [esp + 0x3b0]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x404], eax
mov al, byte [esp + 0x3ac]
mov byte [esp + 0x3b0], al
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov al, byte [esp + 0x394]
mov byte [esp + 0x3ac], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3ec], eax
mov al, byte [esp + 0x388]
mov byte [esp + 0x394], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], eax
mov al, byte [esp + 0x37c]
mov byte [esp + 0x388], al
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3c8], eax
mov al, byte [esp + 0x378]
mov byte [esp + 0x37c], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4e4], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3bc], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x378], al
mov eax, dword [esp + 0x4dc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b8], eax
mov al, byte [esp + 0x16]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x4e0], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x15]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x4d4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x380], eax
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4d8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x4d0]
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x36c], eax
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x4d0], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x368], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x4c4]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x354], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x350], eax
mov al, byte [esp + 0xe]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x348], eax
mov al, byte [esp + 0xd]
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x4b8]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x344], eax
mov al, byte [esp + 0xc]
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x334], eax
mov al, byte [esp + 0x2f0]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x328], eax
mov al, byte [esp + 0x2e8]
mov byte [esp + 0x2f0], al
mov eax, dword [esp + 0x4b0]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x31c], eax
mov al, byte [esp + 0x2d4]
mov byte [esp + 0x2e8], al
mov eax, dword [esp + 0x4a4]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x318], eax
mov al, byte [esp + 0x2d0]
mov byte [esp + 0x2d4], al
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x30c], eax
mov al, byte [esp + 0x2bc]
mov byte [esp + 0x2d0], al
mov eax, dword [esp + 0x4a0]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x308], eax
mov al, byte [esp + 0x2b4]
mov byte [esp + 0x2bc], al
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 0x2a4]
mov byte [esp + 0x2b4], al
mov eax, dword [esp + 0x494]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2ec], eax
mov al, byte [esp + 0x29c]
mov byte [esp + 0x2a4], al
mov eax, dword [esp + 0x498]
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2e0], eax
mov al, byte [esp + 0x28c]
mov byte [esp + 0x29c], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2d8], eax
mov al, byte [esp + 0x288]
mov byte [esp + 0x28c], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2c4], eax
mov al, byte [esp + 0x278]
mov byte [esp + 0x288], al
mov eax, dword [esp + 0x490]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x2c0], eax
mov al, byte [esp + 0x27c]
mov byte [esp + 0x278], al
mov eax, dword [esp + 0x30]
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x2a0], eax
mov al, byte [esp + 0x26c]
mov byte [esp + 0x27c], al
mov eax, dword [esp + 0x484]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x294]
mov dword [esp + 0x2a8], eax
mov al, byte [esp + 0x268]
mov byte [esp + 0x26c], al
mov eax, dword [esp + 0x488]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x290]
mov dword [esp + 0x294], eax
mov al, byte [esp + 0x260]
mov byte [esp + 0x268], al
mov eax, dword [esp + 0x47c]
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x290], eax
mov al, byte [esp + 0x258]
mov byte [esp + 0x260], al
mov eax, dword [esp + 0x474]
mov dword [esp + 0x47c], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x284], eax
mov al, byte [esp + 0x24c]
mov byte [esp + 0x258], al
mov eax, dword [esp + 0x468]
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x280], eax
mov al, byte [esp + 0x248]
mov byte [esp + 0x24c], al
mov eax, dword [esp + 0x46c]
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x270]
mov dword [esp + 0x274], eax
mov al, byte [esp + 0x23c]
mov byte [esp + 0x248], al
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x46c], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x270], eax
mov al, byte [esp + 0x238]
mov byte [esp + 0x23c], al
mov eax, dword [esp + 0x500]
mov dword [esp + 0x45c], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x264], eax
mov al, byte [esp + 0x22c]
mov byte [esp + 0x238], al
mov eax, dword [esp + 0x254]
mov dword [esp + 0x25c], eax
mov al, byte [esp + 0x224]
mov byte [esp + 0x22c], al
mov eax, dword [esp + 0x520]
mov dword [esp + 0x450], eax
mov eax, dword [esp + 0x250]
mov dword [esp + 0x254], eax
mov al, byte [esp + 0x21c]
mov byte [esp + 0x224], al
mov eax, dword [esp + 0x440]
mov dword [esp + 0x520], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 0x250], eax
mov al, byte [esp + 0x218]
mov byte [esp + 0x21c], al
mov eax, dword [esp + 0x50c]
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 0x244], eax
mov al, byte [esp + 0x20c]
mov byte [esp + 0x218], al
mov eax, dword [esp + 0x234]
mov dword [esp + 0x240], eax
mov al, byte [esp + 0x208]
mov byte [esp + 0x20c], al
mov eax, dword [esp + 0x42c]
mov dword [esp + 0x438], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x234], eax
mov al, byte [esp + 0x1fc]
mov byte [esp + 0x208], al
mov eax, dword [esp + 0x424]
mov dword [esp + 0x42c], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x230], eax
mov al, byte [esp + 0xb]
mov byte [esp + 0x1fc], al
mov eax, dword [esp + 0x420]
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x228], eax
mov al, byte [esp + 0xa]
mov byte [esp + 0xb], al
mov eax, dword [esp + 0x414]
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x220], eax
mov al, byte [esp + 0x1f0]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x410]
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x214], eax
mov al, byte [esp + 8]
mov byte [esp + 0x1f0], al
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x210], eax
mov al, byte [esp + 9]
mov byte [esp + 8], al
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x200], eax
mov al, byte [esp + 0x1dc]
mov byte [esp + 9], al
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x204], eax
mov al, byte [esp + 7]
mov byte [esp + 0x1dc], al
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x1f8], eax
mov al, byte [esp + 6]
mov byte [esp + 7], al
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x1f4], eax
mov al, byte [esp + 5]
mov byte [esp + 6], al
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x1ec], eax
mov al, byte [esp + 0x1c8]
mov byte [esp + 5], al
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x1e8], eax
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x1c8], al
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x1e4], eax
mov al, byte [esp + 0x1b8]
mov byte [esp + 0x1c4], al
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1e0], eax
mov al, byte [esp + 0x1b4]
mov byte [esp + 0x1b8], al
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x1d8], eax
mov al, byte [esp + 0x1ac]
mov byte [esp + 0x1b4], al
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x1d4], eax
mov al, byte [esp + 0x1a4]
mov byte [esp + 0x1ac], al
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x1d0], eax
mov al, byte [esp + 0x198]
mov byte [esp + 0x1a4], al
mov eax, dword [esp + 0x390]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x1cc], eax
mov al, byte [esp + 0x194]
mov byte [esp + 0x198], al
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x1c0], eax
mov al, byte [esp + 0x188]
mov byte [esp + 0x194], al
mov eax, dword [esp + 0x374]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1bc], eax
mov al, byte [esp + 0x184]
mov byte [esp + 0x188], al
mov eax, dword [esp + 0x370]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1b0], eax
mov al, byte [esp + 0x178]
mov byte [esp + 0x184], al
mov eax, dword [esp + 0x360]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x1a8], eax
mov al, byte [esp + 0x174]
mov byte [esp + 0x178], al
mov eax, dword [esp + 0x364]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x1a0], eax
mov al, byte [esp + 0x168]
mov byte [esp + 0x174], al
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0x19c], eax
mov al, byte [esp + 0x164]
mov byte [esp + 0x168], al
mov eax, dword [esp + 0x358]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x190], eax
mov al, byte [esp + 0x154]
mov byte [esp + 0x164], al
mov eax, dword [esp + 0x340]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x18c], eax
mov al, byte [esp + 0x158]
mov byte [esp + 0x154], al
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x17c], eax
mov al, byte [esp + 0x148]
mov byte [esp + 0x158], al
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x180], eax
mov al, byte [esp + 0x144]
mov byte [esp + 0x148], al
mov eax, dword [esp + 0x338]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x170], eax
mov al, byte [esp + 0x13c]
mov byte [esp + 0x144], al
mov eax, dword [esp + 0x330]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x16c], eax
mov al, byte [esp + 0x134]
mov byte [esp + 0x13c], al
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x160], eax
mov al, byte [esp + 0x128]
mov byte [esp + 0x134], al
mov eax, dword [esp + 0x320]
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x15c], eax
mov al, byte [esp + 0x124]
mov byte [esp + 0x128], al
mov eax, dword [esp + 0x324]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x150], eax
mov al, byte [esp + 0x118]
mov byte [esp + 0x124], al
mov eax, dword [esp + 0x314]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x14c], eax
mov al, byte [esp + 0x114]
mov byte [esp + 0x118], al
mov eax, dword [esp + 0x310]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x140], eax
mov al, byte [esp + 0x10c]
mov byte [esp + 0x114], al
mov eax, dword [esp + 0x300]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x138], eax
mov al, byte [esp + 0x104]
mov byte [esp + 0x10c], al
mov eax, dword [esp + 0x304]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x130], eax
mov al, byte [esp + 0xfc]
mov byte [esp + 0x104], al
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x12c], eax
mov al, byte [esp + 0xf8]
mov byte [esp + 0xfc], al
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x120], eax
mov al, byte [esp + 0xf4]
mov byte [esp + 0xf8], al
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x11c], eax
mov al, byte [esp + 0xf0]
mov byte [esp + 0xf4], al
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x110], eax
mov al, byte [esp + 0xe8]
mov byte [esp + 0xf0], al
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x108], eax
mov al, byte [esp + 0xe0]
mov byte [esp + 0xe8], al
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x510]
mov dword [esp + 0x100], eax
mov al, byte [esp + 4]
mov byte [esp + 0xe0], al
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x508]
mov dword [esp + 0x510], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x4f0], eax
mov al, byte [esp + 3]
mov byte [esp + 4], al
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xec], eax
mov al, byte [esp + 0xd4]
mov byte [esp + 3], al
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x538]
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe4], eax
mov al, byte [esp + 0xd0]
mov byte [esp + 0xd4], al
mov eax, dword [esp + 0x298]
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x518]
mov dword [esp + 0x518], edi
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x514]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0x4f8]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x534]
mov dword [esp + 0x514], eax
mov eax, dword [esp + 0x51c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x53c]
mov dword [esp + 0x51c], eax
mov eax, dword [esp + 0x54c]
mov dword [esp + 0x524], eax
jmp 0x50c867
mov edx, dword [esp + 0x48]
mov cl, byte [esp + 0x4ec]
shl esi, 8
mov bl, byte [esp + 0x1a]
mov eax, dword [esp + 0x504]
mov bh, byte [esp + 0x4e8]
add esi, dword [esp + 0x8c]
mov dword [esp + 0x4f4], edx
mov byte [esp + 0xc8], cl
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x54]
mov byte [esp + 0x4ec], bl
mov bl, byte [esp + 0x19]
mov dword [esp + 0x52c], eax
mov byte [esp + 0x1a], bh
mov dword [esp + 0x528], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x80]
mov byte [esp + 0x4e8], bl
mov dword [esp + 0x8c], esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x80], ecx
mov al, byte [esp + 0x458]
mov esi, dword [esp + 0xc4]
mov ecx, dword [esp + 0x450]
mov edx, dword [esp + 0x438]
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x454]
mov byte [esp + 0x458], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x48c], eax
mov al, byte [esp + 0x43c]
mov byte [esp + 0x454], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x480], eax
mov al, byte [esp + 0x444]
mov byte [esp + 0x43c], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], eax
mov al, byte [esp + 0x434]
mov byte [esp + 0x444], al
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x478], eax
mov al, byte [esp + 0x430]
mov byte [esp + 0x434], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x464], eax
mov al, byte [esp + 0x41c]
mov byte [esp + 0x430], al
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x460], eax
mov al, byte [esp + 0x40c]
mov byte [esp + 0x41c], al
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0x44c], eax
mov al, byte [esp + 0x400]
mov byte [esp + 0x40c], al
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x4fc]
mov dword [esp + 0x448], eax
mov al, byte [esp + 0x3fc]
mov byte [esp + 0x400], al
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov al, byte [esp + 0x3e0]
mov byte [esp + 0x3fc], al
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x3dc]
mov byte [esp + 0x3e0], al
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x428], eax
mov al, byte [esp + 0x3cc]
mov byte [esp + 0x3dc], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x418], eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x3cc], al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x408], eax
mov al, byte [esp + 0x3b0]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x404], eax
mov al, byte [esp + 0x3ac]
mov byte [esp + 0x3b0], al
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov al, byte [esp + 0x394]
mov byte [esp + 0x3ac], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3ec], eax
mov al, byte [esp + 0x388]
mov byte [esp + 0x394], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], eax
mov al, byte [esp + 0x37c]
mov byte [esp + 0x388], al
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3c8], eax
mov al, byte [esp + 0x378]
mov byte [esp + 0x37c], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4e4], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3bc], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x378], al
mov eax, dword [esp + 0x4dc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b8], eax
mov al, byte [esp + 0x16]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x4e0], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x15]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x4d4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x380], eax
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4d8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x4d0]
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x36c], eax
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x4d0], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x368], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x4c4]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x354], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x350], eax
mov al, byte [esp + 0xe]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x348], eax
mov al, byte [esp + 0xd]
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x4b8]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x344], eax
mov al, byte [esp + 0xc]
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x334], eax
mov al, byte [esp + 0x2f0]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x328], eax
mov al, byte [esp + 0x2e8]
mov byte [esp + 0x2f0], al
mov eax, dword [esp + 0x4b0]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x31c], eax
mov al, byte [esp + 0x2d4]
mov byte [esp + 0x2e8], al
mov eax, dword [esp + 0x4a4]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x318], eax
mov al, byte [esp + 0x2d0]
mov byte [esp + 0x2d4], al
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x30c], eax
mov al, byte [esp + 0x2bc]
mov byte [esp + 0x2d0], al
mov eax, dword [esp + 0x4a0]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x308], eax
mov al, byte [esp + 0x2b4]
mov byte [esp + 0x2bc], al
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 0x2a4]
mov byte [esp + 0x2b4], al
mov eax, dword [esp + 0x494]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2ec], eax
mov al, byte [esp + 0x29c]
mov byte [esp + 0x2a4], al
mov eax, dword [esp + 0x498]
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2e0], eax
mov al, byte [esp + 0x28c]
mov byte [esp + 0x29c], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2d8], eax
mov al, byte [esp + 0x288]
mov byte [esp + 0x28c], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2c4], eax
mov al, byte [esp + 0x278]
mov byte [esp + 0x288], al
mov eax, dword [esp + 0x490]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x2c0], eax
mov al, byte [esp + 0x27c]
mov byte [esp + 0x278], al
mov eax, dword [esp + 0x30]
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x2a0], eax
mov al, byte [esp + 0x26c]
mov byte [esp + 0x27c], al
mov eax, dword [esp + 0x484]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x294]
mov dword [esp + 0x2a8], eax
mov al, byte [esp + 0x268]
mov byte [esp + 0x26c], al
mov eax, dword [esp + 0x488]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x290]
mov dword [esp + 0x294], eax
mov al, byte [esp + 0x260]
mov byte [esp + 0x268], al
mov eax, dword [esp + 0x47c]
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x290], eax
mov al, byte [esp + 0x258]
mov byte [esp + 0x260], al
mov eax, dword [esp + 0x474]
mov dword [esp + 0x47c], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x284], eax
mov al, byte [esp + 0x24c]
mov byte [esp + 0x258], al
mov eax, dword [esp + 0x468]
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x280], eax
mov al, byte [esp + 0x248]
mov byte [esp + 0x24c], al
mov eax, dword [esp + 0x46c]
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x270]
mov dword [esp + 0x274], eax
mov al, byte [esp + 0x23c]
mov byte [esp + 0x248], al
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x46c], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x270], eax
mov al, byte [esp + 0x238]
mov byte [esp + 0x23c], al
mov eax, dword [esp + 0x500]
mov dword [esp + 0x45c], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x264], eax
mov al, byte [esp + 0x22c]
mov byte [esp + 0x238], al
mov eax, dword [esp + 0x254]
mov dword [esp + 0x25c], eax
mov al, byte [esp + 0x224]
mov byte [esp + 0x22c], al
mov eax, dword [esp + 0x520]
mov dword [esp + 0x450], eax
mov eax, dword [esp + 0x250]
mov dword [esp + 0x254], eax
mov al, byte [esp + 0x21c]
mov byte [esp + 0x224], al
mov eax, dword [esp + 0x440]
mov dword [esp + 0x520], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 0x250], eax
mov al, byte [esp + 0x218]
mov byte [esp + 0x21c], al
mov eax, dword [esp + 0x50c]
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 0x244], eax
mov al, byte [esp + 0x20c]
mov byte [esp + 0x218], al
mov eax, dword [esp + 0x234]
mov dword [esp + 0x240], eax
mov al, byte [esp + 0x208]
mov byte [esp + 0x20c], al
mov eax, dword [esp + 0x42c]
mov dword [esp + 0x438], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x234], eax
mov al, byte [esp + 0x1fc]
mov byte [esp + 0x208], al
mov eax, dword [esp + 0x424]
mov dword [esp + 0x42c], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x230], eax
mov al, byte [esp + 0xb]
mov byte [esp + 0x1fc], al
mov eax, dword [esp + 0x420]
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x228], eax
mov al, byte [esp + 0xa]
mov byte [esp + 0xb], al
mov eax, dword [esp + 0x414]
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x220], eax
mov al, byte [esp + 0x1f0]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x410]
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x214], eax
mov al, byte [esp + 8]
mov byte [esp + 0x1f0], al
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x210], eax
mov al, byte [esp + 9]
mov byte [esp + 8], al
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x200], eax
mov al, byte [esp + 0x1dc]
mov byte [esp + 9], al
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x204], eax
mov al, byte [esp + 7]
mov byte [esp + 0x1dc], al
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x1f8], eax
mov al, byte [esp + 6]
mov byte [esp + 7], al
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x1f4], eax
mov al, byte [esp + 5]
mov byte [esp + 6], al
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x1ec], eax
mov al, byte [esp + 0x1c8]
mov byte [esp + 5], al
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x1e8], eax
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x1c8], al
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x1e4], eax
mov al, byte [esp + 0x1b8]
mov byte [esp + 0x1c4], al
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1e0], eax
mov al, byte [esp + 0x1b4]
mov byte [esp + 0x1b8], al
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x1d8], eax
mov al, byte [esp + 0x1ac]
mov byte [esp + 0x1b4], al
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x1d4], eax
mov al, byte [esp + 0x1a4]
mov byte [esp + 0x1ac], al
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x1d0], eax
mov al, byte [esp + 0x198]
mov byte [esp + 0x1a4], al
mov eax, dword [esp + 0x390]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x1cc], eax
mov al, byte [esp + 0x194]
mov byte [esp + 0x198], al
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x1c0], eax
mov al, byte [esp + 0x188]
mov byte [esp + 0x194], al
mov eax, dword [esp + 0x374]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1bc], eax
mov al, byte [esp + 0x184]
mov byte [esp + 0x188], al
mov eax, dword [esp + 0x370]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1b0], eax
mov al, byte [esp + 0x178]
mov byte [esp + 0x184], al
mov eax, dword [esp + 0x360]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x1a8], eax
mov al, byte [esp + 0x174]
mov byte [esp + 0x178], al
mov eax, dword [esp + 0x364]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x1a0], eax
mov al, byte [esp + 0x168]
mov byte [esp + 0x174], al
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0x19c], eax
mov al, byte [esp + 0x164]
mov byte [esp + 0x168], al
mov eax, dword [esp + 0x358]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x190], eax
mov al, byte [esp + 0x154]
mov byte [esp + 0x164], al
mov eax, dword [esp + 0x340]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x18c], eax
mov al, byte [esp + 0x158]
mov byte [esp + 0x154], al
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x17c], eax
mov al, byte [esp + 0x148]
mov byte [esp + 0x158], al
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x180], eax
mov al, byte [esp + 0x144]
mov byte [esp + 0x148], al
mov eax, dword [esp + 0x338]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x170], eax
mov al, byte [esp + 0x13c]
mov byte [esp + 0x144], al
mov eax, dword [esp + 0x330]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x16c], eax
mov al, byte [esp + 0x134]
mov byte [esp + 0x13c], al
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x160], eax
mov al, byte [esp + 0x128]
mov byte [esp + 0x134], al
mov eax, dword [esp + 0x320]
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x15c], eax
mov al, byte [esp + 0x124]
mov byte [esp + 0x128], al
mov eax, dword [esp + 0x324]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x150], eax
mov al, byte [esp + 0x118]
mov byte [esp + 0x124], al
mov eax, dword [esp + 0x314]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x14c], eax
mov al, byte [esp + 0x114]
mov byte [esp + 0x118], al
mov eax, dword [esp + 0x310]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x140], eax
mov al, byte [esp + 0x10c]
mov byte [esp + 0x114], al
mov eax, dword [esp + 0x300]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x138], eax
mov al, byte [esp + 0x104]
mov byte [esp + 0x10c], al
mov eax, dword [esp + 0x304]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x130], eax
mov al, byte [esp + 0xfc]
mov byte [esp + 0x104], al
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x12c], eax
mov al, byte [esp + 0xf8]
mov byte [esp + 0xfc], al
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x120], eax
mov al, byte [esp + 0xf4]
mov byte [esp + 0xf8], al
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x11c], eax
mov al, byte [esp + 0xf0]
mov byte [esp + 0xf4], al
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x110], eax
mov al, byte [esp + 0xe8]
mov byte [esp + 0xf0], al
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x108], eax
mov al, byte [esp + 0xe0]
mov byte [esp + 0xe8], al
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x510]
mov dword [esp + 0x100], eax
mov al, byte [esp + 4]
mov byte [esp + 0xe0], al
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x508]
mov dword [esp + 0x510], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x4f0], eax
mov al, byte [esp + 3]
mov byte [esp + 4], al
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xec], eax
mov al, byte [esp + 0xd4]
mov byte [esp + 3], al
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x538]
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe4], eax
mov al, byte [esp + 0xd0]
mov byte [esp + 0xd4], al
mov eax, dword [esp + 0x298]
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x518]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x514]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0x4f8]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x534]
mov dword [esp + 0x514], eax
mov eax, dword [esp + 0x51c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x53c]
mov dword [esp + 0x51c], eax
mov eax, dword [esp + 0x54c]
mov dword [esp + 0x524], eax
mov eax, dword [esp + 0x558]
xor ebx, ebx
mov dword [esp + 0x518], eax
mov eax, 3
mov edi, eax
xor eax, 3
or eax, ebx
jne 0x50c95a
mov eax, dword [esp + 0x528]
mov dword [esp + 0x54c], 0
mov dword [esp + 0x558], 3
mov ebx, eax
shr eax, 8
mov dword [esp + 0x528], eax
mov eax, dword [esp + 0x540]
mov byte [esp + 0x53c], bl
cmp byte [eax + 0x40], 0
je 0x50f02a
mov al, byte [eax + 0x3e]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
cmp al, 2
je 0x5150b5
and al, 1
jne 0x5150b5
mov al, byte [esp + 0xc8]
mov byte [esp + 0x548], al
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x4f8], eax
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x504], eax
mov al, byte [esp + 0x4ec]
mov byte [esp + 0xc8], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4f4], eax
mov al, byte [esp + 0x1a]
mov byte [esp + 0x4ec], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4e8]
mov byte [esp + 0x1a], al
jmp 0x50f0b2
mov dword [esp + 0x4fc], esi
mov dword [esp + 0x500], ecx
mov esi, edx
mov ecx, 0x6b0
mov edx, 8
mov al, byte [0x803894]
call fcn.004889b0
test eax, eax
je 0x51d03a
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x524]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], edi
mov ebx, dword [esp + 0x40]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x52c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x918]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x91c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x508]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x924]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x92c]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x928]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x930]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x934]
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x514]
mov dword [eax + 0x38], ecx
mov cl, byte [esp + 0x7f]
mov byte [eax + 0x3c], cl
mov ecx, dword [esp + 0x920]
mov word [eax + 0x3d], cx
shr ecx, 0x10
mov byte [eax + 0x3f], cl
mov ecx, dword [esp + 0xd8]
mov dword [eax + 0x40], ecx
mov cl, byte [esp + 0x1b]
mov byte [eax + 0x44], cl
mov ecx, dword [esp + 0x518]
mov word [eax + 0x45], cx
shr ecx, 0x10
mov byte [eax + 0x47], cl
mov ecx, dword [esp + 0xdc]
mov dword [eax + 0x48], ecx
mov cl, byte [esp + 0xd0]
mov byte [eax + 0x4c], cl
mov ecx, dword [esp + 0x298]
mov word [eax + 0x4d], cx
shr ecx, 0x10
mov byte [eax + 0x4f], cl
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0x50], ecx
mov cl, byte [esp + 0xd4]
mov byte [eax + 0x54], cl
mov ecx, dword [esp + 0x2ac]
mov word [eax + 0x55], cx
shr ecx, 0x10
mov byte [eax + 0x57], cl
mov ecx, dword [esp + 0xec]
mov dword [eax + 0x58], ecx
mov cl, byte [esp + 3]
mov byte [eax + 0x5c], cl
mov ecx, dword [esp + 0x2b0]
mov word [eax + 0x5d], cx
shr ecx, 0x10
mov byte [eax + 0x5f], cl
mov ecx, dword [esp + 0x4f0]
mov dword [eax + 0x60], ecx
mov cl, byte [esp + 4]
mov byte [eax + 0x64], cl
mov ecx, dword [esp + 0x2b8]
mov word [eax + 0x65], cx
shr ecx, 0x10
mov byte [eax + 0x67], cl
mov ecx, dword [esp + 0x560]
mov dword [eax + 0x68], ecx
mov cl, byte [esp + 0xe0]
mov byte [eax + 0x6c], cl
mov ecx, dword [esp + 0x2c8]
mov word [eax + 0x6d], cx
shr ecx, 0x10
mov byte [eax + 0x6f], cl
mov ecx, dword [esp + 0x510]
mov dword [eax + 0x70], ecx
mov cl, byte [esp + 0xe8]
mov byte [eax + 0x74], cl
mov ecx, dword [esp + 0x2cc]
mov word [eax + 0x75], cx
shr ecx, 0x10
mov byte [eax + 0x77], cl
mov ecx, dword [esp + 0x100]
mov dword [eax + 0x78], ecx
mov cl, byte [esp + 0xf0]
mov byte [eax + 0x7c], cl
mov ecx, dword [esp + 0x2dc]
mov word [eax + 0x7d], cx
shr ecx, 0x10
mov byte [eax + 0x7f], cl
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x80], ecx
mov cl, byte [esp + 0xf4]
mov byte [eax + 0x84], cl
mov ecx, dword [esp + 0x2e4]
mov word [eax + 0x85], cx
shr ecx, 0x10
mov byte [eax + 0x87], cl
mov ecx, dword [esp + 0x110]
mov dword [eax + 0x88], ecx
mov cl, byte [esp + 0xf8]
mov byte [eax + 0x8c], cl
mov ecx, dword [esp + 0x2f4]
mov word [eax + 0x8d], cx
shr ecx, 0x10
mov byte [eax + 0x8f], cl
mov ecx, dword [esp + 0x11c]
mov dword [eax + 0x90], ecx
mov cl, byte [esp + 0xfc]
mov byte [eax + 0x94], cl
mov ecx, dword [esp + 0x2fc]
mov word [eax + 0x95], cx
shr ecx, 0x10
mov byte [eax + 0x97], cl
mov ecx, dword [esp + 0x120]
mov dword [eax + 0x98], ecx
mov cl, byte [esp + 0x104]
mov byte [eax + 0x9c], cl
mov ecx, dword [esp + 0x304]
mov word [eax + 0x9d], cx
shr ecx, 0x10
mov byte [eax + 0x9f], cl
mov ecx, dword [esp + 0x12c]
mov dword [eax + 0xa0], ecx
mov cl, byte [esp + 0x10c]
mov byte [eax + 0xa4], cl
mov ecx, dword [esp + 0x300]
mov word [eax + 0xa5], cx
shr ecx, 0x10
mov byte [eax + 0xa7], cl
mov ecx, dword [esp + 0x130]
mov dword [eax + 0xa8], ecx
mov cl, byte [esp + 0x114]
mov byte [eax + 0xac], cl
mov ecx, dword [esp + 0x310]
mov word [eax + 0xad], cx
shr ecx, 0x10
mov byte [eax + 0xaf], cl
mov ecx, dword [esp + 0x138]
mov dword [eax + 0xb0], ecx
mov cl, byte [esp + 0x118]
mov byte [eax + 0xb4], cl
mov ecx, dword [esp + 0x314]
mov word [eax + 0xb5], cx
shr ecx, 0x10
mov byte [eax + 0xb7], cl
mov ecx, dword [esp + 0x140]
mov dword [eax + 0xb8], ecx
mov cl, byte [esp + 0x124]
mov byte [eax + 0xbc], cl
mov ecx, dword [esp + 0x324]
mov word [eax + 0xbd], cx
shr ecx, 0x10
mov byte [eax + 0xbf], cl
mov ecx, dword [esp + 0x14c]
mov dword [eax + 0xc0], ecx
mov cl, byte [esp + 0x128]
mov byte [eax + 0xc4], cl
mov ecx, dword [esp + 0x320]
mov word [eax + 0xc5], cx
shr ecx, 0x10
mov byte [eax + 0xc7], cl
mov ecx, dword [esp + 0x150]
mov dword [eax + 0xc8], ecx
mov cl, byte [esp + 0x134]
mov byte [eax + 0xcc], cl
mov ecx, dword [esp + 0x32c]
mov word [eax + 0xcd], cx
shr ecx, 0x10
mov byte [eax + 0xcf], cl
mov ecx, dword [esp + 0x15c]
mov dword [eax + 0xd0], ecx
mov cl, byte [esp + 0x13c]
mov byte [eax + 0xd4], cl
mov ecx, dword [esp + 0x330]
mov word [eax + 0xd5], cx
shr ecx, 0x10
mov byte [eax + 0xd7], cl
mov ecx, dword [esp + 0x160]
mov dword [eax + 0xd8], ecx
mov cl, byte [esp + 0x144]
mov byte [eax + 0xdc], cl
mov ecx, dword [esp + 0x338]
mov word [eax + 0xdd], cx
shr ecx, 0x10
mov byte [eax + 0xdf], cl
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xe0], ecx
mov cl, byte [esp + 0x148]
mov byte [eax + 0xe4], cl
mov ecx, dword [esp + 0x33c]
mov word [eax + 0xe5], cx
shr ecx, 0x10
mov byte [eax + 0xe7], cl
mov ecx, dword [esp + 0x170]
mov dword [eax + 0xe8], ecx
mov cl, byte [esp + 0x158]
mov byte [eax + 0xec], cl
mov ecx, dword [esp + 0x34c]
mov word [eax + 0xed], cx
shr ecx, 0x10
mov byte [eax + 0xef], cl
mov ecx, dword [esp + 0x180]
mov dword [eax + 0xf0], ecx
mov cl, byte [esp + 0x154]
mov byte [eax + 0xf4], cl
mov ecx, dword [esp + 0x340]
mov word [eax + 0xf5], cx
shr ecx, 0x10
mov byte [eax + 0xf7], cl
mov ecx, dword [esp + 0x17c]
mov dword [eax + 0xf8], ecx
mov cl, byte [esp + 0x164]
mov byte [eax + 0xfc], cl
mov ecx, dword [esp + 0x358]
mov word [eax + 0xfd], cx
shr ecx, 0x10
mov byte [eax + 0xff], cl
mov ecx, dword [esp + 0x18c]
mov dword [eax + 0x100], ecx
mov cl, byte [esp + 0x168]
mov byte [eax + 0x104], cl
mov ecx, dword [esp + 0x35c]
mov word [eax + 0x105], cx
shr ecx, 0x10
mov byte [eax + 0x107], cl
mov ecx, dword [esp + 0x190]
mov dword [eax + 0x108], ecx
mov cl, byte [esp + 0x174]
mov byte [eax + 0x10c], cl
mov ecx, dword [esp + 0x364]
mov word [eax + 0x10d], cx
shr ecx, 0x10
mov byte [eax + 0x10f], cl
mov ecx, dword [esp + 0x19c]
mov dword [eax + 0x110], ecx
mov cl, byte [esp + 0x178]
mov byte [eax + 0x114], cl
mov ecx, dword [esp + 0x360]
mov word [eax + 0x115], cx
shr ecx, 0x10
mov byte [eax + 0x117], cl
mov ecx, dword [esp + 0x1a0]
mov dword [eax + 0x118], ecx
mov cl, byte [esp + 0x184]
mov byte [eax + 0x11c], cl
mov ecx, dword [esp + 0x370]
mov word [eax + 0x11d], cx
shr ecx, 0x10
mov byte [eax + 0x11f], cl
mov ecx, dword [esp + 0x1a8]
mov dword [eax + 0x120], ecx
mov cl, byte [esp + 0x188]
mov byte [eax + 0x124], cl
mov ecx, dword [esp + 0x374]
mov word [eax + 0x125], cx
shr ecx, 0x10
mov byte [eax + 0x127], cl
mov ecx, dword [esp + 0x1b0]
mov dword [eax + 0x128], ecx
mov cl, byte [esp + 0x194]
mov byte [eax + 0x12c], cl
mov ecx, dword [esp + 0x38c]
mov word [eax + 0x12d], cx
shr ecx, 0x10
mov byte [eax + 0x12f], cl
mov ecx, dword [esp + 0x1bc]
mov dword [eax + 0x130], ecx
mov cl, byte [esp + 0x198]
mov byte [eax + 0x134], cl
mov ecx, dword [esp + 0x390]
mov word [eax + 0x135], cx
shr ecx, 0x10
mov byte [eax + 0x137], cl
mov ecx, dword [esp + 0x1c0]
mov dword [eax + 0x138], ecx
mov cl, byte [esp + 0x1a4]
mov byte [eax + 0x13c], cl
mov ecx, dword [esp + 0x39c]
mov word [eax + 0x13d], cx
shr ecx, 0x10
mov byte [eax + 0x13f], cl
mov ecx, dword [esp + 0x1cc]
mov dword [eax + 0x140], ecx
mov cl, byte [esp + 0x1ac]
mov byte [eax + 0x144], cl
mov ecx, dword [esp + 0x398]
mov word [eax + 0x145], cx
shr ecx, 0x10
mov byte [eax + 0x147], cl
mov ecx, dword [esp + 0x1d0]
mov dword [eax + 0x148], ecx
mov cl, byte [esp + 0x1b4]
mov byte [eax + 0x14c], cl
mov ecx, dword [esp + 0x3a8]
mov word [eax + 0x14d], cx
shr ecx, 0x10
mov byte [eax + 0x14f], cl
mov ecx, dword [esp + 0x1d4]
mov dword [eax + 0x150], ecx
mov cl, byte [esp + 0x1b8]
mov byte [eax + 0x154], cl
mov ecx, dword [esp + 0x3b4]
mov word [eax + 0x155], cx
shr ecx, 0x10
mov byte [eax + 0x157], cl
mov ecx, dword [esp + 0x1d8]
mov dword [eax + 0x158], ecx
mov cl, byte [esp + 0x1c4]
mov byte [eax + 0x15c], cl
mov ecx, dword [esp + 0x3c4]
mov word [eax + 0x15d], cx
shr ecx, 0x10
mov byte [eax + 0x15f], cl
mov ecx, dword [esp + 0x1e0]
mov dword [eax + 0x160], ecx
mov cl, byte [esp + 0x1c8]
mov byte [eax + 0x164], cl
mov ecx, dword [esp + 0x3c0]
mov word [eax + 0x165], cx
shr ecx, 0x10
mov byte [eax + 0x167], cl
mov ecx, dword [esp + 0x1e4]
mov dword [eax + 0x168], ecx
mov cl, byte [esp + 5]
mov byte [eax + 0x16c], cl
mov ecx, dword [esp + 0x3d0]
mov word [eax + 0x16d], cx
shr ecx, 0x10
mov byte [eax + 0x16f], cl
mov ecx, dword [esp + 0x1e8]
mov dword [eax + 0x170], ecx
mov cl, byte [esp + 6]
mov byte [eax + 0x174], cl
mov ecx, dword [esp + 0x3d4]
mov word [eax + 0x175], cx
shr ecx, 0x10
mov byte [eax + 0x177], cl
mov ecx, dword [esp + 0x1ec]
mov dword [eax + 0x178], ecx
mov cl, byte [esp + 7]
mov byte [eax + 0x17c], cl
mov ecx, dword [esp + 0x3e4]
mov word [eax + 0x17d], cx
shr ecx, 0x10
mov byte [eax + 0x17f], cl
mov ecx, dword [esp + 0x1f4]
mov dword [eax + 0x180], ecx
mov cl, byte [esp + 0x1dc]
mov byte [eax + 0x184], cl
mov ecx, dword [esp + 0x3e8]
mov word [eax + 0x185], cx
shr ecx, 0x10
mov byte [eax + 0x187], cl
mov ecx, dword [esp + 0x1f8]
mov dword [eax + 0x188], ecx
mov cl, byte [esp + 9]
mov byte [eax + 0x18c], cl
mov ecx, dword [esp + 0x3f8]
mov word [eax + 0x18d], cx
shr ecx, 0x10
mov byte [eax + 0x18f], cl
mov ecx, dword [esp + 0x204]
mov dword [eax + 0x190], ecx
mov cl, byte [esp + 8]
mov byte [eax + 0x194], cl
mov ecx, dword [esp + 0x3f4]
mov word [eax + 0x195], cx
shr ecx, 0x10
mov byte [eax + 0x197], cl
mov ecx, dword [esp + 0x200]
mov dword [eax + 0x198], ecx
mov cl, byte [esp + 0x1f0]
mov byte [eax + 0x19c], cl
mov ecx, dword [esp + 0x410]
mov word [eax + 0x19d], cx
shr ecx, 0x10
mov byte [eax + 0x19f], cl
mov ecx, dword [esp + 0x210]
mov dword [eax + 0x1a0], ecx
mov cl, byte [esp + 0xa]
mov byte [eax + 0x1a4], cl
mov ecx, dword [esp + 0x414]
mov word [eax + 0x1a5], cx
shr ecx, 0x10
mov byte [eax + 0x1a7], cl
mov ecx, dword [esp + 0x214]
mov dword [eax + 0x1a8], ecx
mov cl, byte [esp + 0xb]
mov byte [eax + 0x1ac], cl
mov ecx, dword [esp + 0x420]
mov word [eax + 0x1ad], cx
shr ecx, 0x10
mov byte [eax + 0x1af], cl
mov ecx, dword [esp + 0x220]
mov dword [eax + 0x1b0], ecx
mov cl, byte [esp + 0x1fc]
mov byte [eax + 0x1b4], cl
mov ecx, dword [esp + 0x424]
mov word [eax + 0x1b5], cx
shr ecx, 0x10
mov byte [eax + 0x1b7], cl
mov ecx, dword [esp + 0x228]
mov dword [eax + 0x1b8], ecx
mov cl, byte [esp + 0x208]
mov byte [eax + 0x1bc], cl
mov ecx, dword [esp + 0x42c]
mov word [eax + 0x1bd], cx
shr ecx, 0x10
mov byte [eax + 0x1bf], cl
mov ecx, dword [esp + 0x230]
mov dword [eax + 0x1c0], ecx
mov cl, byte [esp + 0x20c]
mov byte [eax + 0x1c4], cl
mov ecx, dword [esp + 0x438]
mov word [eax + 0x1c5], cx
shr ecx, 0x10
mov byte [eax + 0x1c7], cl
mov ecx, dword [esp + 0x234]
mov dword [eax + 0x1c8], ecx
mov cl, byte [esp + 0x218]
mov byte [eax + 0x1cc], cl
mov ecx, esi
mov word [eax + 0x1cd], cx
shr ecx, 0x10
mov byte [eax + 0x1cf], cl
mov ecx, dword [esp + 0x240]
mov dword [eax + 0x1d0], ecx
mov cl, byte [esp + 0x21c]
mov byte [eax + 0x1d4], cl
mov ecx, dword [esp + 0x440]
mov word [eax + 0x1d5], cx
shr ecx, 0x10
mov byte [eax + 0x1d7], cl
mov ecx, dword [esp + 0x244]
mov dword [eax + 0x1d8], ecx
mov cl, byte [esp + 0x224]
mov byte [eax + 0x1dc], cl
mov ecx, dword [esp + 0x520]
mov word [eax + 0x1dd], cx
shr ecx, 0x10
mov byte [eax + 0x1df], cl
mov ecx, dword [esp + 0x250]
mov dword [eax + 0x1e0], ecx
mov cl, byte [esp + 0x22c]
mov byte [eax + 0x1e4], cl
mov ecx, dword [esp + 0x450]
mov word [eax + 0x1e5], cx
shr ecx, 0x10
mov byte [eax + 0x1e7], cl
mov ecx, dword [esp + 0x254]
mov dword [eax + 0x1e8], ecx
mov cl, byte [esp + 0x238]
mov byte [eax + 0x1ec], cl
mov ecx, dword [esp + 0x500]
mov word [eax + 0x1ed], cx
shr ecx, 0x10
mov byte [eax + 0x1ef], cl
mov ecx, dword [esp + 0x25c]
mov dword [eax + 0x1f0], ecx
mov cl, byte [esp + 0x23c]
mov byte [eax + 0x1f4], cl
mov ecx, dword [esp + 0x45c]
mov word [eax + 0x1f5], cx
shr ecx, 0x10
mov byte [eax + 0x1f7], cl
mov ecx, dword [esp + 0x264]
mov dword [eax + 0x1f8], ecx
mov cl, byte [esp + 0x248]
mov byte [eax + 0x1fc], cl
mov ecx, dword [esp + 0x46c]
mov word [eax + 0x1fd], cx
shr ecx, 0x10
mov byte [eax + 0x1ff], cl
mov ecx, dword [esp + 0x270]
mov dword [eax + 0x200], ecx
mov cl, byte [esp + 0x24c]
mov byte [eax + 0x204], cl
mov ecx, dword [esp + 0x468]
mov word [eax + 0x205], cx
shr ecx, 0x10
mov byte [eax + 0x207], cl
mov ecx, dword [esp + 0x274]
mov dword [eax + 0x208], ecx
mov cl, byte [esp + 0x258]
mov byte [eax + 0x20c], cl
mov ecx, dword [esp + 0x474]
mov word [eax + 0x20d], cx
shr ecx, 0x10
mov byte [eax + 0x20f], cl
mov ecx, dword [esp + 0x280]
mov dword [eax + 0x210], ecx
mov cl, byte [esp + 0x260]
mov byte [eax + 0x214], cl
mov ecx, dword [esp + 0x47c]
mov word [eax + 0x215], cx
shr ecx, 0x10
mov byte [eax + 0x217], cl
mov ecx, dword [esp + 0x284]
mov dword [eax + 0x218], ecx
mov cl, byte [esp + 0x268]
mov byte [eax + 0x21c], cl
mov ecx, dword [esp + 0x488]
mov word [eax + 0x21d], cx
shr ecx, 0x10
mov byte [eax + 0x21f], cl
mov ecx, dword [esp + 0x290]
mov dword [eax + 0x220], ecx
mov cl, byte [esp + 0x26c]
mov byte [eax + 0x224], cl
mov ecx, dword [esp + 0x484]
mov word [eax + 0x225], cx
shr ecx, 0x10
mov byte [eax + 0x227], cl
mov ecx, dword [esp + 0x294]
mov dword [eax + 0x228], ecx
mov cl, byte [esp + 0x27c]
mov byte [eax + 0x22c], cl
mov ecx, dword [esp + 0x30]
mov word [eax + 0x22d], cx
shr ecx, 0x10
mov byte [eax + 0x22f], cl
mov ecx, dword [esp + 0x2a8]
mov dword [eax + 0x230], ecx
mov cl, byte [esp + 0x278]
mov byte [eax + 0x234], cl
mov ecx, dword [esp + 0x490]
mov word [eax + 0x235], cx
shr ecx, 0x10
mov byte [eax + 0x237], cl
mov ecx, dword [esp + 0x2a0]
mov dword [eax + 0x238], ecx
mov cl, byte [esp + 0x288]
mov byte [eax + 0x23c], cl
mov ecx, dword [esp + 0x2c0]
mov word [eax + 0x23d], bx
shr ebx, 0x10
mov byte [eax + 0x23f], bl
mov dword [eax + 0x240], ecx
mov cl, byte [esp + 0x28c]
mov byte [eax + 0x244], cl
mov ecx, dword [esp + 0x24]
mov word [eax + 0x245], cx
shr ecx, 0x10
mov byte [eax + 0x247], cl
mov ecx, dword [esp + 0x2c4]
mov dword [eax + 0x248], ecx
mov cl, byte [esp + 0x29c]
mov byte [eax + 0x24c], cl
mov ecx, dword [esp + 0x498]
mov word [eax + 0x24d], cx
shr ecx, 0x10
mov byte [eax + 0x24f], cl
mov ecx, dword [esp + 0x2d8]
mov dword [eax + 0x250], ecx
mov cl, byte [esp + 0x2a4]
mov byte [eax + 0x254], cl
mov ecx, dword [esp + 0x494]
mov word [eax + 0x255], cx
shr ecx, 0x10
mov byte [eax + 0x257], cl
mov ecx, dword [esp + 0x2e0]
mov dword [eax + 0x258], ecx
mov cl, byte [esp + 0x2b4]
mov byte [eax + 0x25c], cl
mov ecx, dword [esp + 0x49c]
mov word [eax + 0x25d], cx
shr ecx, 0x10
mov byte [eax + 0x25f], cl
mov ecx, dword [esp + 0x2ec]
mov dword [eax + 0x260], ecx
mov cl, byte [esp + 0x2bc]
mov byte [eax + 0x264], cl
mov ecx, dword [esp + 0x4a0]
mov word [eax + 0x265], cx
shr ecx, 0x10
mov byte [eax + 0x267], cl
mov ecx, dword [esp + 0x2f8]
mov dword [eax + 0x268], ecx
mov cl, byte [esp + 0x2d0]
mov byte [eax + 0x26c], cl
mov ecx, dword [esp + 0x4a8]
mov word [eax + 0x26d], cx
shr ecx, 0x10
mov byte [eax + 0x26f], cl
mov ecx, dword [esp + 0x308]
mov dword [eax + 0x270], ecx
mov cl, byte [esp + 0x2d4]
mov byte [eax + 0x274], cl
mov ecx, dword [esp + 0x4a4]
mov word [eax + 0x275], cx
shr ecx, 0x10
mov byte [eax + 0x277], cl
mov ecx, dword [esp + 0x30c]
mov dword [eax + 0x278], ecx
mov cl, byte [esp + 0x2e8]
mov byte [eax + 0x27c], cl
mov ecx, dword [esp + 0x4b0]
mov word [eax + 0x27d], cx
shr ecx, 0x10
mov byte [eax + 0x27f], cl
mov ecx, dword [esp + 0x318]
mov dword [eax + 0x280], ecx
mov cl, byte [esp + 0x2f0]
mov byte [eax + 0x284], cl
mov ecx, dword [esp + 0x4ac]
mov word [eax + 0x285], cx
shr ecx, 0x10
mov byte [eax + 0x287], cl
mov ecx, dword [esp + 0x31c]
mov dword [eax + 0x288], ecx
mov cl, byte [esp + 0xc]
mov byte [eax + 0x28c], cl
mov ecx, dword [esp + 0x4b4]
mov word [eax + 0x28d], cx
shr ecx, 0x10
mov byte [eax + 0x28f], cl
mov ecx, dword [esp + 0x328]
mov dword [eax + 0x290], ecx
mov cl, byte [esp + 0xd]
mov byte [eax + 0x294], cl
mov ecx, dword [esp + 0x4b8]
mov word [eax + 0x295], cx
shr ecx, 0x10
mov byte [eax + 0x297], cl
mov ecx, dword [esp + 0x334]
mov dword [eax + 0x298], ecx
mov cl, byte [esp + 0xe]
mov byte [eax + 0x29c], cl
mov ecx, dword [esp + 0x4c0]
mov word [eax + 0x29d], cx
shr ecx, 0x10
mov byte [eax + 0x29f], cl
mov ecx, dword [esp + 0x344]
mov dword [eax + 0x2a0], ecx
mov cl, byte [esp + 0xf]
mov byte [eax + 0x2a4], cl
mov ecx, dword [esp + 0x4bc]
mov word [eax + 0x2a5], cx
shr ecx, 0x10
mov byte [eax + 0x2a7], cl
mov ecx, dword [esp + 0x348]
mov dword [eax + 0x2a8], ecx
mov cl, byte [esp + 0x10]
mov byte [eax + 0x2ac], cl
mov ecx, dword [esp + 0x4c4]
mov word [eax + 0x2ad], cx
shr ecx, 0x10
mov byte [eax + 0x2af], cl
mov ecx, dword [esp + 0x350]
mov dword [eax + 0x2b0], ecx
mov cl, byte [esp + 0x11]
mov byte [eax + 0x2b4], cl
mov ecx, dword [esp + 0x4c8]
mov word [eax + 0x2b5], cx
shr ecx, 0x10
mov byte [eax + 0x2b7], cl
mov ecx, dword [esp + 0x354]
mov dword [eax + 0x2b8], ecx
mov cl, byte [esp + 0x12]
mov byte [eax + 0x2bc], cl
mov ecx, dword [esp + 0x4d0]
mov word [eax + 0x2bd], cx
shr ecx, 0x10
mov byte [eax + 0x2bf], cl
mov ecx, dword [esp + 0x368]
mov dword [eax + 0x2c0], ecx
mov cl, byte [esp + 0x13]
mov byte [eax + 0x2c4], cl
mov ecx, dword [esp + 0x4cc]
mov word [eax + 0x2c5], cx
shr ecx, 0x10
mov byte [eax + 0x2c7], cl
mov ecx, dword [esp + 0x36c]
mov dword [eax + 0x2c8], ecx
mov cl, byte [esp + 0x15]
mov byte [eax + 0x2cc], cl
mov ecx, dword [esp + 0x4d8]
mov word [eax + 0x2cd], cx
shr ecx, 0x10
mov byte [eax + 0x2cf], cl
mov ecx, dword [esp + 0x384]
mov dword [eax + 0x2d0], ecx
mov cl, byte [esp + 0x14]
mov byte [eax + 0x2d4], cl
mov ecx, dword [esp + 0x4d4]
mov word [eax + 0x2d5], cx
shr ecx, 0x10
mov byte [eax + 0x2d7], cl
mov ecx, dword [esp + 0x380]
mov dword [eax + 0x2d8], ecx
mov cl, byte [esp + 0x16]
mov byte [eax + 0x2dc], cl
mov ecx, dword [esp + 0x4e0]
mov word [eax + 0x2dd], cx
shr ecx, 0x10
mov byte [eax + 0x2df], cl
mov ecx, dword [esp + 0x3a0]
mov dword [eax + 0x2e0], ecx
mov cl, byte [esp + 0x17]
mov byte [eax + 0x2e4], cl
mov ecx, dword [esp + 0x4dc]
mov word [eax + 0x2e5], cx
shr ecx, 0x10
mov byte [eax + 0x2e7], cl
mov ecx, dword [esp + 0x3a4]
mov dword [eax + 0x2e8], ecx
mov cl, byte [esp + 0x378]
mov byte [eax + 0x2ec], cl
mov ecx, dword [esp + 0xc0]
mov word [eax + 0x2ed], cx
shr ecx, 0x10
mov byte [eax + 0x2ef], cl
mov ecx, dword [esp + 0x3b8]
mov dword [eax + 0x2f0], ecx
mov cl, byte [esp + 0x37c]
mov byte [eax + 0x2f4], cl
mov ecx, dword [esp + 0x4e4]
mov word [eax + 0x2f5], cx
shr ecx, 0x10
mov byte [eax + 0x2f7], cl
mov ecx, dword [esp + 0x3bc]
mov dword [eax + 0x2f8], ecx
mov cl, byte [esp + 0x388]
mov byte [eax + 0x2fc], cl
mov ecx, dword [esp + 0x90]
mov word [eax + 0x2fd], cx
shr ecx, 0x10
mov byte [eax + 0x2ff], cl
mov ecx, dword [esp + 0x3c8]
mov dword [eax + 0x300], ecx
mov cl, byte [esp + 0x394]
mov byte [eax + 0x304], cl
mov ecx, dword [esp + 0x94]
mov word [eax + 0x305], cx
shr ecx, 0x10
mov byte [eax + 0x307], cl
mov ecx, dword [esp + 0x3d8]
mov dword [eax + 0x308], ecx
mov cl, byte [esp + 0x3ac]
mov byte [eax + 0x30c], cl
mov ecx, dword [esp + 0x98]
mov word [eax + 0x30d], cx
shr ecx, 0x10
mov byte [eax + 0x30f], cl
mov ecx, dword [esp + 0x3ec]
mov dword [eax + 0x310], ecx
mov cl, byte [esp + 0x3b0]
mov byte [eax + 0x314], cl
mov ecx, dword [esp + 0x50]
mov word [eax + 0x315], cx
shr ecx, 0x10
mov byte [eax + 0x317], cl
mov ecx, dword [esp + 0x3f0]
mov dword [eax + 0x318], ecx
mov cl, byte [esp + 0x18]
mov byte [eax + 0x31c], cl
mov ecx, dword [esp + 0xa0]
mov word [eax + 0x31d], cx
shr ecx, 0x10
mov byte [eax + 0x31f], cl
mov ecx, dword [esp + 0x404]
mov dword [eax + 0x320], ecx
mov cl, byte [esp + 0x3cc]
mov byte [eax + 0x324], cl
mov ecx, dword [esp + 0x9c]
mov word [eax + 0x325], cx
shr ecx, 0x10
mov byte [eax + 0x327], cl
mov ecx, dword [esp + 0x408]
mov dword [eax + 0x328], ecx
mov cl, byte [esp + 0x3dc]
mov byte [eax + 0x32c], cl
mov ecx, dword [esp + 0xa4]
mov word [eax + 0x32d], cx
shr ecx, 0x10
mov byte [eax + 0x32f], cl
mov ecx, dword [esp + 0x418]
mov dword [eax + 0x330], ecx
mov cl, byte [esp + 0x3e0]
mov byte [eax + 0x334], cl
mov ecx, dword [esp + 0xa8]
mov word [eax + 0x335], cx
shr ecx, 0x10
mov byte [eax + 0x337], cl
mov ecx, dword [esp + 0x428]
mov dword [eax + 0x338], ecx
mov cl, byte [esp + 0x3fc]
mov byte [eax + 0x33c], cl
mov ecx, dword [esp + 0xb0]
mov word [eax + 0x33d], cx
shr ecx, 0x10
mov byte [eax + 0x33f], cl
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0x340], ecx
mov cl, byte [esp + 0x400]
mov byte [eax + 0x344], cl
mov ecx, dword [esp + 0xac]
mov word [eax + 0x345], cx
shr ecx, 0x10
mov byte [eax + 0x347], cl
mov ecx, dword [esp + 0x4fc]
mov dword [eax + 0x348], ecx
mov cl, byte [esp + 0x40c]
mov byte [eax + 0x34c], cl
mov ecx, dword [esp + 0xb4]
mov word [eax + 0x34d], cx
shr ecx, 0x10
mov byte [eax + 0x34f], cl
mov ecx, dword [esp + 0x448]
mov dword [eax + 0x350], ecx
mov cl, byte [esp + 0x41c]
mov byte [eax + 0x354], cl
mov ecx, dword [esp + 0xb8]
mov word [eax + 0x355], cx
shr ecx, 0x10
mov byte [eax + 0x357], cl
mov ecx, dword [esp + 0x44c]
mov dword [eax + 0x358], ecx
mov cl, byte [esp + 0x430]
mov byte [eax + 0x35c], cl
mov ecx, dword [esp + 0x88]
mov word [eax + 0x35d], cx
shr ecx, 0x10
mov byte [eax + 0x35f], cl
mov ecx, dword [esp + 0x460]
mov dword [eax + 0x360], ecx
mov cl, byte [esp + 0x434]
mov byte [eax + 0x364], cl
mov ecx, dword [esp + 0xbc]
mov word [eax + 0x365], cx
shr ecx, 0x10
mov byte [eax + 0x367], cl
mov ecx, dword [esp + 0x464]
mov dword [eax + 0x368], ecx
mov cl, byte [esp + 0x444]
mov byte [eax + 0x36c], cl
mov ecx, dword [esp + 0x44]
mov word [eax + 0x36d], cx
shr ecx, 0x10
mov byte [eax + 0x36f], cl
mov ecx, dword [esp + 0x478]
mov dword [eax + 0x370], ecx
mov cl, byte [esp + 0x43c]
mov byte [eax + 0x374], cl
mov ecx, dword [esp + 0x84]
mov word [eax + 0x375], cx
shr ecx, 0x10
mov byte [eax + 0x377], cl
mov ecx, dword [esp + 0x470]
mov dword [eax + 0x378], ecx
mov cl, byte [esp + 0x454]
mov byte [eax + 0x37c], cl
mov ecx, dword [esp + 0x2c]
mov word [eax + 0x37d], cx
shr ecx, 0x10
mov byte [eax + 0x37f], cl
mov ecx, dword [esp + 0x480]
mov dword [eax + 0x380], ecx
mov cl, byte [esp + 0x458]
mov byte [eax + 0x384], cl
mov ecx, dword [esp + 0x38]
mov word [eax + 0x385], cx
shr ecx, 0x10
mov byte [eax + 0x387], cl
mov ecx, dword [esp + 0x48c]
mov dword [eax + 0x388], ecx
mov cl, byte [esp + 0x19]
mov byte [eax + 0x38c], cl
mov ecx, dword [esp + 0x20]
mov word [eax + 0x38d], cx
shr ecx, 0x10
mov byte [eax + 0x38f], cl
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x390], ecx
mov cl, byte [esp + 0x4e8]
mov byte [eax + 0x394], cl
mov ecx, dword [esp + 0x28]
mov word [eax + 0x395], cx
shr ecx, 0x10
mov byte [eax + 0x397], cl
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x398], ecx
mov cl, byte [esp + 0x1a]
mov byte [eax + 0x39c], cl
mov ecx, dword [esp + 0x54]
mov word [eax + 0x39d], cx
shr ecx, 0x10
mov byte [eax + 0x39f], cl
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x3a0], ecx
mov cl, byte [esp + 0x4ec]
mov byte [eax + 0x3a4], cl
mov ecx, dword [esp + 0x4c]
mov word [eax + 0x3a5], cx
shr ecx, 0x10
mov byte [eax + 0x3a7], cl
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x3a8], ecx
mov cl, byte [esp + 0xc8]
mov byte [eax + 0x3ac], cl
mov ecx, dword [esp + 0x8c]
mov word [eax + 0x3ad], cx
shr ecx, 0x10
mov byte [eax + 0x3af], cl
mov ecx, dword [esp + 0x4f4]
mov dword [eax + 0x3b0], ecx
mov cl, byte [esp + 0x5b]
mov byte [eax + 0x3b4], cl
mov ecx, dword [esp + 0x620]
mov word [eax + 0x3b5], cx
shr ecx, 0x10
mov byte [eax + 0x3b7], cl
mov ecx, dword [esp + 0x564]
mov dword [eax + 0x3b8], ecx
mov cl, byte [esp + 0x5c]
mov byte [eax + 0x3bc], cl
mov ecx, dword [esp + 0x624]
mov word [eax + 0x3bd], cx
shr ecx, 0x10
mov byte [eax + 0x3bf], cl
mov ecx, dword [esp + 0x568]
mov dword [eax + 0x3c0], ecx
mov cl, byte [esp + 0x5d]
mov byte [eax + 0x3c4], cl
mov ecx, dword [esp + 0x630]
mov word [eax + 0x3c5], cx
shr ecx, 0x10
mov byte [eax + 0x3c7], cl
mov ecx, dword [esp + 0x56c]
mov dword [eax + 0x3c8], ecx
mov cl, byte [esp + 0x5e]
mov byte [eax + 0x3cc], cl
mov ecx, dword [esp + 0x63c]
mov word [eax + 0x3cd], cx
shr ecx, 0x10
mov byte [eax + 0x3cf], cl
mov ecx, dword [esp + 0x570]
mov dword [eax + 0x3d0], ecx
mov cl, byte [esp + 0x5f]
mov byte [eax + 0x3d4], cl
mov ecx, dword [esp + 0x644]
mov word [eax + 0x3d5], cx
shr ecx, 0x10
mov byte [eax + 0x3d7], cl
mov ecx, dword [esp + 0x574]
mov dword [eax + 0x3d8], ecx
mov cl, byte [esp + 0x60]
mov byte [eax + 0x3dc], cl
mov ecx, dword [esp + 0x64c]
mov word [eax + 0x3dd], cx
shr ecx, 0x10
mov byte [eax + 0x3df], cl
mov ecx, dword [esp + 0x578]
mov dword [eax + 0x3e0], ecx
mov cl, byte [esp + 0x61]
mov byte [eax + 0x3e4], cl
mov ecx, dword [esp + 0x658]
mov word [eax + 0x3e5], cx
shr ecx, 0x10
mov byte [eax + 0x3e7], cl
mov ecx, dword [esp + 0x57c]
mov dword [eax + 0x3e8], ecx
mov cl, byte [esp + 0x62]
mov byte [eax + 0x3ec], cl
mov ecx, dword [esp + 0x664]
mov word [eax + 0x3ed], cx
shr ecx, 0x10
mov byte [eax + 0x3ef], cl
mov ecx, dword [esp + 0x580]
mov dword [eax + 0x3f0], ecx
mov cl, byte [esp + 0x63]
mov byte [eax + 0x3f4], cl
mov ecx, dword [esp + 0x668]
mov word [eax + 0x3f5], cx
shr ecx, 0x10
mov byte [eax + 0x3f7], cl
mov ecx, dword [esp + 0x584]
mov dword [eax + 0x3f8], ecx
mov cl, byte [esp + 0x64]
mov byte [eax + 0x3fc], cl
mov ecx, dword [esp + 0x674]
mov word [eax + 0x3fd], cx
shr ecx, 0x10
mov byte [eax + 0x3ff], cl
mov ecx, dword [esp + 0x588]
mov dword [eax + 0x400], ecx
mov cl, byte [esp + 0x65]
mov byte [eax + 0x404], cl
mov ecx, dword [esp + 0x680]
mov word [eax + 0x405], cx
shr ecx, 0x10
mov byte [eax + 0x407], cl
mov ecx, dword [esp + 0x58c]
mov dword [eax + 0x408], ecx
mov cl, byte [esp + 0x66]
mov byte [eax + 0x40c], cl
mov ecx, dword [esp + 0x688]
mov word [eax + 0x40d], cx
shr ecx, 0x10
mov byte [eax + 0x40f], cl
mov ecx, dword [esp + 0x590]
mov dword [eax + 0x410], ecx
mov cl, byte [esp + 0x67]
mov byte [eax + 0x414], cl
mov ecx, dword [esp + 0x690]
mov word [eax + 0x415], cx
shr ecx, 0x10
mov byte [eax + 0x417], cl
mov ecx, dword [esp + 0x594]
mov dword [eax + 0x418], ecx
mov cl, byte [esp + 0x68]
mov byte [eax + 0x41c], cl
mov ecx, dword [esp + 0x69c]
mov word [eax + 0x41d], cx
shr ecx, 0x10
mov byte [eax + 0x41f], cl
mov ecx, dword [esp + 0x598]
mov dword [eax + 0x420], ecx
mov cl, byte [esp + 0x69]
mov byte [eax + 0x424], cl
mov ecx, dword [esp + 0x6a4]
mov word [eax + 0x425], cx
shr ecx, 0x10
mov byte [eax + 0x427], cl
mov ecx, dword [esp + 0x5a0]
mov dword [eax + 0x428], ecx
mov cl, byte [esp + 0x6a]
mov byte [eax + 0x42c], cl
mov ecx, dword [esp + 0x6ac]
mov word [eax + 0x42d], cx
shr ecx, 0x10
mov byte [eax + 0x42f], cl
mov ecx, dword [esp + 0x5a8]
mov dword [eax + 0x430], ecx
mov cl, byte [esp + 0x6b]
mov byte [eax + 0x434], cl
mov ecx, dword [esp + 0x6b8]
mov word [eax + 0x435], cx
shr ecx, 0x10
mov byte [eax + 0x437], cl
mov ecx, dword [esp + 0x5b0]
mov dword [eax + 0x438], ecx
mov cl, byte [esp + 0x6c]
mov byte [eax + 0x43c], cl
mov ecx, dword [esp + 0x6c4]
mov word [eax + 0x43d], cx
shr ecx, 0x10
mov byte [eax + 0x43f], cl
mov ecx, dword [esp + 0x5b8]
mov dword [eax + 0x440], ecx
mov cl, byte [esp + 0x59c]
mov byte [eax + 0x444], cl
mov ecx, dword [esp + 0x6cc]
mov word [eax + 0x445], cx
shr ecx, 0x10
mov byte [eax + 0x447], cl
mov ecx, dword [esp + 0x5bc]
mov dword [eax + 0x448], ecx
mov cl, byte [esp + 0x5a4]
mov byte [eax + 0x44c], cl
mov ecx, dword [esp + 0x6d4]
mov word [eax + 0x44d], cx
shr ecx, 0x10
mov byte [eax + 0x44f], cl
mov ecx, dword [esp + 0x5c0]
mov dword [eax + 0x450], ecx
mov cl, byte [esp + 0x5ac]
mov byte [eax + 0x454], cl
mov ecx, dword [esp + 0x6dc]
mov word [eax + 0x455], cx
shr ecx, 0x10
mov byte [eax + 0x457], cl
mov ecx, dword [esp + 0x5c8]
mov dword [eax + 0x458], ecx
mov cl, byte [esp + 0x5b4]
mov byte [eax + 0x45c], cl
mov ecx, dword [esp + 0x6e4]
mov word [eax + 0x45d], cx
shr ecx, 0x10
mov byte [eax + 0x45f], cl
mov ecx, dword [esp + 0x5d0]
mov dword [eax + 0x460], ecx
mov cl, byte [esp + 0x6d]
mov byte [eax + 0x464], cl
mov ecx, dword [esp + 0x6ec]
mov word [eax + 0x465], cx
shr ecx, 0x10
mov byte [eax + 0x467], cl
mov ecx, dword [esp + 0x5d8]
mov dword [eax + 0x468], ecx
mov cl, byte [esp + 0x6e]
mov byte [eax + 0x46c], cl
mov ecx, dword [esp + 0x6f4]
mov word [eax + 0x46d], cx
shr ecx, 0x10
mov byte [eax + 0x46f], cl
mov ecx, dword [esp + 0x5e0]
mov dword [eax + 0x470], ecx
mov cl, byte [esp + 0x5c4]
mov byte [eax + 0x474], cl
mov ecx, dword [esp + 0x700]
mov word [eax + 0x475], cx
shr ecx, 0x10
mov byte [eax + 0x477], cl
mov ecx, dword [esp + 0x5e8]
mov dword [eax + 0x478], ecx
mov cl, byte [esp + 0x5cc]
mov byte [eax + 0x47c], cl
mov ecx, dword [esp + 0x708]
mov word [eax + 0x47d], cx
shr ecx, 0x10
mov byte [eax + 0x47f], cl
mov ecx, dword [esp + 0x5f0]
mov dword [eax + 0x480], ecx
mov cl, byte [esp + 0x5d4]
mov byte [eax + 0x484], cl
mov ecx, dword [esp + 0x70c]
mov word [eax + 0x485], cx
shr ecx, 0x10
mov byte [eax + 0x487], cl
mov ecx, dword [esp + 0x5f8]
mov dword [eax + 0x488], ecx
mov cl, byte [esp + 0x5dc]
mov byte [eax + 0x48c], cl
mov ecx, dword [esp + 0x714]
mov word [eax + 0x48d], cx
shr ecx, 0x10
mov byte [eax + 0x48f], cl
mov ecx, dword [esp + 0x600]
mov dword [eax + 0x490], ecx
mov cl, byte [esp + 0x5e4]
mov byte [eax + 0x494], cl
mov ecx, dword [esp + 0x71c]
mov word [eax + 0x495], cx
shr ecx, 0x10
mov byte [eax + 0x497], cl
mov ecx, dword [esp + 0x608]
mov dword [eax + 0x498], ecx
mov cl, byte [esp + 0x5ec]
mov byte [eax + 0x49c], cl
mov ecx, dword [esp + 0x724]
mov word [eax + 0x49d], cx
shr ecx, 0x10
mov byte [eax + 0x49f], cl
mov ecx, dword [esp + 0x610]
mov dword [eax + 0x4a0], ecx
mov cl, byte [esp + 0x5f4]
mov byte [eax + 0x4a4], cl
mov ecx, dword [esp + 0x728]
mov word [eax + 0x4a5], cx
shr ecx, 0x10
mov byte [eax + 0x4a7], cl
mov ecx, dword [esp + 0x61c]
mov dword [eax + 0x4a8], ecx
mov cl, byte [esp + 0x5fc]
mov byte [eax + 0x4ac], cl
mov ecx, dword [esp + 0x730]
mov word [eax + 0x4ad], cx
shr ecx, 0x10
mov byte [eax + 0x4af], cl
mov ecx, dword [esp + 0x628]
mov dword [eax + 0x4b0], ecx
mov cl, byte [esp + 0x604]
mov byte [eax + 0x4b4], cl
mov ecx, dword [esp + 0x73c]
mov word [eax + 0x4b5], cx
shr ecx, 0x10
mov byte [eax + 0x4b7], cl
mov ecx, dword [esp + 0x638]
mov dword [eax + 0x4b8], ecx
mov cl, byte [esp + 0x60c]
mov byte [eax + 0x4bc], cl
mov ecx, dword [esp + 0x740]
mov word [eax + 0x4bd], cx
shr ecx, 0x10
mov byte [eax + 0x4bf], cl
mov ecx, dword [esp + 0x640]
mov dword [eax + 0x4c0], ecx
mov cl, byte [esp + 0x614]
mov byte [eax + 0x4c4], cl
mov ecx, dword [esp + 0x74c]
mov word [eax + 0x4c5], cx
shr ecx, 0x10
mov byte [eax + 0x4c7], cl
mov ecx, dword [esp + 0x650]
mov dword [eax + 0x4c8], ecx
mov cl, byte [esp + 0x618]
mov byte [eax + 0x4cc], cl
mov ecx, dword [esp + 0x754]
mov word [eax + 0x4cd], cx
shr ecx, 0x10
mov byte [eax + 0x4cf], cl
mov ecx, dword [esp + 0x65c]
mov dword [eax + 0x4d0], ecx
mov cl, byte [esp + 0x62c]
mov byte [eax + 0x4d4], cl
mov ecx, dword [esp + 0x75c]
mov word [eax + 0x4d5], cx
shr ecx, 0x10
mov byte [eax + 0x4d7], cl
mov ecx, dword [esp + 0x66c]
mov dword [eax + 0x4d8], ecx
mov cl, byte [esp + 0x634]
mov byte [eax + 0x4dc], cl
mov ecx, dword [esp + 0x768]
mov word [eax + 0x4dd], cx
shr ecx, 0x10
mov byte [eax + 0x4df], cl
mov ecx, dword [esp + 0x678]
mov dword [eax + 0x4e0], ecx
mov cl, byte [esp + 0x648]
mov byte [eax + 0x4e4], cl
mov ecx, dword [esp + 0x774]
mov word [eax + 0x4e5], cx
shr ecx, 0x10
mov byte [eax + 0x4e7], cl
mov ecx, dword [esp + 0x684]
mov dword [eax + 0x4e8], ecx
mov cl, byte [esp + 0x654]
mov byte [eax + 0x4ec], cl
mov ecx, dword [esp + 0x77c]
mov word [eax + 0x4ed], cx
shr ecx, 0x10
mov byte [eax + 0x4ef], cl
mov ecx, dword [esp + 0x694]
mov dword [eax + 0x4f0], ecx
mov cl, byte [esp + 0x660]
mov byte [eax + 0x4f4], cl
mov ecx, dword [esp + 0x784]
mov word [eax + 0x4f5], cx
shr ecx, 0x10
mov byte [eax + 0x4f7], cl
mov ecx, dword [esp + 0x6a0]
mov dword [eax + 0x4f8], ecx
mov cl, byte [esp + 0x670]
mov byte [eax + 0x4fc], cl
mov ecx, dword [esp + 0x790]
mov word [eax + 0x4fd], cx
shr ecx, 0x10
mov byte [eax + 0x4ff], cl
mov ecx, dword [esp + 0x6b0]
mov dword [eax + 0x500], ecx
mov cl, byte [esp + 0x67c]
mov byte [eax + 0x504], cl
mov ecx, dword [esp + 0x798]
mov word [eax + 0x505], cx
shr ecx, 0x10
mov byte [eax + 0x507], cl
mov ecx, dword [esp + 0x6bc]
mov dword [eax + 0x508], ecx
mov cl, byte [esp + 0x68c]
mov byte [eax + 0x50c], cl
mov ecx, dword [esp + 0x79c]
mov word [eax + 0x50d], cx
shr ecx, 0x10
mov byte [eax + 0x50f], cl
mov ecx, dword [esp + 0x6c8]
mov dword [eax + 0x510], ecx
mov cl, byte [esp + 0x698]
mov byte [eax + 0x514], cl
mov ecx, dword [esp + 0x7a4]
mov word [eax + 0x515], cx
shr ecx, 0x10
mov byte [eax + 0x517], cl
mov ecx, dword [esp + 0x6d8]
mov dword [eax + 0x518], ecx
mov cl, byte [esp + 0x6a8]
mov byte [eax + 0x51c], cl
mov ecx, dword [esp + 0x7b0]
mov word [eax + 0x51d], cx
shr ecx, 0x10
mov byte [eax + 0x51f], cl
mov ecx, dword [esp + 0x6e0]
mov dword [eax + 0x520], ecx
mov cl, byte [esp + 0x6b4]
mov byte [eax + 0x524], cl
mov ecx, dword [esp + 0x7b8]
mov word [eax + 0x525], cx
shr ecx, 0x10
mov byte [eax + 0x527], cl
mov ecx, dword [esp + 0x6f0]
mov dword [eax + 0x528], ecx
mov cl, byte [esp + 0x6c0]
mov byte [eax + 0x52c], cl
mov ecx, dword [esp + 0x7bc]
mov word [eax + 0x52d], cx
shr ecx, 0x10
mov byte [eax + 0x52f], cl
mov ecx, dword [esp + 0x6f8]
mov dword [eax + 0x530], ecx
mov cl, byte [esp + 0x6d0]
mov byte [eax + 0x534], cl
mov ecx, dword [esp + 0x7c8]
mov word [eax + 0x535], cx
shr ecx, 0x10
mov byte [eax + 0x537], cl
mov ecx, dword [esp + 0x704]
mov dword [eax + 0x538], ecx
mov cl, byte [esp + 0x6f]
mov byte [eax + 0x53c], cl
mov ecx, dword [esp + 0x7d0]
mov word [eax + 0x53d], cx
shr ecx, 0x10
mov byte [eax + 0x53f], cl
mov ecx, dword [esp + 0x710]
mov dword [eax + 0x540], ecx
mov cl, byte [esp + 0x6e8]
mov byte [eax + 0x544], cl
mov ecx, dword [esp + 0x7d8]
mov word [eax + 0x545], cx
shr ecx, 0x10
mov byte [eax + 0x547], cl
mov ecx, dword [esp + 0x718]
mov dword [eax + 0x548], ecx
mov cl, byte [esp + 0x70]
mov byte [eax + 0x54c], cl
mov ecx, dword [esp + 0x7e4]
mov word [eax + 0x54d], cx
shr ecx, 0x10
mov byte [eax + 0x54f], cl
mov ecx, dword [esp + 0x720]
mov dword [eax + 0x550], ecx
mov cl, byte [esp + 0x6fc]
mov byte [eax + 0x554], cl
mov ecx, dword [esp + 0x7f0]
mov word [eax + 0x555], cx
shr ecx, 0x10
mov byte [eax + 0x557], cl
mov ecx, dword [esp + 0x72c]
mov dword [eax + 0x558], ecx
mov cl, byte [esp + 0x71]
mov byte [eax + 0x55c], cl
mov ecx, dword [esp + 0x7f8]
mov word [eax + 0x55d], cx
shr ecx, 0x10
mov byte [eax + 0x55f], cl
mov ecx, dword [esp + 0x734]
mov dword [eax + 0x560], ecx
mov cl, byte [esp + 0x72]
mov byte [eax + 0x564], cl
mov ecx, dword [esp + 0x800]
mov word [eax + 0x565], cx
shr ecx, 0x10
mov byte [eax + 0x567], cl
mov ecx, dword [esp + 0x744]
mov dword [eax + 0x568], ecx
mov cl, byte [esp + 0x73]
mov byte [eax + 0x56c], cl
mov ecx, dword [esp + 0x80c]
mov word [eax + 0x56d], cx
shr ecx, 0x10
mov byte [eax + 0x56f], cl
mov ecx, dword [esp + 0x750]
mov dword [eax + 0x570], ecx
mov cl, byte [esp + 0x74]
mov byte [eax + 0x574], cl
mov ecx, dword [esp + 0x818]
mov word [eax + 0x575], cx
shr ecx, 0x10
mov byte [eax + 0x577], cl
mov ecx, dword [esp + 0x760]
mov dword [eax + 0x578], ecx
mov cl, byte [esp + 0x75]
mov byte [eax + 0x57c], cl
mov ecx, dword [esp + 0x81c]
mov word [eax + 0x57d], cx
shr ecx, 0x10
mov byte [eax + 0x57f], cl
mov ecx, dword [esp + 0x76c]
mov dword [eax + 0x580], ecx
mov cl, byte [esp + 0x738]
mov byte [eax + 0x584], cl
mov ecx, dword [esp + 0x828]
mov word [eax + 0x585], cx
shr ecx, 0x10
mov byte [eax + 0x587], cl
mov ecx, dword [esp + 0x778]
mov dword [eax + 0x588], ecx
mov cl, byte [esp + 0x748]
mov byte [eax + 0x58c], cl
mov ecx, dword [esp + 0x834]
mov word [eax + 0x58d], cx
shr ecx, 0x10
mov byte [eax + 0x58f], cl
mov ecx, dword [esp + 0x788]
mov dword [eax + 0x590], ecx
mov cl, byte [esp + 0x758]
mov byte [eax + 0x594], cl
mov ecx, dword [esp + 0x83c]
mov word [eax + 0x595], cx
shr ecx, 0x10
mov byte [eax + 0x597], cl
mov ecx, dword [esp + 0x794]
mov dword [eax + 0x598], ecx
mov cl, byte [esp + 0x764]
mov byte [eax + 0x59c], cl
mov ecx, dword [esp + 0x844]
mov word [eax + 0x59d], cx
shr ecx, 0x10
mov byte [eax + 0x59f], cl
mov ecx, dword [esp + 0x7a0]
mov dword [eax + 0x5a0], ecx
mov cl, byte [esp + 0x770]
mov byte [eax + 0x5a4], cl
mov ecx, dword [esp + 0x84c]
mov word [eax + 0x5a5], cx
shr ecx, 0x10
mov byte [eax + 0x5a7], cl
mov ecx, dword [esp + 0x7a8]
mov dword [eax + 0x5a8], ecx
mov cl, byte [esp + 0x780]
mov byte [eax + 0x5ac], cl
mov ecx, dword [esp + 0x854]
mov word [eax + 0x5ad], cx
shr ecx, 0x10
mov byte [eax + 0x5af], cl
mov ecx, dword [esp + 0x7b4]
mov dword [eax + 0x5b0], ecx
mov cl, byte [esp + 0x78c]
mov byte [eax + 0x5b4], cl
mov ecx, dword [esp + 0x85c]
mov word [eax + 0x5b5], cx
shr ecx, 0x10
mov byte [eax + 0x5b7], cl
mov ecx, dword [esp + 0x7c0]
mov dword [eax + 0x5b8], ecx
mov cl, byte [esp + 0x76]
mov byte [eax + 0x5bc], cl
mov ecx, dword [esp + 0x860]
mov word [eax + 0x5bd], cx
shr ecx, 0x10
mov byte [eax + 0x5bf], cl
mov ecx, dword [esp + 0x7cc]
mov dword [eax + 0x5c0], ecx
mov cl, byte [esp + 0x77]
mov byte [eax + 0x5c4], cl
mov ecx, dword [esp + 0x868]
mov word [eax + 0x5c5], cx
shr ecx, 0x10
mov byte [eax + 0x5c7], cl
mov ecx, dword [esp + 0x7dc]
mov dword [eax + 0x5c8], ecx
mov cl, byte [esp + 0x7ac]
mov byte [eax + 0x5cc], cl
mov ecx, dword [esp + 0x870]
mov word [eax + 0x5cd], cx
shr ecx, 0x10
mov byte [eax + 0x5cf], cl
mov ecx, dword [esp + 0x7e8]
mov dword [eax + 0x5d0], ecx
mov cl, byte [esp + 0x78]
mov byte [eax + 0x5d4], cl
mov ecx, dword [esp + 0x874]
mov word [eax + 0x5d5], cx
shr ecx, 0x10
mov byte [eax + 0x5d7], cl
mov ecx, dword [esp + 0x7f4]
mov dword [eax + 0x5d8], ecx
mov cl, byte [esp + 0x7c4]
mov byte [eax + 0x5dc], cl
mov ecx, dword [esp + 0x87c]
mov word [eax + 0x5dd], cx
shr ecx, 0x10
mov byte [eax + 0x5df], cl
mov ecx, dword [esp + 0x804]
mov dword [eax + 0x5e0], ecx
mov cl, byte [esp + 0x7d4]
mov byte [eax + 0x5e4], cl
mov ecx, dword [esp + 0x880]
mov word [eax + 0x5e5], cx
shr ecx, 0x10
mov byte [eax + 0x5e7], cl
mov ecx, dword [esp + 0x810]
mov dword [eax + 0x5e8], ecx
mov cl, byte [esp + 0x7e0]
mov byte [eax + 0x5ec], cl
mov ecx, dword [esp + 0x890]
mov word [eax + 0x5ed], cx
shr ecx, 0x10
mov byte [eax + 0x5ef], cl
mov ecx, dword [esp + 0x820]
mov dword [eax + 0x5f0], ecx
mov cl, byte [esp + 0x7ec]
mov byte [eax + 0x5f4], cl
mov ecx, dword [esp + 0x89c]
mov word [eax + 0x5f5], cx
shr ecx, 0x10
mov byte [eax + 0x5f7], cl
mov ecx, dword [esp + 0x82c]
mov dword [eax + 0x5f8], ecx
mov cl, byte [esp + 0x7fc]
mov byte [eax + 0x5fc], cl
mov ecx, dword [esp + 0x8a8]
mov word [eax + 0x5fd], cx
shr ecx, 0x10
mov byte [eax + 0x5ff], cl
mov ecx, dword [esp + 0x838]
mov dword [eax + 0x600], ecx
mov cl, byte [esp + 0x808]
mov byte [eax + 0x604], cl
mov ecx, dword [esp + 0x8ac]
mov word [eax + 0x605], cx
shr ecx, 0x10
mov byte [eax + 0x607], cl
mov ecx, dword [esp + 0x848]
mov dword [eax + 0x608], ecx
mov cl, byte [esp + 0x814]
mov byte [eax + 0x60c], cl
mov ecx, dword [esp + 0x8b8]
mov word [eax + 0x60d], cx
shr ecx, 0x10
mov byte [eax + 0x60f], cl
mov ecx, dword [esp + 0x850]
mov dword [eax + 0x610], ecx
mov cl, byte [esp + 0x824]
mov byte [eax + 0x614], cl
mov ecx, dword [esp + 0x8c0]
mov word [eax + 0x615], cx
shr ecx, 0x10
mov byte [eax + 0x617], cl
mov ecx, dword [esp + 0x858]
mov dword [eax + 0x618], ecx
mov cl, byte [esp + 0x830]
mov byte [eax + 0x61c], cl
mov ecx, dword [esp + 0x8c8]
mov word [eax + 0x61d], cx
shr ecx, 0x10
mov byte [eax + 0x61f], cl
mov ecx, dword [esp + 0x864]
mov dword [eax + 0x620], ecx
mov cl, byte [esp + 0x840]
mov byte [eax + 0x624], cl
mov ecx, dword [esp + 0x8cc]
mov word [eax + 0x625], cx
shr ecx, 0x10
mov byte [eax + 0x627], cl
mov ecx, dword [esp + 0x86c]
mov dword [eax + 0x628], ecx
mov cl, byte [esp + 0x79]
mov byte [eax + 0x62c], cl
mov ecx, dword [esp + 0x8d4]
mov word [eax + 0x62d], cx
shr ecx, 0x10
mov byte [eax + 0x62f], cl
mov ecx, dword [esp + 0x878]
mov dword [eax + 0x630], ecx
mov cl, byte [esp + 0x7a]
mov byte [eax + 0x634], cl
mov ecx, dword [esp + 0x8dc]
mov word [eax + 0x635], cx
shr ecx, 0x10
mov byte [eax + 0x637], cl
mov ecx, dword [esp + 0x884]
mov dword [eax + 0x638], ecx
mov cl, byte [esp + 0x7b]
mov byte [eax + 0x63c], cl
mov ecx, dword [esp + 0x8e4]
mov word [eax + 0x63d], cx
shr ecx, 0x10
mov byte [eax + 0x63f], cl
mov ecx, dword [esp + 0x894]
mov dword [eax + 0x640], ecx
mov cl, byte [esp + 0x7c]
mov byte [eax + 0x644], cl
mov ecx, dword [esp + 0x8e8]
mov word [eax + 0x645], cx
shr ecx, 0x10
mov byte [eax + 0x647], cl
mov ecx, dword [esp + 0x8a0]
mov dword [eax + 0x648], ecx
mov cl, byte [esp + 0x7d]
mov byte [eax + 0x64c], cl
mov ecx, dword [esp + 0x8f0]
mov word [eax + 0x64d], cx
shr ecx, 0x10
mov byte [eax + 0x64f], cl
mov ecx, dword [esp + 0x8b0]
mov dword [eax + 0x650], ecx
mov cl, byte [esp + 0x7e]
mov byte [eax + 0x654], cl
mov ecx, dword [esp + 0x900]
mov word [eax + 0x655], cx
shr ecx, 0x10
mov byte [eax + 0x657], cl
mov ecx, dword [esp + 0x8bc]
mov dword [eax + 0x658], ecx
mov cl, byte [esp + 0x888]
mov byte [eax + 0x65c], cl
mov ecx, dword [esp + 0x904]
mov word [eax + 0x65d], cx
shr ecx, 0x10
mov byte [eax + 0x65f], cl
mov ecx, dword [esp + 0x8c4]
mov dword [eax + 0x660], ecx
mov cl, byte [esp + 0x898]
mov byte [eax + 0x664], cl
mov ecx, dword [esp + 0x908]
mov word [eax + 0x665], cx
shr ecx, 0x10
mov byte [eax + 0x667], cl
mov ecx, dword [esp + 0x8d0]
mov dword [eax + 0x668], ecx
mov cl, byte [esp + 0x8a4]
mov byte [eax + 0x66c], cl
mov ecx, dword [esp + 0x90c]
mov word [eax + 0x66d], cx
shr ecx, 0x10
mov byte [eax + 0x66f], cl
mov ecx, dword [esp + 0x8d8]
mov dword [eax + 0x670], ecx
mov cl, byte [esp + 0x8b4]
mov byte [eax + 0x674], cl
mov ecx, dword [esp + 0x910]
mov word [eax + 0x675], cx
shr ecx, 0x10
mov byte [eax + 0x677], cl
mov ecx, dword [esp + 0x8e0]
mov dword [eax + 0x678], ecx
mov cl, byte [esp + 0x37]
mov byte [eax + 0x67c], cl
mov ecx, dword [esp + 0x914]
mov word [eax + 0x67d], cx
shr ecx, 0x10
mov byte [eax + 0x67f], cl
mov ecx, dword [esp + 0x8ec]
mov dword [eax + 0x680], ecx
mov ecx, dword [esp + 0x528]
mov dword [eax + 0x684], ecx
mov ecx, dword [esp + 0x8f4]
mov dword [eax + 0x688], ecx
mov ecx, dword [esp + 0x88c]
mov dword [eax + 0x68c], ecx
mov ecx, dword [esp + 0x8fc]
mov dword [eax + 0x690], ecx
mov ecx, dword [esp + 0x540]
mov dword [eax + 0x694], ecx
mov ecx, dword [esp + 0x8f8]
mov dword [eax + 0x698], ecx
mov ecx, dword [esp + 0x51c]
mov dword [eax + 0x69c], ecx
mov ecx, dword [esp + 0x550]
mov byte [eax + 0x6a0], cl
mov ecx, dword [esp + 0x55c]
mov word [eax + 0x6a1], cx
shr ecx, 0x10
mov byte [eax + 0x6a3], cl
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0x6a4], ecx
mov ecx, dword [esp + 0x530]
mov dword [eax + 0x6a8], ecx
mov ecx, dword [esp + 0x544]
mov dword [eax + 0x6ac], ecx
mov ecx, dword [esp + 0x938]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x768b40
jmp 0x514f09
mov esi, ecx
mov cl, 1
mov dword [esp + 0x94], 0
mov dword [esp + 0x50], ecx
mov ecx, esi
jmp 0x504106
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
lock dec dword [eax]
mov dword [esp + 0x50], 2
jne 0x503607
lea ecx, [esp + 0x12a0]
call fcn.00568449
jmp 0x503607
mov al, byte [esp + 0xc8]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x548], al
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x4f8], eax
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x504], eax
mov al, byte [esp + 0x4ec]
mov byte [esp + 0xc8], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4f4], eax
mov al, byte [esp + 0x1a]
mov byte [esp + 0x4ec], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4e8]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x80], edi
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x19]
mov byte [esp + 0x4e8], al
mov al, byte [esp + 0x458]
mov bl, byte [esp + 0x400]
mov edi, dword [esp + 0xac]
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x454]
mov byte [esp + 0x458], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x48c], eax
mov al, byte [esp + 0x43c]
mov byte [esp + 0x454], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x480], eax
mov al, byte [esp + 0x444]
mov byte [esp + 0x43c], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], eax
mov al, byte [esp + 0x434]
mov byte [esp + 0x444], al
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x478], eax
mov al, byte [esp + 0x430]
mov byte [esp + 0x434], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x464], eax
mov al, byte [esp + 0x41c]
mov byte [esp + 0x430], al
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x460], eax
mov al, byte [esp + 0x40c]
mov byte [esp + 0x40c], bl
mov byte [esp + 0x41c], al
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0x448], esi
mov dword [esp + 0x44c], eax
mov al, byte [esp + 0x3fc]
mov bl, byte [esp + 0x27c]
mov edi, dword [esp + 0x2a0]
mov esi, dword [esp + 0x490]
mov byte [esp + 0x400], al
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x4fc], eax
mov al, byte [esp + 0x3e0]
mov byte [esp + 0x3fc], al
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x3dc]
mov byte [esp + 0x3e0], al
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x428], eax
mov al, byte [esp + 0x3cc]
mov byte [esp + 0x3dc], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x418], eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x3cc], al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x408], eax
mov al, byte [esp + 0x3b0]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x404], eax
mov al, byte [esp + 0x3ac]
mov byte [esp + 0x3b0], al
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov al, byte [esp + 0x394]
mov byte [esp + 0x3ac], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3ec], eax
mov al, byte [esp + 0x388]
mov byte [esp + 0x394], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], eax
mov al, byte [esp + 0x37c]
mov byte [esp + 0x388], al
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3c8], eax
mov al, byte [esp + 0x378]
mov byte [esp + 0x37c], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4e4], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3bc], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x378], al
mov eax, dword [esp + 0x4dc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b8], eax
mov al, byte [esp + 0x16]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x4e0], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x15]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x4d4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x380], eax
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4d8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x4d0]
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x36c], eax
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x4d0], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x368], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x4c4]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x354], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x350], eax
mov al, byte [esp + 0xe]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x348], eax
mov al, byte [esp + 0xd]
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x4b8]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x344], eax
mov al, byte [esp + 0xc]
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x334], eax
mov al, byte [esp + 0x2f0]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x328], eax
mov al, byte [esp + 0x2e8]
mov byte [esp + 0x2f0], al
mov eax, dword [esp + 0x4b0]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x31c], eax
mov al, byte [esp + 0x2d4]
mov byte [esp + 0x2e8], al
mov eax, dword [esp + 0x4a4]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x318], eax
mov al, byte [esp + 0x2d0]
mov byte [esp + 0x2d4], al
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x30c], eax
mov al, byte [esp + 0x2bc]
mov byte [esp + 0x2d0], al
mov eax, dword [esp + 0x4a0]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x308], eax
mov al, byte [esp + 0x2b4]
mov byte [esp + 0x2bc], al
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 0x2a4]
mov byte [esp + 0x2b4], al
mov eax, dword [esp + 0x494]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2ec], eax
mov al, byte [esp + 0x29c]
mov byte [esp + 0x2a4], al
mov eax, dword [esp + 0x498]
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2e0], eax
mov al, byte [esp + 0x28c]
mov byte [esp + 0x29c], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2d8], eax
mov al, byte [esp + 0x288]
mov byte [esp + 0x28c], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2c0], edi
mov edi, dword [esp + 0x294]
mov dword [esp + 0x2c4], eax
mov al, byte [esp + 0x278]
mov byte [esp + 0x278], bl
mov ebx, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x490], edx
mov edx, dword [esp + 0x2a8]
mov dword [esp + 0x2a8], edi
mov edi, dword [esp + 0x488]
mov byte [esp + 0x288], al
mov al, byte [esp + 0x268]
mov dword [esp + 0x2a0], edx
mov dl, byte [esp + 0x26c]
mov byte [esp + 0x26c], al
mov al, byte [esp + 0x260]
mov byte [esp + 0x27c], dl
mov edx, dword [esp + 0x484]
mov dword [esp + 0x484], edi
mov edi, dword [esp + 0x290]
mov byte [esp + 0x268], al
mov al, byte [esp + 0x258]
mov dword [esp + 0x294], edi
mov edi, dword [esp + 0x47c]
mov byte [esp + 0x260], al
mov al, byte [esp + 0x24c]
mov dword [esp + 0x488], edi
mov edi, dword [esp + 0x284]
mov byte [esp + 0x258], al
mov al, byte [esp + 0x248]
mov dword [esp + 0x290], edi
mov edi, dword [esp + 0x474]
mov byte [esp + 0x24c], al
mov al, byte [esp + 0x23c]
mov dword [esp + 0x47c], edi
mov edi, dword [esp + 0x280]
mov byte [esp + 0x248], al
mov eax, dword [esp + 0x264]
mov dword [esp + 0x284], edi
mov edi, dword [esp + 0x468]
mov dword [esp + 0x474], edi
mov edi, dword [esp + 0x274]
mov dword [esp + 0x280], edi
mov edi, dword [esp + 0x46c]
mov dword [esp + 0x468], edi
mov edi, dword [esp + 0x270]
mov dword [esp + 0x270], eax
mov al, byte [esp + 0x238]
mov byte [esp + 0x23c], al
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x274], edi
mov edi, dword [esp + 0x45c]
mov dword [esp + 0x45c], ecx
mov ecx, dword [esp + 0x450]
mov dword [esp + 0x264], eax
mov al, byte [esp + 0x22c]
mov dword [esp + 0x500], ecx
mov ecx, dword [esp + 0x520]
mov dword [esp + 0x46c], edi
mov byte [esp + 0x238], al
mov eax, dword [esp + 0x254]
mov dword [esp + 0x450], ecx
mov ecx, dword [esp + 0x440]
mov dword [esp + 0x440], ebx
mov dword [esp + 0x25c], eax
mov al, byte [esp + 0x224]
mov byte [esp + 0x22c], al
mov eax, dword [esp + 0x250]
mov dword [esp + 0x254], eax
mov al, byte [esp + 0x21c]
mov byte [esp + 0x224], al
mov eax, dword [esp + 0x244]
mov dword [esp + 0x250], eax
mov ah, byte [esp + 0x218]
mov byte [esp + 0x21c], ah
mov eax, dword [esp + 0x240]
mov edi, dword [esp + 0x438]
mov ebx, dword [esp + 0x508]
mov dword [esp + 0x244], eax
mov al, byte [esp + 0x20c]
mov dword [esp + 0x50c], edi
mov edi, dword [esp + 0x42c]
mov byte [esp + 0x218], al
mov eax, dword [esp + 0x234]
mov dword [esp + 0x438], edi
mov edi, dword [esp + 0x424]
mov dword [esp + 0x240], eax
mov al, byte [esp + 0x208]
mov dword [esp + 0x42c], edi
mov edi, dword [esp + 0x420]
mov byte [esp + 0x20c], al
mov eax, dword [esp + 0x230]
mov dword [esp + 0x424], edi
mov edi, dword [esp + 0x414]
mov dword [esp + 0x234], eax
mov al, byte [esp + 0x1fc]
mov dword [esp + 0x420], edi
mov edi, dword [esp + 0x410]
mov byte [esp + 0x208], al
mov eax, dword [esp + 0x228]
mov dword [esp + 0x414], edi
mov edi, dword [esp + 0x3f4]
mov dword [esp + 0x230], eax
mov al, byte [esp + 0xb]
mov dword [esp + 0x410], edi
mov edi, dword [esp + 0x3f8]
mov byte [esp + 0x1fc], al
mov eax, dword [esp + 0x220]
mov dword [esp + 0x3f4], edi
mov edi, dword [esp + 0x3e8]
mov dword [esp + 0x228], eax
mov al, byte [esp + 0xa]
mov dword [esp + 0x3f8], edi
mov edi, dword [esp + 0x3e4]
mov byte [esp + 0xb], al
mov eax, dword [esp + 0x214]
mov dword [esp + 0x3e8], edi
mov edi, dword [esp + 0x3d4]
mov dword [esp + 0x220], eax
mov al, byte [esp + 0x1f0]
mov dword [esp + 0x3e4], edi
mov edi, dword [esp + 0x3d0]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x210]
mov dword [esp + 0x3d4], edi
mov edi, dword [esp + 0x3c0]
mov dword [esp + 0x214], eax
mov al, byte [esp + 8]
mov dword [esp + 0x3d0], edi
mov edi, dword [esp + 0x3c4]
mov byte [esp + 0x1f0], al
mov eax, dword [esp + 0x200]
mov dword [esp + 0x3c0], edi
mov edi, dword [esp + 0x3b4]
mov dword [esp + 0x210], eax
mov al, byte [esp + 9]
mov dword [esp + 0x3c4], edi
mov edi, dword [esp + 0x3a8]
mov byte [esp + 8], al
mov eax, dword [esp + 0x204]
mov dword [esp + 0x3b4], edi
mov edi, dword [esp + 0x398]
mov dword [esp + 0x200], eax
mov al, byte [esp + 0x1dc]
mov dword [esp + 0x3a8], edi
mov edi, dword [esp + 0x39c]
mov byte [esp + 9], al
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x398], edi
mov edi, dword [esp + 0x390]
mov dword [esp + 0x204], eax
mov al, byte [esp + 7]
mov dword [esp + 0x39c], edi
mov edi, dword [esp + 0x38c]
mov byte [esp + 0x1dc], al
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x390], edi
mov edi, dword [esp + 0x374]
mov dword [esp + 0x1f8], eax
mov al, byte [esp + 6]
mov dword [esp + 0x38c], edi
mov edi, dword [esp + 0x370]
mov byte [esp + 7], al
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x374], edi
mov edi, dword [esp + 0x360]
mov dword [esp + 0x1f4], eax
mov al, byte [esp + 5]
mov dword [esp + 0x370], edi
mov edi, dword [esp + 0x364]
mov byte [esp + 6], al
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x360], edi
mov edi, dword [esp + 0x35c]
mov dword [esp + 0x1ec], eax
mov al, byte [esp + 0x1c8]
mov dword [esp + 0x364], edi
mov edi, dword [esp + 0x358]
mov byte [esp + 5], al
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x35c], edi
mov edi, dword [esp + 0x340]
mov dword [esp + 0x1e8], eax
mov al, byte [esp + 0x1c4]
mov dword [esp + 0x358], edi
mov edi, dword [esp + 0x34c]
mov byte [esp + 0x1c8], al
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x340], edi
mov edi, dword [esp + 0x33c]
mov dword [esp + 0x1e4], eax
mov al, byte [esp + 0x1b8]
mov dword [esp + 0x34c], edi
mov edi, dword [esp + 0x338]
mov byte [esp + 0x1c4], al
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x33c], edi
mov edi, dword [esp + 0x330]
mov dword [esp + 0x1e0], eax
mov al, byte [esp + 0x1b4]
mov dword [esp + 0x338], edi
mov edi, dword [esp + 0x32c]
mov byte [esp + 0x1b8], al
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x330], edi
mov edi, dword [esp + 0x320]
mov dword [esp + 0x1d8], eax
mov al, byte [esp + 0x1ac]
mov dword [esp + 0x32c], edi
mov edi, dword [esp + 0x324]
mov byte [esp + 0x1b4], al
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x320], edi
mov edi, dword [esp + 0x314]
mov dword [esp + 0x1d4], eax
mov al, byte [esp + 0x1a4]
mov dword [esp + 0x324], edi
mov edi, dword [esp + 0x310]
mov byte [esp + 0x1ac], al
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x314], edi
mov edi, dword [esp + 0x300]
mov dword [esp + 0x1d0], eax
mov al, byte [esp + 0x198]
mov dword [esp + 0x310], edi
mov edi, dword [esp + 0x304]
mov byte [esp + 0x1a4], al
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x300], edi
mov edi, dword [esp + 0x2fc]
mov dword [esp + 0x1cc], eax
mov al, byte [esp + 0x194]
mov dword [esp + 0x304], edi
mov edi, dword [esp + 0x2f4]
mov byte [esp + 0x198], al
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x2fc], edi
mov edi, dword [esp + 0x2e4]
mov dword [esp + 0x1c0], eax
mov al, byte [esp + 0x188]
mov dword [esp + 0x2f4], edi
mov edi, dword [esp + 0x2dc]
mov byte [esp + 0x194], al
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x2e4], edi
mov edi, dword [esp + 0x2cc]
mov dword [esp + 0x1bc], eax
mov al, byte [esp + 0x184]
mov dword [esp + 0x2dc], edi
mov edi, dword [esp + 0x2c8]
mov byte [esp + 0x188], al
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x2cc], edi
mov edi, dword [esp + 0x2b8]
mov dword [esp + 0x1b0], eax
mov al, byte [esp + 0x178]
mov dword [esp + 0x2c8], edi
mov edi, dword [esp + 0x2b0]
mov byte [esp + 0x184], al
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x2b8], edi
mov edi, dword [esp + 0x2ac]
mov dword [esp + 0x1a8], eax
mov al, byte [esp + 0x174]
mov dword [esp + 0x2b0], edi
mov edi, dword [esp + 0x298]
mov byte [esp + 0x178], al
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x2ac], edi
mov dword [esp + 0x1a0], eax
mov al, byte [esp + 0x168]
mov byte [esp + 0x174], al
mov eax, dword [esp + 0x190]
mov dword [esp + 0x19c], eax
mov al, byte [esp + 0x164]
mov byte [esp + 0x168], al
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x190], eax
mov al, byte [esp + 0x154]
mov byte [esp + 0x164], al
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x18c], eax
mov al, byte [esp + 0x158]
mov byte [esp + 0x154], al
mov eax, dword [esp + 0x180]
mov dword [esp + 0x17c], eax
mov al, byte [esp + 0x148]
mov byte [esp + 0x158], al
mov eax, dword [esp + 0x170]
mov dword [esp + 0x180], eax
mov al, byte [esp + 0x144]
mov byte [esp + 0x148], al
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x170], eax
mov al, byte [esp + 0x13c]
mov byte [esp + 0x144], al
mov eax, dword [esp + 0x160]
mov dword [esp + 0x16c], eax
mov al, byte [esp + 0x134]
mov byte [esp + 0x13c], al
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x160], eax
mov al, byte [esp + 0x128]
mov byte [esp + 0x134], al
mov eax, dword [esp + 0x150]
mov dword [esp + 0x15c], eax
mov al, byte [esp + 0x124]
mov byte [esp + 0x128], al
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x150], eax
mov al, byte [esp + 0x118]
mov byte [esp + 0x124], al
mov eax, dword [esp + 0x140]
mov dword [esp + 0x14c], eax
mov al, byte [esp + 0x114]
mov byte [esp + 0x118], al
mov eax, dword [esp + 0x138]
mov dword [esp + 0x140], eax
mov al, byte [esp + 0x10c]
mov byte [esp + 0x114], al
mov eax, dword [esp + 0x130]
mov dword [esp + 0x138], eax
mov al, byte [esp + 0x104]
mov byte [esp + 0x10c], al
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x130], eax
mov al, byte [esp + 0xfc]
mov byte [esp + 0x104], al
mov eax, dword [esp + 0x120]
mov dword [esp + 0x12c], eax
mov al, byte [esp + 0xf8]
mov byte [esp + 0xfc], al
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x120], eax
mov al, byte [esp + 0xf4]
mov byte [esp + 0xf8], al
mov eax, dword [esp + 0x110]
mov dword [esp + 0x11c], eax
mov al, byte [esp + 0xf0]
mov byte [esp + 0xf4], al
mov eax, dword [esp + 0x108]
mov dword [esp + 0x110], eax
mov al, byte [esp + 0xe8]
mov byte [esp + 0xf0], al
mov eax, dword [esp + 0x100]
mov dword [esp + 0x108], eax
mov al, byte [esp + 0xe0]
mov byte [esp + 0xe8], al
mov eax, dword [esp + 0x510]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x554], eax
mov al, byte [esp + 4]
mov byte [esp + 0xe0], al
mov eax, dword [esp + 0xec]
mov dword [esp + 0x4f0], eax
mov al, byte [esp + 3]
mov byte [esp + 4], al
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xec], eax
mov al, byte [esp + 0xd4]
mov byte [esp + 3], al
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe4], eax
mov al, byte [esp + 0xd0]
mov byte [esp + 0xd4], al
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x518]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x514]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0x53c]
mov byte [esp + 0x544], al
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x530], eax
mov eax, dword [esp + 0x51c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x524]
mov dword [esp + 0x538], eax
mov eax, dword [esp + 0x52c]
mov dword [esp + 0x534], eax
mov eax, dword [esp + 0x558]
mov edi, ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], esi
xor eax, 3
or eax, dword [esp + 0x54c]
jne 0x512808
mov al, byte [0x803894]
mov ecx, 0x6a0
mov edx, 8
call fcn.004889b0
test eax, eax
je 0x51cfd2
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x538]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x534]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x918]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x91c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x924]
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x92c]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x928]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x930]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x934]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0xd8]
mov dword [eax + 0x30], ecx
mov cl, byte [esp + 0x7f]
mov byte [eax + 0x34], cl
mov ecx, dword [esp + 0x920]
mov word [eax + 0x35], cx
shr ecx, 0x10
mov byte [eax + 0x37], cl
mov ecx, dword [esp + 0xdc]
mov dword [eax + 0x38], ecx
mov cl, byte [esp + 0xd0]
mov byte [eax + 0x3c], cl
mov ecx, dword [esp + 0x298]
mov word [eax + 0x3d], cx
shr ecx, 0x10
mov byte [eax + 0x3f], cl
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0x40], ecx
mov cl, byte [esp + 0xd4]
mov byte [eax + 0x44], cl
mov ecx, dword [esp + 0x2ac]
mov word [eax + 0x45], cx
shr ecx, 0x10
mov byte [eax + 0x47], cl
mov ecx, dword [esp + 0xec]
mov dword [eax + 0x48], ecx
mov cl, byte [esp + 3]
mov byte [eax + 0x4c], cl
mov ecx, dword [esp + 0x2b0]
mov word [eax + 0x4d], cx
shr ecx, 0x10
mov byte [eax + 0x4f], cl
mov ecx, dword [esp + 0x4f0]
mov dword [eax + 0x50], ecx
mov cl, byte [esp + 4]
mov byte [eax + 0x54], cl
mov ecx, dword [esp + 0x2b8]
mov word [eax + 0x55], cx
shr ecx, 0x10
mov byte [eax + 0x57], cl
mov ecx, dword [esp + 0x554]
mov dword [eax + 0x58], ecx
mov cl, byte [esp + 0xe0]
mov byte [eax + 0x5c], cl
mov ecx, dword [esp + 0x2c8]
mov word [eax + 0x5d], cx
shr ecx, 0x10
mov byte [eax + 0x5f], cl
mov ecx, dword [esp + 0x560]
mov dword [eax + 0x60], ecx
mov cl, byte [esp + 0xe8]
mov byte [eax + 0x64], cl
mov ecx, dword [esp + 0x2cc]
mov word [eax + 0x65], cx
shr ecx, 0x10
mov byte [eax + 0x67], cl
mov ecx, dword [esp + 0x100]
mov dword [eax + 0x68], ecx
mov cl, byte [esp + 0xf0]
mov byte [eax + 0x6c], cl
mov ecx, dword [esp + 0x2dc]
mov word [eax + 0x6d], cx
shr ecx, 0x10
mov byte [eax + 0x6f], cl
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x70], ecx
mov cl, byte [esp + 0xf4]
mov byte [eax + 0x74], cl
mov ecx, dword [esp + 0x2e4]
mov word [eax + 0x75], cx
shr ecx, 0x10
mov byte [eax + 0x77], cl
mov ecx, dword [esp + 0x110]
mov dword [eax + 0x78], ecx
mov cl, byte [esp + 0xf8]
mov byte [eax + 0x7c], cl
mov ecx, dword [esp + 0x2f4]
mov word [eax + 0x7d], cx
shr ecx, 0x10
mov byte [eax + 0x7f], cl
mov ecx, dword [esp + 0x11c]
mov dword [eax + 0x80], ecx
mov cl, byte [esp + 0xfc]
mov byte [eax + 0x84], cl
mov ecx, dword [esp + 0x2fc]
mov word [eax + 0x85], cx
shr ecx, 0x10
mov byte [eax + 0x87], cl
mov ecx, dword [esp + 0x120]
mov dword [eax + 0x88], ecx
mov cl, byte [esp + 0x104]
mov byte [eax + 0x8c], cl
mov ecx, dword [esp + 0x304]
mov word [eax + 0x8d], cx
shr ecx, 0x10
mov byte [eax + 0x8f], cl
mov ecx, dword [esp + 0x12c]
mov dword [eax + 0x90], ecx
mov cl, byte [esp + 0x10c]
mov byte [eax + 0x94], cl
mov ecx, dword [esp + 0x300]
mov word [eax + 0x95], cx
shr ecx, 0x10
mov byte [eax + 0x97], cl
mov ecx, dword [esp + 0x130]
mov dword [eax + 0x98], ecx
mov cl, byte [esp + 0x114]
mov byte [eax + 0x9c], cl
mov ecx, dword [esp + 0x310]
mov word [eax + 0x9d], cx
shr ecx, 0x10
mov byte [eax + 0x9f], cl
mov ecx, dword [esp + 0x138]
mov dword [eax + 0xa0], ecx
mov cl, byte [esp + 0x118]
mov byte [eax + 0xa4], cl
mov ecx, dword [esp + 0x314]
mov word [eax + 0xa5], cx
shr ecx, 0x10
mov byte [eax + 0xa7], cl
mov ecx, dword [esp + 0x140]
mov dword [eax + 0xa8], ecx
mov cl, byte [esp + 0x124]
mov byte [eax + 0xac], cl
mov ecx, dword [esp + 0x324]
mov word [eax + 0xad], cx
shr ecx, 0x10
mov byte [eax + 0xaf], cl
mov ecx, dword [esp + 0x14c]
mov dword [eax + 0xb0], ecx
mov cl, byte [esp + 0x128]
mov byte [eax + 0xb4], cl
mov ecx, dword [esp + 0x320]
mov word [eax + 0xb5], cx
shr ecx, 0x10
mov byte [eax + 0xb7], cl
mov ecx, dword [esp + 0x150]
mov dword [eax + 0xb8], ecx
mov cl, byte [esp + 0x134]
mov byte [eax + 0xbc], cl
mov ecx, dword [esp + 0x32c]
mov word [eax + 0xbd], cx
shr ecx, 0x10
mov byte [eax + 0xbf], cl
mov ecx, dword [esp + 0x15c]
mov dword [eax + 0xc0], ecx
mov cl, byte [esp + 0x13c]
mov byte [eax + 0xc4], cl
mov ecx, dword [esp + 0x330]
mov word [eax + 0xc5], cx
shr ecx, 0x10
mov byte [eax + 0xc7], cl
mov ecx, dword [esp + 0x160]
mov dword [eax + 0xc8], ecx
mov cl, byte [esp + 0x144]
mov byte [eax + 0xcc], cl
mov ecx, dword [esp + 0x338]
mov word [eax + 0xcd], cx
shr ecx, 0x10
mov byte [eax + 0xcf], cl
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xd0], ecx
mov cl, byte [esp + 0x148]
mov byte [eax + 0xd4], cl
mov ecx, dword [esp + 0x33c]
mov word [eax + 0xd5], cx
shr ecx, 0x10
mov byte [eax + 0xd7], cl
mov ecx, dword [esp + 0x170]
mov dword [eax + 0xd8], ecx
mov cl, byte [esp + 0x158]
mov byte [eax + 0xdc], cl
mov ecx, dword [esp + 0x34c]
mov word [eax + 0xdd], cx
shr ecx, 0x10
mov byte [eax + 0xdf], cl
mov ecx, dword [esp + 0x180]
mov dword [eax + 0xe0], ecx
mov cl, byte [esp + 0x154]
mov byte [eax + 0xe4], cl
mov ecx, dword [esp + 0x340]
mov word [eax + 0xe5], cx
shr ecx, 0x10
mov byte [eax + 0xe7], cl
mov ecx, dword [esp + 0x17c]
mov dword [eax + 0xe8], ecx
mov cl, byte [esp + 0x164]
mov byte [eax + 0xec], cl
mov ecx, dword [esp + 0x358]
mov word [eax + 0xed], cx
shr ecx, 0x10
mov byte [eax + 0xef], cl
mov ecx, dword [esp + 0x18c]
mov dword [eax + 0xf0], ecx
mov cl, byte [esp + 0x168]
mov byte [eax + 0xf4], cl
mov ecx, dword [esp + 0x35c]
mov word [eax + 0xf5], cx
shr ecx, 0x10
mov byte [eax + 0xf7], cl
mov ecx, dword [esp + 0x190]
mov dword [eax + 0xf8], ecx
mov cl, byte [esp + 0x174]
mov byte [eax + 0xfc], cl
mov ecx, dword [esp + 0x364]
mov word [eax + 0xfd], cx
shr ecx, 0x10
mov byte [eax + 0xff], cl
mov ecx, dword [esp + 0x19c]
mov dword [eax + 0x100], ecx
mov cl, byte [esp + 0x178]
mov byte [eax + 0x104], cl
mov ecx, dword [esp + 0x360]
mov word [eax + 0x105], cx
shr ecx, 0x10
mov byte [eax + 0x107], cl
mov ecx, dword [esp + 0x1a0]
mov dword [eax + 0x108], ecx
mov cl, byte [esp + 0x184]
mov byte [eax + 0x10c], cl
mov ecx, dword [esp + 0x370]
mov word [eax + 0x10d], cx
shr ecx, 0x10
mov byte [eax + 0x10f], cl
mov ecx, dword [esp + 0x1a8]
mov dword [eax + 0x110], ecx
mov cl, byte [esp + 0x188]
mov byte [eax + 0x114], cl
mov ecx, dword [esp + 0x374]
mov word [eax + 0x115], cx
shr ecx, 0x10
mov byte [eax + 0x117], cl
mov ecx, dword [esp + 0x1b0]
mov dword [eax + 0x118], ecx
mov cl, byte [esp + 0x194]
mov byte [eax + 0x11c], cl
mov ecx, dword [esp + 0x38c]
mov word [eax + 0x11d], cx
shr ecx, 0x10
mov byte [eax + 0x11f], cl
mov ecx, dword [esp + 0x1bc]
mov dword [eax + 0x120], ecx
mov cl, byte [esp + 0x198]
mov byte [eax + 0x124], cl
mov ecx, dword [esp + 0x390]
mov word [eax + 0x125], cx
shr ecx, 0x10
mov byte [eax + 0x127], cl
mov ecx, dword [esp + 0x1c0]
mov dword [eax + 0x128], ecx
mov cl, byte [esp + 0x1a4]
mov byte [eax + 0x12c], cl
mov ecx, dword [esp + 0x39c]
mov word [eax + 0x12d], cx
shr ecx, 0x10
mov byte [eax + 0x12f], cl
mov ecx, dword [esp + 0x1cc]
mov dword [eax + 0x130], ecx
mov cl, byte [esp + 0x1ac]
mov byte [eax + 0x134], cl
mov ecx, dword [esp + 0x398]
mov word [eax + 0x135], cx
shr ecx, 0x10
mov byte [eax + 0x137], cl
mov ecx, dword [esp + 0x1d0]
mov dword [eax + 0x138], ecx
mov cl, byte [esp + 0x1b4]
mov byte [eax + 0x13c], cl
mov ecx, dword [esp + 0x3a8]
mov word [eax + 0x13d], cx
shr ecx, 0x10
mov byte [eax + 0x13f], cl
mov ecx, dword [esp + 0x1d4]
mov dword [eax + 0x140], ecx
mov cl, byte [esp + 0x1b8]
mov byte [eax + 0x144], cl
mov ecx, dword [esp + 0x3b4]
mov word [eax + 0x145], cx
shr ecx, 0x10
mov byte [eax + 0x147], cl
mov ecx, dword [esp + 0x1d8]
mov dword [eax + 0x148], ecx
mov cl, byte [esp + 0x1c4]
mov byte [eax + 0x14c], cl
mov ecx, dword [esp + 0x3c4]
mov word [eax + 0x14d], cx
shr ecx, 0x10
mov byte [eax + 0x14f], cl
mov ecx, dword [esp + 0x1e0]
mov dword [eax + 0x150], ecx
mov cl, byte [esp + 0x1c8]
mov byte [eax + 0x154], cl
mov ecx, dword [esp + 0x3c0]
mov word [eax + 0x155], cx
shr ecx, 0x10
mov byte [eax + 0x157], cl
mov ecx, dword [esp + 0x1e4]
mov dword [eax + 0x158], ecx
mov cl, byte [esp + 5]
mov byte [eax + 0x15c], cl
mov ecx, dword [esp + 0x3d0]
mov word [eax + 0x15d], cx
shr ecx, 0x10
mov byte [eax + 0x15f], cl
mov ecx, dword [esp + 0x1e8]
mov dword [eax + 0x160], ecx
mov cl, byte [esp + 6]
mov byte [eax + 0x164], cl
mov ecx, dword [esp + 0x3d4]
mov word [eax + 0x165], cx
shr ecx, 0x10
mov byte [eax + 0x167], cl
mov ecx, dword [esp + 0x1ec]
mov dword [eax + 0x168], ecx
mov cl, byte [esp + 7]
mov byte [eax + 0x16c], cl
mov ecx, dword [esp + 0x3e4]
mov word [eax + 0x16d], cx
shr ecx, 0x10
mov byte [eax + 0x16f], cl
mov ecx, dword [esp + 0x1f4]
mov dword [eax + 0x170], ecx
mov cl, byte [esp + 0x1dc]
mov byte [eax + 0x174], cl
mov ecx, dword [esp + 0x3e8]
mov word [eax + 0x175], cx
shr ecx, 0x10
mov byte [eax + 0x177], cl
mov ecx, dword [esp + 0x1f8]
mov dword [eax + 0x178], ecx
mov cl, byte [esp + 9]
mov byte [eax + 0x17c], cl
mov ecx, dword [esp + 0x3f8]
mov word [eax + 0x17d], cx
shr ecx, 0x10
mov byte [eax + 0x17f], cl
mov ecx, dword [esp + 0x204]
mov dword [eax + 0x180], ecx
mov cl, byte [esp + 8]
mov byte [eax + 0x184], cl
mov ecx, dword [esp + 0x3f4]
mov word [eax + 0x185], cx
shr ecx, 0x10
mov byte [eax + 0x187], cl
mov ecx, dword [esp + 0x200]
mov dword [eax + 0x188], ecx
mov cl, byte [esp + 0x1f0]
mov byte [eax + 0x18c], cl
mov ecx, dword [esp + 0x410]
mov word [eax + 0x18d], cx
shr ecx, 0x10
mov byte [eax + 0x18f], cl
mov ecx, dword [esp + 0x210]
mov dword [eax + 0x190], ecx
mov cl, byte [esp + 0xa]
mov byte [eax + 0x194], cl
mov ecx, dword [esp + 0x414]
mov word [eax + 0x195], cx
shr ecx, 0x10
mov byte [eax + 0x197], cl
mov ecx, dword [esp + 0x214]
mov dword [eax + 0x198], ecx
mov cl, byte [esp + 0xb]
mov byte [eax + 0x19c], cl
mov ecx, dword [esp + 0x420]
mov word [eax + 0x19d], cx
shr ecx, 0x10
mov byte [eax + 0x19f], cl
mov ecx, dword [esp + 0x220]
mov dword [eax + 0x1a0], ecx
mov cl, byte [esp + 0x1fc]
mov byte [eax + 0x1a4], cl
mov ecx, dword [esp + 0x424]
mov word [eax + 0x1a5], cx
shr ecx, 0x10
mov byte [eax + 0x1a7], cl
mov ecx, dword [esp + 0x228]
mov dword [eax + 0x1a8], ecx
mov cl, byte [esp + 0x208]
mov byte [eax + 0x1ac], cl
mov ecx, dword [esp + 0x42c]
mov word [eax + 0x1ad], cx
shr ecx, 0x10
mov byte [eax + 0x1af], cl
mov ecx, dword [esp + 0x230]
mov dword [eax + 0x1b0], ecx
mov cl, byte [esp + 0x20c]
mov byte [eax + 0x1b4], cl
mov ecx, dword [esp + 0x438]
mov word [eax + 0x1b5], cx
shr ecx, 0x10
mov byte [eax + 0x1b7], cl
mov ecx, dword [esp + 0x234]
mov dword [eax + 0x1b8], ecx
mov cl, byte [esp + 0x218]
mov byte [eax + 0x1bc], cl
mov ecx, dword [esp + 0x50c]
mov word [eax + 0x1bd], cx
shr ecx, 0x10
mov byte [eax + 0x1bf], cl
mov ecx, dword [esp + 0x240]
mov dword [eax + 0x1c0], ecx
mov cl, byte [esp + 0x21c]
mov byte [eax + 0x1c4], cl
mov ecx, dword [esp + 0x440]
mov word [eax + 0x1c5], cx
shr ecx, 0x10
mov byte [eax + 0x1c7], cl
mov ecx, dword [esp + 0x244]
mov dword [eax + 0x1c8], ecx
mov cl, byte [esp + 0x224]
mov byte [eax + 0x1cc], cl
mov ecx, edi
mov word [eax + 0x1cd], cx
shr ecx, 0x10
mov byte [eax + 0x1cf], cl
mov ecx, dword [esp + 0x250]
mov dword [eax + 0x1d0], ecx
mov cl, byte [esp + 0x22c]
mov byte [eax + 0x1d4], cl
mov ecx, dword [esp + 0x450]
mov word [eax + 0x1d5], cx
shr ecx, 0x10
mov byte [eax + 0x1d7], cl
mov ecx, dword [esp + 0x254]
mov dword [eax + 0x1d8], ecx
mov cl, byte [esp + 0x238]
mov byte [eax + 0x1dc], cl
mov ecx, dword [esp + 0x500]
mov word [eax + 0x1dd], cx
shr ecx, 0x10
mov byte [eax + 0x1df], cl
mov ecx, dword [esp + 0x25c]
mov dword [eax + 0x1e0], ecx
mov cl, byte [esp + 0x23c]
mov byte [eax + 0x1e4], cl
mov ecx, dword [esp + 0x45c]
mov word [eax + 0x1e5], cx
shr ecx, 0x10
mov byte [eax + 0x1e7], cl
mov ecx, dword [esp + 0x264]
mov dword [eax + 0x1e8], ecx
mov cl, byte [esp + 0x248]
mov byte [eax + 0x1ec], cl
mov ecx, dword [esp + 0x46c]
mov word [eax + 0x1ed], cx
shr ecx, 0x10
mov byte [eax + 0x1ef], cl
mov ecx, dword [esp + 0x270]
mov dword [eax + 0x1f0], ecx
mov cl, byte [esp + 0x24c]
mov byte [eax + 0x1f4], cl
mov ecx, dword [esp + 0x468]
mov word [eax + 0x1f5], cx
shr ecx, 0x10
mov byte [eax + 0x1f7], cl
mov ecx, dword [esp + 0x274]
mov dword [eax + 0x1f8], ecx
mov cl, byte [esp + 0x258]
mov byte [eax + 0x1fc], cl
mov ecx, dword [esp + 0x474]
mov word [eax + 0x1fd], cx
shr ecx, 0x10
mov byte [eax + 0x1ff], cl
mov ecx, dword [esp + 0x280]
mov dword [eax + 0x200], ecx
mov cl, byte [esp + 0x260]
mov byte [eax + 0x204], cl
mov ecx, dword [esp + 0x47c]
mov word [eax + 0x205], cx
shr ecx, 0x10
mov byte [eax + 0x207], cl
mov ecx, dword [esp + 0x284]
mov dword [eax + 0x208], ecx
mov cl, byte [esp + 0x268]
mov byte [eax + 0x20c], cl
mov ecx, dword [esp + 0x488]
mov word [eax + 0x20d], cx
shr ecx, 0x10
mov byte [eax + 0x20f], cl
mov ecx, dword [esp + 0x290]
mov dword [eax + 0x210], ecx
mov cl, byte [esp + 0x26c]
mov byte [eax + 0x214], cl
mov ecx, dword [esp + 0x484]
mov word [eax + 0x215], cx
shr ecx, 0x10
mov byte [eax + 0x217], cl
mov ecx, dword [esp + 0x294]
mov dword [eax + 0x218], ecx
mov cl, byte [esp + 0x27c]
mov byte [eax + 0x21c], cl
mov ecx, dword [esp + 0x30]
mov word [eax + 0x21d], cx
shr ecx, 0x10
mov byte [eax + 0x21f], cl
mov ecx, dword [esp + 0x2a8]
mov dword [eax + 0x220], ecx
mov cl, byte [esp + 0x278]
mov byte [eax + 0x224], cl
mov ecx, dword [esp + 0x490]
mov word [eax + 0x225], cx
shr ecx, 0x10
mov byte [eax + 0x227], cl
mov ecx, dword [esp + 0x2a0]
mov dword [eax + 0x228], ecx
mov cl, byte [esp + 0x288]
mov byte [eax + 0x22c], cl
mov ecx, dword [esp + 0x40]
mov word [eax + 0x22d], cx
shr ecx, 0x10
mov byte [eax + 0x22f], cl
mov ecx, dword [esp + 0x2c0]
mov dword [eax + 0x230], ecx
mov cl, byte [esp + 0x28c]
mov byte [eax + 0x234], cl
mov ecx, dword [esp + 0x24]
mov word [eax + 0x235], cx
shr ecx, 0x10
mov byte [eax + 0x237], cl
mov ecx, dword [esp + 0x2c4]
mov dword [eax + 0x238], ecx
mov cl, byte [esp + 0x29c]
mov byte [eax + 0x23c], cl
mov ecx, dword [esp + 0x498]
mov word [eax + 0x23d], cx
shr ecx, 0x10
mov byte [eax + 0x23f], cl
mov ecx, dword [esp + 0x2d8]
mov dword [eax + 0x240], ecx
mov cl, byte [esp + 0x2a4]
mov byte [eax + 0x244], cl
mov ecx, dword [esp + 0x494]
mov word [eax + 0x245], cx
shr ecx, 0x10
mov byte [eax + 0x247], cl
mov ecx, dword [esp + 0x2e0]
mov dword [eax + 0x248], ecx
mov cl, byte [esp + 0x2b4]
mov byte [eax + 0x24c], cl
mov ecx, dword [esp + 0x49c]
mov word [eax + 0x24d], cx
shr ecx, 0x10
mov byte [eax + 0x24f], cl
mov ecx, dword [esp + 0x2ec]
mov dword [eax + 0x250], ecx
mov cl, byte [esp + 0x2bc]
mov byte [eax + 0x254], cl
mov ecx, dword [esp + 0x4a0]
mov word [eax + 0x255], cx
shr ecx, 0x10
mov byte [eax + 0x257], cl
mov ecx, dword [esp + 0x2f8]
mov dword [eax + 0x258], ecx
mov cl, byte [esp + 0x2d0]
mov byte [eax + 0x25c], cl
mov ecx, dword [esp + 0x4a8]
mov word [eax + 0x25d], cx
shr ecx, 0x10
mov byte [eax + 0x25f], cl
mov ecx, dword [esp + 0x308]
mov dword [eax + 0x260], ecx
mov cl, byte [esp + 0x2d4]
mov byte [eax + 0x264], cl
mov ecx, dword [esp + 0x4a4]
mov word [eax + 0x265], cx
shr ecx, 0x10
mov byte [eax + 0x267], cl
mov ecx, dword [esp + 0x30c]
mov dword [eax + 0x268], ecx
mov cl, byte [esp + 0x2e8]
mov byte [eax + 0x26c], cl
mov ecx, dword [esp + 0x4b0]
mov word [eax + 0x26d], cx
shr ecx, 0x10
mov byte [eax + 0x26f], cl
mov ecx, dword [esp + 0x318]
mov dword [eax + 0x270], ecx
mov cl, byte [esp + 0x2f0]
mov byte [eax + 0x274], cl
mov ecx, dword [esp + 0x4ac]
mov word [eax + 0x275], cx
shr ecx, 0x10
mov byte [eax + 0x277], cl
mov ecx, dword [esp + 0x31c]
mov dword [eax + 0x278], ecx
mov cl, byte [esp + 0xc]
mov byte [eax + 0x27c], cl
mov ecx, dword [esp + 0x4b4]
mov word [eax + 0x27d], cx
shr ecx, 0x10
mov byte [eax + 0x27f], cl
mov ecx, dword [esp + 0x328]
mov dword [eax + 0x280], ecx
mov cl, byte [esp + 0xd]
mov byte [eax + 0x284], cl
mov ecx, dword [esp + 0x4b8]
mov word [eax + 0x285], cx
shr ecx, 0x10
mov byte [eax + 0x287], cl
mov ecx, dword [esp + 0x334]
mov dword [eax + 0x288], ecx
mov cl, byte [esp + 0xe]
mov byte [eax + 0x28c], cl
mov ecx, dword [esp + 0x4c0]
mov word [eax + 0x28d], cx
shr ecx, 0x10
mov byte [eax + 0x28f], cl
mov ecx, dword [esp + 0x344]
mov dword [eax + 0x290], ecx
mov cl, byte [esp + 0xf]
mov byte [eax + 0x294], cl
mov ecx, dword [esp + 0x4bc]
mov word [eax + 0x295], cx
shr ecx, 0x10
mov byte [eax + 0x297], cl
mov ecx, dword [esp + 0x348]
mov dword [eax + 0x298], ecx
mov cl, byte [esp + 0x10]
mov byte [eax + 0x29c], cl
mov ecx, dword [esp + 0x4c4]
mov word [eax + 0x29d], cx
shr ecx, 0x10
mov byte [eax + 0x29f], cl
mov ecx, dword [esp + 0x350]
mov dword [eax + 0x2a0], ecx
mov cl, byte [esp + 0x11]
mov byte [eax + 0x2a4], cl
mov ecx, dword [esp + 0x4c8]
mov word [eax + 0x2a5], cx
shr ecx, 0x10
mov byte [eax + 0x2a7], cl
mov ecx, dword [esp + 0x354]
mov dword [eax + 0x2a8], ecx
mov cl, byte [esp + 0x12]
mov byte [eax + 0x2ac], cl
mov ecx, dword [esp + 0x4d0]
mov word [eax + 0x2ad], cx
shr ecx, 0x10
mov byte [eax + 0x2af], cl
mov ecx, dword [esp + 0x368]
mov dword [eax + 0x2b0], ecx
mov cl, byte [esp + 0x13]
mov byte [eax + 0x2b4], cl
mov ecx, dword [esp + 0x4cc]
mov word [eax + 0x2b5], cx
shr ecx, 0x10
mov byte [eax + 0x2b7], cl
mov ecx, dword [esp + 0x36c]
mov dword [eax + 0x2b8], ecx
mov cl, byte [esp + 0x15]
mov byte [eax + 0x2bc], cl
mov ecx, dword [esp + 0x4d8]
mov word [eax + 0x2bd], cx
shr ecx, 0x10
mov byte [eax + 0x2bf], cl
mov ecx, dword [esp + 0x384]
mov dword [eax + 0x2c0], ecx
mov cl, byte [esp + 0x14]
mov byte [eax + 0x2c4], cl
mov ecx, dword [esp + 0x4d4]
mov word [eax + 0x2c5], cx
shr ecx, 0x10
mov byte [eax + 0x2c7], cl
mov ecx, dword [esp + 0x380]
mov dword [eax + 0x2c8], ecx
mov cl, byte [esp + 0x16]
mov byte [eax + 0x2cc], cl
mov ecx, dword [esp + 0x4e0]
mov word [eax + 0x2cd], cx
shr ecx, 0x10
mov byte [eax + 0x2cf], cl
mov ecx, dword [esp + 0x3a0]
mov dword [eax + 0x2d0], ecx
mov cl, byte [esp + 0x17]
mov byte [eax + 0x2d4], cl
mov ecx, dword [esp + 0x4dc]
mov word [eax + 0x2d5], cx
shr ecx, 0x10
mov byte [eax + 0x2d7], cl
mov ecx, dword [esp + 0x3a4]
mov dword [eax + 0x2d8], ecx
mov cl, byte [esp + 0x378]
mov byte [eax + 0x2dc], cl
mov ecx, dword [esp + 0xc0]
mov word [eax + 0x2dd], cx
shr ecx, 0x10
mov byte [eax + 0x2df], cl
mov ecx, dword [esp + 0x3b8]
mov dword [eax + 0x2e0], ecx
mov cl, byte [esp + 0x37c]
mov byte [eax + 0x2e4], cl
mov ecx, dword [esp + 0x4e4]
mov word [eax + 0x2e5], cx
shr ecx, 0x10
mov byte [eax + 0x2e7], cl
mov ecx, dword [esp + 0x3bc]
mov dword [eax + 0x2e8], ecx
mov cl, byte [esp + 0x388]
mov byte [eax + 0x2ec], cl
mov ecx, dword [esp + 0x90]
mov word [eax + 0x2ed], cx
shr ecx, 0x10
mov byte [eax + 0x2ef], cl
mov ecx, dword [esp + 0x3c8]
mov dword [eax + 0x2f0], ecx
mov cl, byte [esp + 0x394]
mov byte [eax + 0x2f4], cl
mov ecx, dword [esp + 0x94]
mov word [eax + 0x2f5], cx
shr ecx, 0x10
mov byte [eax + 0x2f7], cl
mov ecx, dword [esp + 0x3d8]
mov dword [eax + 0x2f8], ecx
mov cl, byte [esp + 0x3ac]
mov byte [eax + 0x2fc], cl
mov ecx, dword [esp + 0x98]
mov word [eax + 0x2fd], cx
shr ecx, 0x10
mov byte [eax + 0x2ff], cl
mov ecx, dword [esp + 0x3ec]
mov dword [eax + 0x300], ecx
mov cl, byte [esp + 0x3b0]
mov byte [eax + 0x304], cl
mov ecx, dword [esp + 0x50]
mov word [eax + 0x305], cx
shr ecx, 0x10
mov byte [eax + 0x307], cl
mov ecx, dword [esp + 0x3f0]
mov dword [eax + 0x308], ecx
mov cl, byte [esp + 0x18]
mov byte [eax + 0x30c], cl
mov ecx, dword [esp + 0xa0]
mov word [eax + 0x30d], cx
shr ecx, 0x10
mov byte [eax + 0x30f], cl
mov ecx, dword [esp + 0x404]
mov dword [eax + 0x310], ecx
mov cl, byte [esp + 0x3cc]
mov byte [eax + 0x314], cl
mov ecx, dword [esp + 0x9c]
mov word [eax + 0x315], cx
shr ecx, 0x10
mov byte [eax + 0x317], cl
mov ecx, dword [esp + 0x408]
mov dword [eax + 0x318], ecx
mov cl, byte [esp + 0x3dc]
mov byte [eax + 0x31c], cl
mov ecx, dword [esp + 0xa4]
mov word [eax + 0x31d], cx
shr ecx, 0x10
mov byte [eax + 0x31f], cl
mov ecx, dword [esp + 0x418]
mov dword [eax + 0x320], ecx
mov cl, byte [esp + 0x3e0]
mov byte [eax + 0x324], cl
mov ecx, dword [esp + 0xa8]
mov word [eax + 0x325], cx
shr ecx, 0x10
mov byte [eax + 0x327], cl
mov ecx, dword [esp + 0x428]
mov dword [eax + 0x328], ecx
mov cl, byte [esp + 0x3fc]
mov byte [eax + 0x32c], cl
mov ecx, dword [esp + 0xb0]
mov word [eax + 0x32d], cx
shr ecx, 0x10
mov byte [eax + 0x32f], cl
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0x330], ecx
mov cl, byte [esp + 0x400]
mov byte [eax + 0x334], cl
mov ecx, dword [esp + 0xac]
mov word [eax + 0x335], cx
shr ecx, 0x10
mov byte [eax + 0x337], cl
mov ecx, dword [esp + 0x4fc]
mov dword [eax + 0x338], ecx
mov cl, byte [esp + 0x40c]
mov byte [eax + 0x33c], cl
mov ecx, dword [esp + 0xb4]
mov word [eax + 0x33d], cx
shr ecx, 0x10
mov byte [eax + 0x33f], cl
mov ecx, dword [esp + 0x448]
mov dword [eax + 0x340], ecx
mov cl, byte [esp + 0x41c]
mov byte [eax + 0x344], cl
mov ecx, dword [esp + 0xb8]
mov word [eax + 0x345], cx
shr ecx, 0x10
mov byte [eax + 0x347], cl
mov ecx, dword [esp + 0x44c]
mov dword [eax + 0x348], ecx
mov cl, byte [esp + 0x430]
mov byte [eax + 0x34c], cl
mov ecx, dword [esp + 0x88]
mov word [eax + 0x34d], cx
shr ecx, 0x10
mov byte [eax + 0x34f], cl
mov ecx, dword [esp + 0x460]
mov dword [eax + 0x350], ecx
mov cl, byte [esp + 0x434]
mov byte [eax + 0x354], cl
mov ecx, dword [esp + 0xbc]
mov word [eax + 0x355], cx
shr ecx, 0x10
mov byte [eax + 0x357], cl
mov ecx, dword [esp + 0x464]
mov dword [eax + 0x358], ecx
mov cl, byte [esp + 0x444]
mov byte [eax + 0x35c], cl
mov ecx, dword [esp + 0x44]
mov word [eax + 0x35d], cx
shr ecx, 0x10
mov byte [eax + 0x35f], cl
mov ecx, dword [esp + 0x478]
mov dword [eax + 0x360], ecx
mov cl, byte [esp + 0x43c]
mov byte [eax + 0x364], cl
mov ecx, dword [esp + 0x84]
mov word [eax + 0x365], cx
shr ecx, 0x10
mov byte [eax + 0x367], cl
mov ecx, dword [esp + 0x470]
mov dword [eax + 0x368], ecx
mov cl, byte [esp + 0x454]
mov byte [eax + 0x36c], cl
mov ecx, dword [esp + 0x2c]
mov word [eax + 0x36d], cx
shr ecx, 0x10
mov byte [eax + 0x36f], cl
mov ecx, dword [esp + 0x480]
mov dword [eax + 0x370], ecx
mov cl, byte [esp + 0x458]
mov byte [eax + 0x374], cl
mov ecx, dword [esp + 0x38]
mov word [eax + 0x375], cx
shr ecx, 0x10
mov byte [eax + 0x377], cl
mov ecx, dword [esp + 0x48c]
mov dword [eax + 0x378], ecx
mov cl, byte [esp + 0x19]
mov byte [eax + 0x37c], cl
mov ecx, dword [esp + 0x20]
mov word [eax + 0x37d], cx
shr ecx, 0x10
mov byte [eax + 0x37f], cl
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x380], ecx
mov cl, byte [esp + 0x4e8]
mov byte [eax + 0x384], cl
mov ecx, dword [esp + 0x28]
mov word [eax + 0x385], cx
shr ecx, 0x10
mov byte [eax + 0x387], cl
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x388], ecx
mov cl, byte [esp + 0x1a]
mov byte [eax + 0x38c], cl
mov ecx, dword [esp + 0x54]
mov word [eax + 0x38d], cx
shr ecx, 0x10
mov byte [eax + 0x38f], cl
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x390], ecx
mov cl, byte [esp + 0x4ec]
mov byte [eax + 0x394], cl
mov ecx, dword [esp + 0x4c]
mov word [eax + 0x395], cx
shr ecx, 0x10
mov byte [eax + 0x397], cl
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x398], ecx
mov cl, byte [esp + 0xc8]
mov byte [eax + 0x39c], cl
mov ecx, dword [esp + 0x8c]
mov word [eax + 0x39d], cx
shr ecx, 0x10
mov byte [eax + 0x39f], cl
mov ecx, dword [esp + 0x4f4]
mov dword [eax + 0x3a0], ecx
mov cl, byte [esp + 0x548]
mov byte [eax + 0x3a4], cl
mov ecx, dword [esp + 0x4f8]
mov word [eax + 0x3a5], cx
shr ecx, 0x10
mov byte [eax + 0x3a7], cl
mov ecx, dword [esp + 0x504]
mov dword [eax + 0x3a8], ecx
mov cl, byte [esp + 0x5b]
mov byte [eax + 0x3ac], cl
mov ecx, dword [esp + 0x620]
mov word [eax + 0x3ad], cx
shr ecx, 0x10
mov byte [eax + 0x3af], cl
mov ecx, dword [esp + 0x564]
mov dword [eax + 0x3b0], ecx
mov cl, byte [esp + 0x5c]
mov byte [eax + 0x3b4], cl
mov ecx, dword [esp + 0x624]
mov word [eax + 0x3b5], cx
shr ecx, 0x10
mov byte [eax + 0x3b7], cl
mov ecx, dword [esp + 0x568]
mov dword [eax + 0x3b8], ecx
mov cl, byte [esp + 0x5d]
mov byte [eax + 0x3bc], cl
mov ecx, dword [esp + 0x630]
mov word [eax + 0x3bd], cx
shr ecx, 0x10
mov byte [eax + 0x3bf], cl
mov ecx, dword [esp + 0x56c]
mov dword [eax + 0x3c0], ecx
mov cl, byte [esp + 0x5e]
mov byte [eax + 0x3c4], cl
mov ecx, dword [esp + 0x63c]
mov word [eax + 0x3c5], cx
shr ecx, 0x10
mov byte [eax + 0x3c7], cl
mov ecx, dword [esp + 0x570]
mov dword [eax + 0x3c8], ecx
mov cl, byte [esp + 0x5f]
mov byte [eax + 0x3cc], cl
mov ecx, dword [esp + 0x644]
mov word [eax + 0x3cd], cx
shr ecx, 0x10
mov byte [eax + 0x3cf], cl
mov ecx, dword [esp + 0x574]
mov dword [eax + 0x3d0], ecx
mov cl, byte [esp + 0x60]
mov byte [eax + 0x3d4], cl
mov ecx, dword [esp + 0x64c]
mov word [eax + 0x3d5], cx
shr ecx, 0x10
mov byte [eax + 0x3d7], cl
mov ecx, dword [esp + 0x578]
mov dword [eax + 0x3d8], ecx
mov cl, byte [esp + 0x61]
mov byte [eax + 0x3dc], cl
mov ecx, dword [esp + 0x658]
mov word [eax + 0x3dd], cx
shr ecx, 0x10
mov byte [eax + 0x3df], cl
mov ecx, dword [esp + 0x57c]
mov dword [eax + 0x3e0], ecx
mov cl, byte [esp + 0x62]
mov byte [eax + 0x3e4], cl
mov ecx, dword [esp + 0x664]
mov word [eax + 0x3e5], cx
shr ecx, 0x10
mov byte [eax + 0x3e7], cl
mov ecx, dword [esp + 0x580]
mov dword [eax + 0x3e8], ecx
mov cl, byte [esp + 0x63]
mov byte [eax + 0x3ec], cl
mov ecx, dword [esp + 0x668]
mov word [eax + 0x3ed], cx
shr ecx, 0x10
mov byte [eax + 0x3ef], cl
mov ecx, dword [esp + 0x584]
mov dword [eax + 0x3f0], ecx
mov cl, byte [esp + 0x64]
mov byte [eax + 0x3f4], cl
mov ecx, dword [esp + 0x674]
mov word [eax + 0x3f5], cx
shr ecx, 0x10
mov byte [eax + 0x3f7], cl
mov ecx, dword [esp + 0x588]
mov dword [eax + 0x3f8], ecx
mov cl, byte [esp + 0x65]
mov byte [eax + 0x3fc], cl
mov ecx, dword [esp + 0x680]
mov word [eax + 0x3fd], cx
shr ecx, 0x10
mov byte [eax + 0x3ff], cl
mov ecx, dword [esp + 0x58c]
mov dword [eax + 0x400], ecx
mov cl, byte [esp + 0x66]
mov byte [eax + 0x404], cl
mov ecx, dword [esp + 0x688]
mov word [eax + 0x405], cx
shr ecx, 0x10
mov byte [eax + 0x407], cl
mov ecx, dword [esp + 0x590]
mov dword [eax + 0x408], ecx
mov cl, byte [esp + 0x67]
mov byte [eax + 0x40c], cl
mov ecx, dword [esp + 0x690]
mov word [eax + 0x40d], cx
shr ecx, 0x10
mov byte [eax + 0x40f], cl
mov ecx, dword [esp + 0x594]
mov dword [eax + 0x410], ecx
mov cl, byte [esp + 0x68]
mov byte [eax + 0x414], cl
mov ecx, dword [esp + 0x69c]
mov word [eax + 0x415], cx
shr ecx, 0x10
mov byte [eax + 0x417], cl
mov ecx, dword [esp + 0x598]
mov dword [eax + 0x418], ecx
mov cl, byte [esp + 0x69]
mov byte [eax + 0x41c], cl
mov ecx, dword [esp + 0x6a4]
mov word [eax + 0x41d], cx
shr ecx, 0x10
mov byte [eax + 0x41f], cl
mov ecx, dword [esp + 0x5a0]
mov dword [eax + 0x420], ecx
mov cl, byte [esp + 0x6a]
mov byte [eax + 0x424], cl
mov ecx, dword [esp + 0x6ac]
mov word [eax + 0x425], cx
shr ecx, 0x10
mov byte [eax + 0x427], cl
mov ecx, dword [esp + 0x5a8]
mov dword [eax + 0x428], ecx
mov cl, byte [esp + 0x6b]
mov byte [eax + 0x42c], cl
mov ecx, dword [esp + 0x6b8]
mov word [eax + 0x42d], cx
shr ecx, 0x10
mov byte [eax + 0x42f], cl
mov ecx, dword [esp + 0x5b0]
mov dword [eax + 0x430], ecx
mov cl, byte [esp + 0x6c]
mov byte [eax + 0x434], cl
mov ecx, dword [esp + 0x6c4]
mov word [eax + 0x435], cx
shr ecx, 0x10
mov byte [eax + 0x437], cl
mov ecx, dword [esp + 0x5b8]
mov dword [eax + 0x438], ecx
mov cl, byte [esp + 0x59c]
mov byte [eax + 0x43c], cl
mov ecx, dword [esp + 0x6cc]
mov word [eax + 0x43d], cx
shr ecx, 0x10
mov byte [eax + 0x43f], cl
mov ecx, dword [esp + 0x5bc]
mov dword [eax + 0x440], ecx
mov cl, byte [esp + 0x5a4]
mov byte [eax + 0x444], cl
mov ecx, dword [esp + 0x6d4]
mov word [eax + 0x445], cx
shr ecx, 0x10
mov byte [eax + 0x447], cl
mov ecx, dword [esp + 0x5c0]
mov dword [eax + 0x448], ecx
mov cl, byte [esp + 0x5ac]
mov byte [eax + 0x44c], cl
mov ecx, dword [esp + 0x6dc]
mov word [eax + 0x44d], cx
shr ecx, 0x10
mov byte [eax + 0x44f], cl
mov ecx, dword [esp + 0x5c8]
mov dword [eax + 0x450], ecx
mov cl, byte [esp + 0x5b4]
mov byte [eax + 0x454], cl
mov ecx, dword [esp + 0x6e4]
mov word [eax + 0x455], cx
shr ecx, 0x10
mov byte [eax + 0x457], cl
mov ecx, dword [esp + 0x5d0]
mov dword [eax + 0x458], ecx
mov cl, byte [esp + 0x6d]
mov byte [eax + 0x45c], cl
mov ecx, dword [esp + 0x6ec]
mov word [eax + 0x45d], cx
shr ecx, 0x10
mov byte [eax + 0x45f], cl
mov ecx, dword [esp + 0x5d8]
mov dword [eax + 0x460], ecx
mov cl, byte [esp + 0x6e]
mov byte [eax + 0x464], cl
mov ecx, dword [esp + 0x6f4]
mov word [eax + 0x465], cx
shr ecx, 0x10
mov byte [eax + 0x467], cl
mov ecx, dword [esp + 0x5e0]
mov dword [eax + 0x468], ecx
mov cl, byte [esp + 0x5c4]
mov byte [eax + 0x46c], cl
mov ecx, dword [esp + 0x700]
mov word [eax + 0x46d], cx
shr ecx, 0x10
mov byte [eax + 0x46f], cl
mov ecx, dword [esp + 0x5e8]
mov dword [eax + 0x470], ecx
mov cl, byte [esp + 0x5cc]
mov byte [eax + 0x474], cl
mov ecx, dword [esp + 0x708]
mov word [eax + 0x475], cx
shr ecx, 0x10
mov byte [eax + 0x477], cl
mov ecx, dword [esp + 0x5f0]
mov dword [eax + 0x478], ecx
mov cl, byte [esp + 0x5d4]
mov byte [eax + 0x47c], cl
mov ecx, dword [esp + 0x70c]
mov word [eax + 0x47d], cx
shr ecx, 0x10
mov byte [eax + 0x47f], cl
mov ecx, dword [esp + 0x5f8]
mov dword [eax + 0x480], ecx
mov cl, byte [esp + 0x5dc]
mov byte [eax + 0x484], cl
mov ecx, dword [esp + 0x714]
mov word [eax + 0x485], cx
shr ecx, 0x10
mov byte [eax + 0x487], cl
mov ecx, dword [esp + 0x600]
mov dword [eax + 0x488], ecx
mov cl, byte [esp + 0x5e4]
mov byte [eax + 0x48c], cl
mov ecx, dword [esp + 0x71c]
mov word [eax + 0x48d], cx
shr ecx, 0x10
mov byte [eax + 0x48f], cl
mov ecx, dword [esp + 0x608]
mov dword [eax + 0x490], ecx
mov cl, byte [esp + 0x5ec]
mov byte [eax + 0x494], cl
mov ecx, dword [esp + 0x724]
mov word [eax + 0x495], cx
shr ecx, 0x10
mov byte [eax + 0x497], cl
mov ecx, dword [esp + 0x610]
mov dword [eax + 0x498], ecx
mov cl, byte [esp + 0x5f4]
mov byte [eax + 0x49c], cl
mov ecx, dword [esp + 0x728]
mov word [eax + 0x49d], cx
shr ecx, 0x10
mov byte [eax + 0x49f], cl
mov ecx, dword [esp + 0x61c]
mov dword [eax + 0x4a0], ecx
mov cl, byte [esp + 0x5fc]
mov byte [eax + 0x4a4], cl
mov ecx, dword [esp + 0x730]
mov word [eax + 0x4a5], cx
shr ecx, 0x10
mov byte [eax + 0x4a7], cl
mov ecx, dword [esp + 0x628]
mov dword [eax + 0x4a8], ecx
mov cl, byte [esp + 0x604]
mov byte [eax + 0x4ac], cl
mov ecx, dword [esp + 0x73c]
mov word [eax + 0x4ad], cx
shr ecx, 0x10
mov byte [eax + 0x4af], cl
mov ecx, dword [esp + 0x638]
mov dword [eax + 0x4b0], ecx
mov cl, byte [esp + 0x60c]
mov byte [eax + 0x4b4], cl
mov ecx, dword [esp + 0x740]
mov word [eax + 0x4b5], cx
shr ecx, 0x10
mov byte [eax + 0x4b7], cl
mov ecx, dword [esp + 0x640]
mov dword [eax + 0x4b8], ecx
mov cl, byte [esp + 0x614]
mov byte [eax + 0x4bc], cl
mov ecx, dword [esp + 0x74c]
mov word [eax + 0x4bd], cx
shr ecx, 0x10
mov byte [eax + 0x4bf], cl
mov ecx, dword [esp + 0x650]
mov dword [eax + 0x4c0], ecx
mov cl, byte [esp + 0x618]
mov byte [eax + 0x4c4], cl
mov ecx, dword [esp + 0x754]
mov word [eax + 0x4c5], cx
shr ecx, 0x10
mov byte [eax + 0x4c7], cl
mov ecx, dword [esp + 0x65c]
mov dword [eax + 0x4c8], ecx
mov cl, byte [esp + 0x62c]
mov byte [eax + 0x4cc], cl
mov ecx, dword [esp + 0x75c]
mov word [eax + 0x4cd], cx
shr ecx, 0x10
mov byte [eax + 0x4cf], cl
mov ecx, dword [esp + 0x66c]
mov dword [eax + 0x4d0], ecx
mov cl, byte [esp + 0x634]
mov byte [eax + 0x4d4], cl
mov ecx, dword [esp + 0x768]
mov word [eax + 0x4d5], cx
shr ecx, 0x10
mov byte [eax + 0x4d7], cl
mov ecx, dword [esp + 0x678]
mov dword [eax + 0x4d8], ecx
mov cl, byte [esp + 0x648]
mov byte [eax + 0x4dc], cl
mov ecx, dword [esp + 0x774]
mov word [eax + 0x4dd], cx
shr ecx, 0x10
mov byte [eax + 0x4df], cl
mov ecx, dword [esp + 0x684]
mov dword [eax + 0x4e0], ecx
mov cl, byte [esp + 0x654]
mov byte [eax + 0x4e4], cl
mov ecx, dword [esp + 0x77c]
mov word [eax + 0x4e5], cx
shr ecx, 0x10
mov byte [eax + 0x4e7], cl
mov ecx, dword [esp + 0x694]
mov dword [eax + 0x4e8], ecx
mov cl, byte [esp + 0x660]
mov byte [eax + 0x4ec], cl
mov ecx, dword [esp + 0x784]
mov word [eax + 0x4ed], cx
shr ecx, 0x10
mov byte [eax + 0x4ef], cl
mov ecx, dword [esp + 0x6a0]
mov dword [eax + 0x4f0], ecx
mov cl, byte [esp + 0x670]
mov byte [eax + 0x4f4], cl
mov ecx, dword [esp + 0x790]
mov word [eax + 0x4f5], cx
shr ecx, 0x10
mov byte [eax + 0x4f7], cl
mov ecx, dword [esp + 0x6b0]
mov dword [eax + 0x4f8], ecx
mov cl, byte [esp + 0x67c]
mov byte [eax + 0x4fc], cl
mov ecx, dword [esp + 0x798]
mov word [eax + 0x4fd], cx
shr ecx, 0x10
mov byte [eax + 0x4ff], cl
mov ecx, dword [esp + 0x6bc]
mov dword [eax + 0x500], ecx
mov cl, byte [esp + 0x68c]
mov byte [eax + 0x504], cl
mov ecx, dword [esp + 0x79c]
mov word [eax + 0x505], cx
shr ecx, 0x10
mov byte [eax + 0x507], cl
mov ecx, dword [esp + 0x6c8]
mov dword [eax + 0x508], ecx
mov cl, byte [esp + 0x698]
mov byte [eax + 0x50c], cl
mov ecx, dword [esp + 0x7a4]
mov word [eax + 0x50d], cx
shr ecx, 0x10
mov byte [eax + 0x50f], cl
mov ecx, dword [esp + 0x6d8]
mov dword [eax + 0x510], ecx
mov cl, byte [esp + 0x6a8]
mov byte [eax + 0x514], cl
mov ecx, dword [esp + 0x7b0]
mov word [eax + 0x515], cx
shr ecx, 0x10
mov byte [eax + 0x517], cl
mov ecx, dword [esp + 0x6e0]
mov dword [eax + 0x518], ecx
mov cl, byte [esp + 0x6b4]
mov byte [eax + 0x51c], cl
mov ecx, dword [esp + 0x7b8]
mov word [eax + 0x51d], cx
shr ecx, 0x10
mov byte [eax + 0x51f], cl
mov ecx, dword [esp + 0x6f0]
mov dword [eax + 0x520], ecx
mov cl, byte [esp + 0x6c0]
mov byte [eax + 0x524], cl
mov ecx, dword [esp + 0x7bc]
mov word [eax + 0x525], cx
shr ecx, 0x10
mov byte [eax + 0x527], cl
mov ecx, dword [esp + 0x6f8]
mov dword [eax + 0x528], ecx
mov cl, byte [esp + 0x6d0]
mov byte [eax + 0x52c], cl
mov ecx, dword [esp + 0x7c8]
mov word [eax + 0x52d], cx
shr ecx, 0x10
mov byte [eax + 0x52f], cl
mov ecx, dword [esp + 0x704]
mov dword [eax + 0x530], ecx
mov cl, byte [esp + 0x6f]
mov byte [eax + 0x534], cl
mov ecx, dword [esp + 0x7d0]
mov word [eax + 0x535], cx
shr ecx, 0x10
mov byte [eax + 0x537], cl
mov ecx, dword [esp + 0x710]
mov dword [eax + 0x538], ecx
mov cl, byte [esp + 0x6e8]
mov byte [eax + 0x53c], cl
mov ecx, dword [esp + 0x7d8]
mov word [eax + 0x53d], cx
shr ecx, 0x10
mov byte [eax + 0x53f], cl
mov ecx, dword [esp + 0x718]
mov dword [eax + 0x540], ecx
mov cl, byte [esp + 0x70]
mov byte [eax + 0x544], cl
mov ecx, dword [esp + 0x7e4]
mov word [eax + 0x545], cx
shr ecx, 0x10
mov byte [eax + 0x547], cl
mov ecx, dword [esp + 0x720]
mov dword [eax + 0x548], ecx
mov cl, byte [esp + 0x6fc]
mov byte [eax + 0x54c], cl
mov ecx, dword [esp + 0x7f0]
mov word [eax + 0x54d], cx
shr ecx, 0x10
mov byte [eax + 0x54f], cl
mov ecx, dword [esp + 0x72c]
mov dword [eax + 0x550], ecx
mov cl, byte [esp + 0x71]
mov byte [eax + 0x554], cl
mov ecx, dword [esp + 0x7f8]
mov word [eax + 0x555], cx
shr ecx, 0x10
mov byte [eax + 0x557], cl
mov ecx, dword [esp + 0x734]
mov dword [eax + 0x558], ecx
mov cl, byte [esp + 0x72]
mov byte [eax + 0x55c], cl
mov ecx, dword [esp + 0x800]
mov word [eax + 0x55d], cx
shr ecx, 0x10
mov byte [eax + 0x55f], cl
mov ecx, dword [esp + 0x744]
mov dword [eax + 0x560], ecx
mov cl, byte [esp + 0x73]
mov byte [eax + 0x564], cl
mov ecx, dword [esp + 0x80c]
mov word [eax + 0x565], cx
shr ecx, 0x10
mov byte [eax + 0x567], cl
mov ecx, dword [esp + 0x750]
mov dword [eax + 0x568], ecx
mov cl, byte [esp + 0x74]
mov byte [eax + 0x56c], cl
mov ecx, dword [esp + 0x818]
mov word [eax + 0x56d], cx
shr ecx, 0x10
mov byte [eax + 0x56f], cl
mov ecx, dword [esp + 0x760]
mov dword [eax + 0x570], ecx
mov cl, byte [esp + 0x75]
mov byte [eax + 0x574], cl
mov ecx, dword [esp + 0x81c]
mov word [eax + 0x575], cx
shr ecx, 0x10
mov byte [eax + 0x577], cl
mov ecx, dword [esp + 0x76c]
mov dword [eax + 0x578], ecx
mov cl, byte [esp + 0x738]
mov byte [eax + 0x57c], cl
mov ecx, dword [esp + 0x828]
mov word [eax + 0x57d], cx
shr ecx, 0x10
mov byte [eax + 0x57f], cl
mov ecx, dword [esp + 0x778]
mov dword [eax + 0x580], ecx
mov cl, byte [esp + 0x748]
mov byte [eax + 0x584], cl
mov ecx, dword [esp + 0x834]
mov word [eax + 0x585], cx
shr ecx, 0x10
mov byte [eax + 0x587], cl
mov ecx, dword [esp + 0x788]
mov dword [eax + 0x588], ecx
mov cl, byte [esp + 0x758]
mov byte [eax + 0x58c], cl
mov ecx, dword [esp + 0x83c]
mov word [eax + 0x58d], cx
shr ecx, 0x10
mov byte [eax + 0x58f], cl
mov ecx, dword [esp + 0x794]
mov dword [eax + 0x590], ecx
mov cl, byte [esp + 0x764]
mov byte [eax + 0x594], cl
mov ecx, dword [esp + 0x844]
mov word [eax + 0x595], cx
shr ecx, 0x10
mov byte [eax + 0x597], cl
mov ecx, dword [esp + 0x7a0]
mov dword [eax + 0x598], ecx
mov cl, byte [esp + 0x770]
mov byte [eax + 0x59c], cl
mov ecx, dword [esp + 0x84c]
mov word [eax + 0x59d], cx
shr ecx, 0x10
mov byte [eax + 0x59f], cl
mov ecx, dword [esp + 0x7a8]
mov dword [eax + 0x5a0], ecx
mov cl, byte [esp + 0x780]
mov byte [eax + 0x5a4], cl
mov ecx, dword [esp + 0x854]
mov word [eax + 0x5a5], cx
shr ecx, 0x10
mov byte [eax + 0x5a7], cl
mov ecx, dword [esp + 0x7b4]
mov dword [eax + 0x5a8], ecx
mov cl, byte [esp + 0x78c]
mov byte [eax + 0x5ac], cl
mov ecx, dword [esp + 0x85c]
mov word [eax + 0x5ad], cx
shr ecx, 0x10
mov byte [eax + 0x5af], cl
mov ecx, dword [esp + 0x7c0]
mov dword [eax + 0x5b0], ecx
mov cl, byte [esp + 0x76]
mov byte [eax + 0x5b4], cl
mov ecx, dword [esp + 0x860]
mov word [eax + 0x5b5], cx
shr ecx, 0x10
mov byte [eax + 0x5b7], cl
mov ecx, dword [esp + 0x7cc]
mov dword [eax + 0x5b8], ecx
mov cl, byte [esp + 0x77]
mov byte [eax + 0x5bc], cl
mov ecx, dword [esp + 0x868]
mov word [eax + 0x5bd], cx
shr ecx, 0x10
mov byte [eax + 0x5bf], cl
mov ecx, dword [esp + 0x7dc]
mov dword [eax + 0x5c0], ecx
mov cl, byte [esp + 0x7ac]
mov byte [eax + 0x5c4], cl
mov ecx, dword [esp + 0x870]
mov word [eax + 0x5c5], cx
shr ecx, 0x10
mov byte [eax + 0x5c7], cl
mov ecx, dword [esp + 0x7e8]
mov dword [eax + 0x5c8], ecx
mov cl, byte [esp + 0x78]
mov byte [eax + 0x5cc], cl
mov ecx, dword [esp + 0x874]
mov word [eax + 0x5cd], cx
shr ecx, 0x10
mov byte [eax + 0x5cf], cl
mov ecx, dword [esp + 0x7f4]
mov dword [eax + 0x5d0], ecx
mov cl, byte [esp + 0x7c4]
mov byte [eax + 0x5d4], cl
mov ecx, dword [esp + 0x87c]
mov word [eax + 0x5d5], cx
shr ecx, 0x10
mov byte [eax + 0x5d7], cl
mov ecx, dword [esp + 0x804]
mov dword [eax + 0x5d8], ecx
mov cl, byte [esp + 0x7d4]
mov byte [eax + 0x5dc], cl
mov ecx, dword [esp + 0x880]
mov word [eax + 0x5dd], cx
shr ecx, 0x10
mov byte [eax + 0x5df], cl
mov ecx, dword [esp + 0x810]
mov dword [eax + 0x5e0], ecx
mov cl, byte [esp + 0x7e0]
mov byte [eax + 0x5e4], cl
mov ecx, dword [esp + 0x890]
mov word [eax + 0x5e5], cx
shr ecx, 0x10
mov byte [eax + 0x5e7], cl
mov ecx, dword [esp + 0x820]
mov dword [eax + 0x5e8], ecx
mov cl, byte [esp + 0x7ec]
mov byte [eax + 0x5ec], cl
mov ecx, dword [esp + 0x89c]
mov word [eax + 0x5ed], cx
shr ecx, 0x10
mov byte [eax + 0x5ef], cl
mov ecx, dword [esp + 0x82c]
mov dword [eax + 0x5f0], ecx
mov cl, byte [esp + 0x7fc]
mov byte [eax + 0x5f4], cl
mov ecx, dword [esp + 0x8a8]
mov word [eax + 0x5f5], cx
shr ecx, 0x10
mov byte [eax + 0x5f7], cl
mov ecx, dword [esp + 0x838]
mov dword [eax + 0x5f8], ecx
mov cl, byte [esp + 0x808]
mov byte [eax + 0x5fc], cl
mov ecx, dword [esp + 0x8ac]
mov word [eax + 0x5fd], cx
shr ecx, 0x10
mov byte [eax + 0x5ff], cl
mov ecx, dword [esp + 0x848]
mov dword [eax + 0x600], ecx
mov cl, byte [esp + 0x814]
mov byte [eax + 0x604], cl
mov ecx, dword [esp + 0x8b8]
mov word [eax + 0x605], cx
shr ecx, 0x10
mov byte [eax + 0x607], cl
mov ecx, dword [esp + 0x850]
mov dword [eax + 0x608], ecx
mov cl, byte [esp + 0x824]
mov byte [eax + 0x60c], cl
mov ecx, dword [esp + 0x8c0]
mov word [eax + 0x60d], cx
shr ecx, 0x10
mov byte [eax + 0x60f], cl
mov ecx, dword [esp + 0x858]
mov dword [eax + 0x610], ecx
mov cl, byte [esp + 0x830]
mov byte [eax + 0x614], cl
mov ecx, dword [esp + 0x8c8]
mov word [eax + 0x615], cx
shr ecx, 0x10
mov byte [eax + 0x617], cl
mov ecx, dword [esp + 0x864]
mov dword [eax + 0x618], ecx
mov cl, byte [esp + 0x840]
mov byte [eax + 0x61c], cl
mov ecx, dword [esp + 0x8cc]
mov word [eax + 0x61d], cx
shr ecx, 0x10
mov byte [eax + 0x61f], cl
mov ecx, dword [esp + 0x86c]
mov dword [eax + 0x620], ecx
mov cl, byte [esp + 0x79]
mov byte [eax + 0x624], cl
mov ecx, dword [esp + 0x8d4]
mov word [eax + 0x625], cx
shr ecx, 0x10
mov byte [eax + 0x627], cl
mov ecx, dword [esp + 0x878]
mov dword [eax + 0x628], ecx
mov cl, byte [esp + 0x7a]
mov byte [eax + 0x62c], cl
mov ecx, dword [esp + 0x8dc]
mov word [eax + 0x62d], cx
shr ecx, 0x10
mov byte [eax + 0x62f], cl
mov ecx, dword [esp + 0x884]
mov dword [eax + 0x630], ecx
mov cl, byte [esp + 0x7b]
mov byte [eax + 0x634], cl
mov ecx, dword [esp + 0x8e4]
mov word [eax + 0x635], cx
shr ecx, 0x10
mov byte [eax + 0x637], cl
mov ecx, dword [esp + 0x894]
mov dword [eax + 0x638], ecx
mov cl, byte [esp + 0x7c]
mov byte [eax + 0x63c], cl
mov ecx, dword [esp + 0x8e8]
mov word [eax + 0x63d], cx
shr ecx, 0x10
mov byte [eax + 0x63f], cl
mov ecx, dword [esp + 0x8a0]
mov dword [eax + 0x640], ecx
mov cl, byte [esp + 0x7d]
mov byte [eax + 0x644], cl
mov ecx, dword [esp + 0x8f0]
mov word [eax + 0x645], cx
shr ecx, 0x10
mov byte [eax + 0x647], cl
mov ecx, dword [esp + 0x8b0]
mov dword [eax + 0x648], ecx
mov cl, byte [esp + 0x7e]
mov byte [eax + 0x64c], cl
mov ecx, dword [esp + 0x900]
mov word [eax + 0x64d], cx
shr ecx, 0x10
mov byte [eax + 0x64f], cl
mov ecx, dword [esp + 0x8bc]
mov dword [eax + 0x650], ecx
mov cl, byte [esp + 0x888]
mov byte [eax + 0x654], cl
mov ecx, dword [esp + 0x904]
mov word [eax + 0x655], cx
shr ecx, 0x10
mov byte [eax + 0x657], cl
mov ecx, dword [esp + 0x8c4]
mov dword [eax + 0x658], ecx
mov cl, byte [esp + 0x898]
mov byte [eax + 0x65c], cl
mov ecx, dword [esp + 0x908]
mov word [eax + 0x65d], cx
shr ecx, 0x10
mov byte [eax + 0x65f], cl
mov ecx, dword [esp + 0x8d0]
mov dword [eax + 0x660], ecx
mov cl, byte [esp + 0x8a4]
mov byte [eax + 0x664], cl
mov ecx, dword [esp + 0x90c]
mov word [eax + 0x665], cx
shr ecx, 0x10
mov byte [eax + 0x667], cl
mov ecx, dword [esp + 0x8d8]
mov dword [eax + 0x668], ecx
mov cl, byte [esp + 0x8b4]
mov byte [eax + 0x66c], cl
mov ecx, dword [esp + 0x910]
mov word [eax + 0x66d], cx
shr ecx, 0x10
mov byte [eax + 0x66f], cl
mov ecx, dword [esp + 0x8e0]
mov dword [eax + 0x670], ecx
mov cl, byte [esp + 0x37]
mov byte [eax + 0x674], cl
mov ecx, dword [esp + 0x914]
mov word [eax + 0x675], cx
shr ecx, 0x10
mov byte [eax + 0x677], cl
mov ecx, dword [esp + 0x8ec]
mov dword [eax + 0x678], ecx
mov cl, byte [esp + 0x544]
mov byte [eax + 0x67c], cl
mov ecx, dword [esp + 0x528]
mov word [eax + 0x67d], cx
shr ecx, 0x10
mov byte [eax + 0x67f], cl
mov ecx, dword [esp + 0x8f4]
mov dword [eax + 0x680], ecx
mov ecx, dword [esp + 0x88c]
mov dword [eax + 0x684], ecx
mov ecx, dword [esp + 0x8fc]
mov dword [eax + 0x688], ecx
mov ecx, dword [esp + 0x540]
mov dword [eax + 0x68c], ecx
mov ecx, dword [esp + 0x8f8]
mov dword [eax + 0x690], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0x694], ecx
mov ecx, dword [esp + 0x550]
mov byte [eax + 0x698], cl
mov ecx, dword [esp + 0x55c]
mov word [eax + 0x699], cx
shr ecx, 0x10
mov byte [eax + 0x69b], cl
mov ecx, dword [esp + 0x530]
mov dword [eax + 0x69c], ecx
mov ecx, dword [esp + 0x938]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x768be8
jmp 0x514f09
lea ecx, [esp + 0x19e8]
push 0x28c
lea eax, [esp + 0x1014]
push eax
push ecx
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x958]
mov ecx, dword [esp + 0x95b]
mov edx, 8
mov dword [esp + 0x12c0], eax
mov dword [esp + 0x12c3], ecx
mov ecx, 0x940
mov al, byte [0x803894]
call fcn.004889b0
test eax, eax
je 0x51d0a0
mov esi, eax
xor eax, eax
mov ecx, 0x28c
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov eax, dword [esp + 0x558]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x54c]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x538]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x534]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x918]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x91c]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x924]
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x92c]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x928]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x930]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x934]
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0xd8]
mov dword [esi + 0x38], eax
mov al, byte [esp + 0x7f]
mov byte [esi + 0x3c], al
mov eax, dword [esp + 0x920]
mov word [esi + 0x3d], ax
shr eax, 0x10
mov byte [esi + 0x3f], al
mov eax, dword [esp + 0xdc]
mov dword [esi + 0x40], eax
mov al, byte [esp + 0xd0]
mov byte [esi + 0x44], al
mov eax, dword [esp + 0x298]
mov word [esi + 0x45], ax
shr eax, 0x10
mov byte [esi + 0x47], al
mov eax, dword [esp + 0xe4]
mov dword [esi + 0x48], eax
mov al, byte [esp + 0xd4]
mov byte [esi + 0x4c], al
mov eax, dword [esp + 0x2ac]
mov word [esi + 0x4d], ax
shr eax, 0x10
mov byte [esi + 0x4f], al
mov eax, dword [esp + 0xec]
mov dword [esi + 0x50], eax
mov al, byte [esp + 3]
mov byte [esi + 0x54], al
mov eax, dword [esp + 0x2b0]
mov word [esi + 0x55], ax
shr eax, 0x10
mov byte [esi + 0x57], al
mov eax, dword [esp + 0x4f0]
mov dword [esi + 0x58], eax
mov al, byte [esp + 4]
mov byte [esi + 0x5c], al
mov eax, dword [esp + 0x2b8]
mov word [esi + 0x5d], ax
shr eax, 0x10
mov byte [esi + 0x5f], al
mov eax, dword [esp + 0x554]
mov dword [esi + 0x60], eax
mov al, byte [esp + 0xe0]
mov byte [esi + 0x64], al
mov eax, dword [esp + 0x2c8]
mov word [esi + 0x65], ax
shr eax, 0x10
mov byte [esi + 0x67], al
mov eax, dword [esp + 0x560]
mov dword [esi + 0x68], eax
mov al, byte [esp + 0xe8]
mov byte [esi + 0x6c], al
mov eax, dword [esp + 0x2cc]
mov word [esi + 0x6d], ax
shr eax, 0x10
mov byte [esi + 0x6f], al
mov eax, dword [esp + 0x100]
mov dword [esi + 0x70], eax
mov al, byte [esp + 0xf0]
mov byte [esi + 0x74], al
mov eax, dword [esp + 0x2dc]
mov word [esi + 0x75], ax
shr eax, 0x10
mov byte [esi + 0x77], al
mov eax, dword [esp + 0x108]
mov dword [esi + 0x78], eax
mov al, byte [esp + 0xf4]
mov byte [esi + 0x7c], al
mov eax, dword [esp + 0x2e4]
mov word [esi + 0x7d], ax
shr eax, 0x10
mov byte [esi + 0x7f], al
mov eax, dword [esp + 0x110]
mov dword [esi + 0x80], eax
mov al, byte [esp + 0xf8]
mov byte [esi + 0x84], al
mov eax, dword [esp + 0x2f4]
mov word [esi + 0x85], ax
shr eax, 0x10
mov byte [esi + 0x87], al
mov eax, dword [esp + 0x11c]
mov dword [esi + 0x88], eax
mov al, byte [esp + 0xfc]
mov byte [esi + 0x8c], al
mov eax, dword [esp + 0x2fc]
mov word [esi + 0x8d], ax
shr eax, 0x10
mov byte [esi + 0x8f], al
mov eax, dword [esp + 0x120]
mov dword [esi + 0x90], eax
mov al, byte [esp + 0x104]
mov byte [esi + 0x94], al
mov eax, dword [esp + 0x304]
mov word [esi + 0x95], ax
shr eax, 0x10
mov byte [esi + 0x97], al
mov eax, dword [esp + 0x12c]
mov dword [esi + 0x98], eax
mov al, byte [esp + 0x10c]
mov byte [esi + 0x9c], al
mov eax, dword [esp + 0x300]
mov word [esi + 0x9d], ax
shr eax, 0x10
mov byte [esi + 0x9f], al
mov eax, dword [esp + 0x130]
mov dword [esi + 0xa0], eax
mov al, byte [esp + 0x114]
mov byte [esi + 0xa4], al
mov eax, dword [esp + 0x310]
mov word [esi + 0xa5], ax
shr eax, 0x10
mov byte [esi + 0xa7], al
mov eax, dword [esp + 0x138]
mov dword [esi + 0xa8], eax
mov al, byte [esp + 0x118]
mov byte [esi + 0xac], al
mov eax, dword [esp + 0x314]
mov word [esi + 0xad], ax
shr eax, 0x10
mov byte [esi + 0xaf], al
mov eax, dword [esp + 0x140]
mov dword [esi + 0xb0], eax
mov al, byte [esp + 0x124]
mov byte [esi + 0xb4], al
mov eax, dword [esp + 0x324]
mov word [esi + 0xb5], ax
shr eax, 0x10
mov byte [esi + 0xb7], al
mov eax, dword [esp + 0x14c]
mov dword [esi + 0xb8], eax
mov al, byte [esp + 0x128]
mov byte [esi + 0xbc], al
mov eax, dword [esp + 0x320]
mov word [esi + 0xbd], ax
shr eax, 0x10
mov byte [esi + 0xbf], al
mov eax, dword [esp + 0x150]
mov dword [esi + 0xc0], eax
mov al, byte [esp + 0x134]
mov byte [esi + 0xc4], al
mov eax, dword [esp + 0x32c]
mov word [esi + 0xc5], ax
shr eax, 0x10
mov byte [esi + 0xc7], al
mov eax, dword [esp + 0x15c]
mov dword [esi + 0xc8], eax
mov al, byte [esp + 0x13c]
mov byte [esi + 0xcc], al
mov eax, dword [esp + 0x330]
mov word [esi + 0xcd], ax
shr eax, 0x10
mov byte [esi + 0xcf], al
mov eax, dword [esp + 0x160]
mov dword [esi + 0xd0], eax
mov al, byte [esp + 0x144]
mov byte [esi + 0xd4], al
mov eax, dword [esp + 0x338]
mov word [esi + 0xd5], ax
shr eax, 0x10
mov byte [esi + 0xd7], al
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xd8], eax
mov al, byte [esp + 0x148]
mov byte [esi + 0xdc], al
mov eax, dword [esp + 0x33c]
mov word [esi + 0xdd], ax
shr eax, 0x10
mov byte [esi + 0xdf], al
mov eax, dword [esp + 0x170]
mov dword [esi + 0xe0], eax
mov al, byte [esp + 0x158]
mov byte [esi + 0xe4], al
mov eax, dword [esp + 0x34c]
mov word [esi + 0xe5], ax
shr eax, 0x10
mov byte [esi + 0xe7], al
mov eax, dword [esp + 0x180]
mov dword [esi + 0xe8], eax
mov al, byte [esp + 0x154]
mov byte [esi + 0xec], al
mov eax, dword [esp + 0x340]
mov word [esi + 0xed], ax
shr eax, 0x10
mov byte [esi + 0xef], al
mov eax, dword [esp + 0x17c]
mov dword [esi + 0xf0], eax
mov al, byte [esp + 0x164]
mov byte [esi + 0xf4], al
mov eax, dword [esp + 0x358]
mov word [esi + 0xf5], ax
shr eax, 0x10
mov byte [esi + 0xf7], al
mov eax, dword [esp + 0x18c]
mov dword [esi + 0xf8], eax
mov al, byte [esp + 0x168]
mov byte [esi + 0xfc], al
mov eax, dword [esp + 0x35c]
mov word [esi + 0xfd], ax
shr eax, 0x10
mov byte [esi + 0xff], al
mov eax, dword [esp + 0x190]
mov dword [esi + 0x100], eax
mov al, byte [esp + 0x174]
mov byte [esi + 0x104], al
mov eax, dword [esp + 0x364]
mov word [esi + 0x105], ax
shr eax, 0x10
mov byte [esi + 0x107], al
mov eax, dword [esp + 0x19c]
mov dword [esi + 0x108], eax
mov al, byte [esp + 0x178]
mov byte [esi + 0x10c], al
mov eax, dword [esp + 0x360]
mov word [esi + 0x10d], ax
shr eax, 0x10
mov byte [esi + 0x10f], al
mov eax, dword [esp + 0x1a0]
mov dword [esi + 0x110], eax
mov al, byte [esp + 0x184]
mov byte [esi + 0x114], al
mov eax, dword [esp + 0x370]
mov word [esi + 0x115], ax
shr eax, 0x10
mov byte [esi + 0x117], al
mov eax, dword [esp + 0x1a8]
mov dword [esi + 0x118], eax
mov al, byte [esp + 0x188]
mov byte [esi + 0x11c], al
mov eax, dword [esp + 0x374]
mov word [esi + 0x11d], ax
shr eax, 0x10
mov byte [esi + 0x11f], al
mov eax, dword [esp + 0x1b0]
mov dword [esi + 0x120], eax
mov al, byte [esp + 0x194]
mov byte [esi + 0x124], al
mov eax, dword [esp + 0x38c]
mov word [esi + 0x125], ax
shr eax, 0x10
mov byte [esi + 0x127], al
mov eax, dword [esp + 0x1bc]
mov dword [esi + 0x128], eax
mov al, byte [esp + 0x198]
mov byte [esi + 0x12c], al
mov eax, dword [esp + 0x390]
mov word [esi + 0x12d], ax
shr eax, 0x10
mov byte [esi + 0x12f], al
mov eax, dword [esp + 0x1c0]
mov dword [esi + 0x130], eax
mov al, byte [esp + 0x1a4]
mov byte [esi + 0x134], al
mov eax, dword [esp + 0x39c]
mov word [esi + 0x135], ax
shr eax, 0x10
mov byte [esi + 0x137], al
mov eax, dword [esp + 0x1cc]
mov dword [esi + 0x138], eax
mov al, byte [esp + 0x1ac]
mov byte [esi + 0x13c], al
mov eax, dword [esp + 0x398]
mov word [esi + 0x13d], ax
shr eax, 0x10
mov byte [esi + 0x13f], al
mov eax, dword [esp + 0x1d0]
mov dword [esi + 0x140], eax
mov al, byte [esp + 0x1b4]
mov byte [esi + 0x144], al
mov eax, dword [esp + 0x3a8]
mov word [esi + 0x145], ax
shr eax, 0x10
mov byte [esi + 0x147], al
mov eax, dword [esp + 0x1d4]
mov dword [esi + 0x148], eax
mov al, byte [esp + 0x1b8]
mov byte [esi + 0x14c], al
mov eax, dword [esp + 0x3b4]
mov word [esi + 0x14d], ax
shr eax, 0x10
mov byte [esi + 0x14f], al
mov eax, dword [esp + 0x1d8]
mov dword [esi + 0x150], eax
mov al, byte [esp + 0x1c4]
mov byte [esi + 0x154], al
mov eax, dword [esp + 0x3c4]
mov word [esi + 0x155], ax
shr eax, 0x10
mov byte [esi + 0x157], al
mov eax, dword [esp + 0x1e0]
mov dword [esi + 0x158], eax
mov al, byte [esp + 0x1c8]
mov byte [esi + 0x15c], al
mov eax, dword [esp + 0x3c0]
mov word [esi + 0x15d], ax
shr eax, 0x10
mov byte [esi + 0x15f], al
mov eax, dword [esp + 0x1e4]
mov dword [esi + 0x160], eax
mov al, byte [esp + 5]
mov byte [esi + 0x164], al
mov eax, dword [esp + 0x3d0]
mov word [esi + 0x165], ax
shr eax, 0x10
mov byte [esi + 0x167], al
mov eax, dword [esp + 0x1e8]
mov dword [esi + 0x168], eax
mov al, byte [esp + 6]
mov byte [esi + 0x16c], al
mov eax, dword [esp + 0x3d4]
mov word [esi + 0x16d], ax
shr eax, 0x10
mov byte [esi + 0x16f], al
mov eax, dword [esp + 0x1ec]
mov dword [esi + 0x170], eax
mov al, byte [esp + 7]
mov byte [esi + 0x174], al
mov eax, dword [esp + 0x3e4]
mov word [esi + 0x175], ax
shr eax, 0x10
mov byte [esi + 0x177], al
mov eax, dword [esp + 0x1f4]
mov dword [esi + 0x178], eax
mov al, byte [esp + 0x1dc]
mov byte [esi + 0x17c], al
mov eax, dword [esp + 0x3e8]
mov word [esi + 0x17d], ax
shr eax, 0x10
mov byte [esi + 0x17f], al
mov eax, dword [esp + 0x1f8]
mov dword [esi + 0x180], eax
mov al, byte [esp + 9]
mov byte [esi + 0x184], al
mov eax, dword [esp + 0x3f8]
mov word [esi + 0x185], ax
shr eax, 0x10
mov byte [esi + 0x187], al
mov eax, dword [esp + 0x204]
mov dword [esi + 0x188], eax
mov al, byte [esp + 8]
mov byte [esi + 0x18c], al
mov eax, dword [esp + 0x3f4]
mov word [esi + 0x18d], ax
shr eax, 0x10
mov byte [esi + 0x18f], al
mov eax, dword [esp + 0x200]
mov dword [esi + 0x190], eax
mov al, byte [esp + 0x1f0]
mov byte [esi + 0x194], al
mov eax, dword [esp + 0x410]
mov word [esi + 0x195], ax
shr eax, 0x10
mov byte [esi + 0x197], al
mov eax, dword [esp + 0x210]
mov dword [esi + 0x198], eax
mov al, byte [esp + 0xa]
mov byte [esi + 0x19c], al
mov eax, dword [esp + 0x414]
mov word [esi + 0x19d], ax
shr eax, 0x10
mov byte [esi + 0x19f], al
mov eax, dword [esp + 0x214]
mov dword [esi + 0x1a0], eax
mov al, byte [esp + 0xb]
mov byte [esi + 0x1a4], al
mov eax, dword [esp + 0x420]
mov word [esi + 0x1a5], ax
shr eax, 0x10
mov byte [esi + 0x1a7], al
mov eax, dword [esp + 0x220]
mov dword [esi + 0x1a8], eax
mov al, byte [esp + 0x1fc]
mov byte [esi + 0x1ac], al
mov eax, dword [esp + 0x424]
mov word [esi + 0x1ad], ax
shr eax, 0x10
mov byte [esi + 0x1af], al
mov eax, dword [esp + 0x228]
mov dword [esi + 0x1b0], eax
mov al, byte [esp + 0x208]
mov byte [esi + 0x1b4], al
mov eax, dword [esp + 0x42c]
mov word [esi + 0x1b5], ax
shr eax, 0x10
mov byte [esi + 0x1b7], al
mov eax, dword [esp + 0x230]
mov dword [esi + 0x1b8], eax
mov al, byte [esp + 0x20c]
mov byte [esi + 0x1bc], al
mov eax, dword [esp + 0x438]
mov word [esi + 0x1bd], ax
shr eax, 0x10
mov byte [esi + 0x1bf], al
mov eax, dword [esp + 0x234]
mov dword [esi + 0x1c0], eax
mov al, byte [esp + 0x218]
mov byte [esi + 0x1c4], al
mov eax, dword [esp + 0x50c]
mov word [esi + 0x1c5], ax
shr eax, 0x10
mov byte [esi + 0x1c7], al
mov eax, dword [esp + 0x240]
mov dword [esi + 0x1c8], eax
mov al, byte [esp + 0x21c]
mov byte [esi + 0x1cc], al
mov eax, dword [esp + 0x440]
mov word [esi + 0x1cd], ax
shr eax, 0x10
mov byte [esi + 0x1cf], al
mov eax, dword [esp + 0x244]
mov dword [esi + 0x1d0], eax
mov al, byte [esp + 0x224]
mov byte [esi + 0x1d4], al
mov eax, edi
mov word [esi + 0x1d5], ax
shr eax, 0x10
mov byte [esi + 0x1d7], al
mov eax, dword [esp + 0x250]
mov dword [esi + 0x1d8], eax
mov al, byte [esp + 0x22c]
mov byte [esi + 0x1dc], al
mov eax, dword [esp + 0x450]
mov word [esi + 0x1dd], ax
shr eax, 0x10
mov byte [esi + 0x1df], al
mov eax, dword [esp + 0x254]
mov dword [esi + 0x1e0], eax
mov al, byte [esp + 0x238]
mov byte [esi + 0x1e4], al
mov eax, dword [esp + 0x500]
mov word [esi + 0x1e5], ax
shr eax, 0x10
mov byte [esi + 0x1e7], al
mov eax, dword [esp + 0x25c]
mov dword [esi + 0x1e8], eax
mov al, byte [esp + 0x23c]
mov byte [esi + 0x1ec], al
mov eax, dword [esp + 0x45c]
mov word [esi + 0x1ed], ax
shr eax, 0x10
mov byte [esi + 0x1ef], al
mov eax, dword [esp + 0x264]
mov dword [esi + 0x1f0], eax
mov al, byte [esp + 0x248]
mov byte [esi + 0x1f4], al
mov eax, dword [esp + 0x46c]
mov word [esi + 0x1f5], ax
shr eax, 0x10
mov byte [esi + 0x1f7], al
mov eax, dword [esp + 0x270]
mov dword [esi + 0x1f8], eax
mov al, byte [esp + 0x24c]
mov byte [esi + 0x1fc], al
mov eax, dword [esp + 0x468]
mov word [esi + 0x1fd], ax
shr eax, 0x10
mov byte [esi + 0x1ff], al
mov eax, dword [esp + 0x274]
mov dword [esi + 0x200], eax
mov al, byte [esp + 0x258]
mov byte [esi + 0x204], al
mov eax, dword [esp + 0x474]
mov word [esi + 0x205], ax
shr eax, 0x10
mov byte [esi + 0x207], al
mov eax, dword [esp + 0x280]
mov dword [esi + 0x208], eax
mov al, byte [esp + 0x260]
mov byte [esi + 0x20c], al
mov eax, dword [esp + 0x47c]
mov word [esi + 0x20d], ax
shr eax, 0x10
mov byte [esi + 0x20f], al
mov eax, dword [esp + 0x284]
mov dword [esi + 0x210], eax
mov al, byte [esp + 0x268]
mov byte [esi + 0x214], al
mov eax, dword [esp + 0x488]
mov word [esi + 0x215], ax
shr eax, 0x10
mov byte [esi + 0x217], al
mov eax, dword [esp + 0x290]
mov dword [esi + 0x218], eax
mov al, byte [esp + 0x26c]
mov byte [esi + 0x21c], al
mov eax, dword [esp + 0x484]
mov word [esi + 0x21d], ax
shr eax, 0x10
mov byte [esi + 0x21f], al
mov eax, dword [esp + 0x294]
mov dword [esi + 0x220], eax
mov al, byte [esp + 0x27c]
mov byte [esi + 0x224], al
mov eax, dword [esp + 0x30]
mov word [esi + 0x225], ax
shr eax, 0x10
mov byte [esi + 0x227], al
mov eax, dword [esp + 0x2a8]
mov dword [esi + 0x228], eax
mov al, byte [esp + 0x278]
mov byte [esi + 0x22c], al
mov eax, dword [esp + 0x490]
mov word [esi + 0x22d], ax
shr eax, 0x10
mov byte [esi + 0x22f], al
mov eax, dword [esp + 0x2a0]
mov dword [esi + 0x230], eax
mov al, byte [esp + 0x288]
mov byte [esi + 0x234], al
mov eax, dword [esp + 0x40]
mov word [esi + 0x235], ax
shr eax, 0x10
mov byte [esi + 0x237], al
mov eax, dword [esp + 0x2c0]
mov dword [esi + 0x238], eax
mov al, byte [esp + 0x28c]
mov byte [esi + 0x23c], al
mov eax, dword [esp + 0x24]
mov word [esi + 0x23d], ax
shr eax, 0x10
mov byte [esi + 0x23f], al
mov eax, dword [esp + 0x2c4]
mov dword [esi + 0x240], eax
mov al, byte [esp + 0x29c]
mov byte [esi + 0x244], al
mov eax, dword [esp + 0x498]
mov word [esi + 0x245], ax
shr eax, 0x10
mov byte [esi + 0x247], al
mov eax, dword [esp + 0x2d8]
mov dword [esi + 0x248], eax
mov al, byte [esp + 0x2a4]
mov byte [esi + 0x24c], al
mov eax, dword [esp + 0x494]
mov word [esi + 0x24d], ax
shr eax, 0x10
mov byte [esi + 0x24f], al
mov eax, dword [esp + 0x2e0]
mov dword [esi + 0x250], eax
mov al, byte [esp + 0x2b4]
mov byte [esi + 0x254], al
mov eax, dword [esp + 0x49c]
mov word [esi + 0x255], ax
shr eax, 0x10
mov byte [esi + 0x257], al
mov eax, dword [esp + 0x2ec]
mov dword [esi + 0x258], eax
mov al, byte [esp + 0x2bc]
mov byte [esi + 0x25c], al
mov eax, dword [esp + 0x4a0]
mov word [esi + 0x25d], ax
shr eax, 0x10
mov byte [esi + 0x25f], al
mov eax, dword [esp + 0x2f8]
mov dword [esi + 0x260], eax
mov al, byte [esp + 0x2d0]
mov byte [esi + 0x264], al
mov eax, dword [esp + 0x4a8]
mov word [esi + 0x265], ax
shr eax, 0x10
mov byte [esi + 0x267], al
mov eax, dword [esp + 0x308]
mov dword [esi + 0x268], eax
mov al, byte [esp + 0x2d4]
mov byte [esi + 0x26c], al
mov eax, dword [esp + 0x4a4]
mov word [esi + 0x26d], ax
shr eax, 0x10
mov byte [esi + 0x26f], al
mov eax, dword [esp + 0x30c]
mov dword [esi + 0x270], eax
mov al, byte [esp + 0x2e8]
mov byte [esi + 0x274], al
mov eax, dword [esp + 0x4b0]
mov word [esi + 0x275], ax
shr eax, 0x10
mov byte [esi + 0x277], al
mov eax, dword [esp + 0x318]
mov dword [esi + 0x278], eax
mov al, byte [esp + 0x2f0]
mov byte [esi + 0x27c], al
mov eax, dword [esp + 0x4ac]
mov word [esi + 0x27d], ax
shr eax, 0x10
mov byte [esi + 0x27f], al
mov eax, dword [esp + 0x31c]
mov dword [esi + 0x280], eax
mov al, byte [esp + 0xc]
mov byte [esi + 0x284], al
mov eax, dword [esp + 0x4b4]
mov word [esi + 0x285], ax
shr eax, 0x10
mov byte [esi + 0x287], al
mov eax, dword [esp + 0x328]
mov dword [esi + 0x288], eax
mov al, byte [esp + 0xd]
mov byte [esi + 0x28c], al
mov eax, dword [esp + 0x4b8]
mov word [esi + 0x28d], ax
shr eax, 0x10
mov byte [esi + 0x28f], al
mov eax, dword [esp + 0x334]
mov dword [esi + 0x290], eax
mov al, byte [esp + 0xe]
mov byte [esi + 0x294], al
mov eax, dword [esp + 0x4c0]
mov word [esi + 0x295], ax
shr eax, 0x10
mov byte [esi + 0x297], al
mov eax, dword [esp + 0x344]
mov dword [esi + 0x298], eax
mov al, byte [esp + 0xf]
mov byte [esi + 0x29c], al
mov eax, dword [esp + 0x4bc]
mov word [esi + 0x29d], ax
shr eax, 0x10
mov byte [esi + 0x29f], al
mov eax, dword [esp + 0x348]
mov dword [esi + 0x2a0], eax
mov al, byte [esp + 0x10]
mov byte [esi + 0x2a4], al
mov eax, dword [esp + 0x4c4]
mov word [esi + 0x2a5], ax
shr eax, 0x10
mov byte [esi + 0x2a7], al
mov eax, dword [esp + 0x350]
mov dword [esi + 0x2a8], eax
mov al, byte [esp + 0x11]
mov byte [esi + 0x2ac], al
mov eax, dword [esp + 0x4c8]
mov word [esi + 0x2ad], ax
shr eax, 0x10
mov byte [esi + 0x2af], al
mov eax, dword [esp + 0x354]
mov dword [esi + 0x2b0], eax
mov al, byte [esp + 0x12]
mov byte [esi + 0x2b4], al
mov eax, dword [esp + 0x4d0]
mov word [esi + 0x2b5], ax
shr eax, 0x10
mov byte [esi + 0x2b7], al
mov eax, dword [esp + 0x368]
mov dword [esi + 0x2b8], eax
mov al, byte [esp + 0x13]
mov byte [esi + 0x2bc], al
mov eax, dword [esp + 0x4cc]
mov word [esi + 0x2bd], ax
shr eax, 0x10
mov byte [esi + 0x2bf], al
mov eax, dword [esp + 0x36c]
mov dword [esi + 0x2c0], eax
mov al, byte [esp + 0x15]
mov byte [esi + 0x2c4], al
mov eax, dword [esp + 0x4d8]
mov word [esi + 0x2c5], ax
shr eax, 0x10
mov byte [esi + 0x2c7], al
mov eax, dword [esp + 0x384]
mov dword [esi + 0x2c8], eax
mov al, byte [esp + 0x14]
mov byte [esi + 0x2cc], al
mov eax, dword [esp + 0x4d4]
mov word [esi + 0x2cd], ax
shr eax, 0x10
mov byte [esi + 0x2cf], al
mov eax, dword [esp + 0x380]
mov dword [esi + 0x2d0], eax
mov al, byte [esp + 0x16]
mov byte [esi + 0x2d4], al
mov eax, dword [esp + 0x4e0]
mov word [esi + 0x2d5], ax
shr eax, 0x10
mov byte [esi + 0x2d7], al
mov eax, dword [esp + 0x3a0]
mov dword [esi + 0x2d8], eax
mov al, byte [esp + 0x17]
mov byte [esi + 0x2dc], al
mov eax, dword [esp + 0x4dc]
mov word [esi + 0x2dd], ax
shr eax, 0x10
mov byte [esi + 0x2df], al
mov eax, dword [esp + 0x3a4]
mov dword [esi + 0x2e0], eax
mov al, byte [esp + 0x378]
mov byte [esi + 0x2e4], al
mov eax, dword [esp + 0xc0]
mov word [esi + 0x2e5], ax
shr eax, 0x10
mov byte [esi + 0x2e7], al
mov eax, dword [esp + 0x3b8]
mov dword [esi + 0x2e8], eax
mov al, byte [esp + 0x37c]
mov byte [esi + 0x2ec], al
mov eax, dword [esp + 0x4e4]
mov word [esi + 0x2ed], ax
shr eax, 0x10
mov byte [esi + 0x2ef], al
mov eax, dword [esp + 0x3bc]
mov dword [esi + 0x2f0], eax
mov al, byte [esp + 0x388]
mov byte [esi + 0x2f4], al
mov eax, dword [esp + 0x90]
mov word [esi + 0x2f5], ax
shr eax, 0x10
mov byte [esi + 0x2f7], al
mov eax, dword [esp + 0x3c8]
mov dword [esi + 0x2f8], eax
mov al, byte [esp + 0x394]
mov byte [esi + 0x2fc], al
mov eax, dword [esp + 0x94]
mov word [esi + 0x2fd], ax
shr eax, 0x10
mov byte [esi + 0x2ff], al
mov eax, dword [esp + 0x3d8]
mov dword [esi + 0x300], eax
mov al, byte [esp + 0x3ac]
mov byte [esi + 0x304], al
mov eax, dword [esp + 0x98]
mov word [esi + 0x305], ax
shr eax, 0x10
mov byte [esi + 0x307], al
mov eax, dword [esp + 0x3ec]
mov dword [esi + 0x308], eax
mov al, byte [esp + 0x3b0]
mov byte [esi + 0x30c], al
mov eax, dword [esp + 0x50]
mov word [esi + 0x30d], ax
shr eax, 0x10
mov byte [esi + 0x30f], al
mov eax, dword [esp + 0x3f0]
mov dword [esi + 0x310], eax
mov al, byte [esp + 0x18]
mov byte [esi + 0x314], al
mov eax, dword [esp + 0xa0]
mov word [esi + 0x315], ax
shr eax, 0x10
mov byte [esi + 0x317], al
mov eax, dword [esp + 0x404]
mov dword [esi + 0x318], eax
mov al, byte [esp + 0x3cc]
mov byte [esi + 0x31c], al
mov eax, dword [esp + 0x9c]
mov word [esi + 0x31d], ax
shr eax, 0x10
mov byte [esi + 0x31f], al
mov eax, dword [esp + 0x408]
mov dword [esi + 0x320], eax
mov al, byte [esp + 0x3dc]
mov byte [esi + 0x324], al
mov eax, dword [esp + 0xa4]
mov word [esi + 0x325], ax
shr eax, 0x10
mov byte [esi + 0x327], al
mov eax, dword [esp + 0x418]
mov dword [esi + 0x328], eax
mov al, byte [esp + 0x3e0]
mov byte [esi + 0x32c], al
mov eax, dword [esp + 0xa8]
mov word [esi + 0x32d], ax
shr eax, 0x10
mov byte [esi + 0x32f], al
mov eax, dword [esp + 0x428]
mov dword [esi + 0x330], eax
mov al, byte [esp + 0x3fc]
mov byte [esi + 0x334], al
mov eax, dword [esp + 0xb0]
mov word [esi + 0x335], ax
shr eax, 0x10
mov byte [esi + 0x337], al
mov eax, dword [esp + 0xc4]
mov dword [esi + 0x338], eax
mov al, byte [esp + 0x400]
mov byte [esi + 0x33c], al
mov eax, dword [esp + 0xac]
mov word [esi + 0x33d], ax
shr eax, 0x10
mov byte [esi + 0x33f], al
mov eax, dword [esp + 0x4fc]
mov dword [esi + 0x340], eax
mov al, byte [esp + 0x40c]
mov byte [esi + 0x344], al
mov eax, dword [esp + 0xb4]
mov word [esi + 0x345], ax
shr eax, 0x10
mov byte [esi + 0x347], al
mov eax, dword [esp + 0x448]
mov dword [esi + 0x348], eax
mov al, byte [esp + 0x41c]
mov byte [esi + 0x34c], al
mov eax, dword [esp + 0xb8]
mov word [esi + 0x34d], ax
shr eax, 0x10
mov byte [esi + 0x34f], al
mov eax, dword [esp + 0x44c]
mov dword [esi + 0x350], eax
mov al, byte [esp + 0x430]
mov byte [esi + 0x354], al
mov eax, dword [esp + 0x88]
mov word [esi + 0x355], ax
shr eax, 0x10
mov byte [esi + 0x357], al
mov eax, dword [esp + 0x460]
mov dword [esi + 0x358], eax
mov al, byte [esp + 0x434]
mov byte [esi + 0x35c], al
mov eax, dword [esp + 0xbc]
mov word [esi + 0x35d], ax
shr eax, 0x10
mov byte [esi + 0x35f], al
mov eax, dword [esp + 0x464]
mov dword [esi + 0x360], eax
mov al, byte [esp + 0x444]
mov byte [esi + 0x364], al
mov eax, dword [esp + 0x44]
mov word [esi + 0x365], ax
shr eax, 0x10
mov byte [esi + 0x367], al
mov eax, dword [esp + 0x478]
mov dword [esi + 0x368], eax
mov al, byte [esp + 0x43c]
mov byte [esi + 0x36c], al
mov eax, dword [esp + 0x84]
mov word [esi + 0x36d], ax
shr eax, 0x10
mov byte [esi + 0x36f], al
mov eax, dword [esp + 0x470]
mov dword [esi + 0x370], eax
mov al, byte [esp + 0x454]
mov byte [esi + 0x374], al
mov eax, dword [esp + 0x2c]
mov word [esi + 0x375], ax
shr eax, 0x10
mov byte [esi + 0x377], al
mov eax, dword [esp + 0x480]
mov dword [esi + 0x378], eax
mov al, byte [esp + 0x458]
mov byte [esi + 0x37c], al
mov eax, dword [esp + 0x38]
mov word [esi + 0x37d], ax
shr eax, 0x10
mov byte [esi + 0x37f], al
mov eax, dword [esp + 0x48c]
mov dword [esi + 0x380], eax
mov al, byte [esp + 0x19]
mov byte [esi + 0x384], al
mov eax, dword [esp + 0x20]
mov word [esi + 0x385], ax
shr eax, 0x10
mov byte [esi + 0x387], al
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x388], eax
mov al, byte [esp + 0x4e8]
mov byte [esi + 0x38c], al
mov eax, dword [esp + 0x28]
mov word [esi + 0x38d], ax
shr eax, 0x10
mov byte [esi + 0x38f], al
mov eax, dword [esp + 0x80]
mov dword [esi + 0x390], eax
mov al, byte [esp + 0x1a]
mov byte [esi + 0x394], al
mov eax, dword [esp + 0x54]
mov word [esi + 0x395], ax
shr eax, 0x10
mov byte [esi + 0x397], al
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x398], eax
mov al, byte [esp + 0x4ec]
mov byte [esi + 0x39c], al
mov eax, dword [esp + 0x4c]
mov word [esi + 0x39d], ax
shr eax, 0x10
mov byte [esi + 0x39f], al
mov eax, dword [esp + 0x48]
mov dword [esi + 0x3a0], eax
mov al, byte [esp + 0xc8]
mov byte [esi + 0x3a4], al
mov eax, dword [esp + 0x8c]
mov word [esi + 0x3a5], ax
shr eax, 0x10
mov byte [esi + 0x3a7], al
mov eax, dword [esp + 0x4f4]
mov dword [esi + 0x3a8], eax
mov al, byte [esp + 0x548]
mov byte [esi + 0x3ac], al
mov eax, dword [esp + 0x4f8]
mov word [esi + 0x3ad], ax
shr eax, 0x10
mov byte [esi + 0x3af], al
mov eax, dword [esp + 0x504]
mov dword [esi + 0x3b0], eax
mov al, byte [esp + 0x5b]
mov byte [esi + 0x3b4], al
mov eax, dword [esp + 0x620]
mov word [esi + 0x3b5], ax
shr eax, 0x10
mov byte [esi + 0x3b7], al
mov eax, dword [esp + 0x564]
mov dword [esi + 0x3b8], eax
mov al, byte [esp + 0x5c]
mov byte [esi + 0x3bc], al
mov eax, dword [esp + 0x624]
mov word [esi + 0x3bd], ax
shr eax, 0x10
mov byte [esi + 0x3bf], al
mov eax, dword [esp + 0x568]
mov dword [esi + 0x3c0], eax
mov al, byte [esp + 0x5d]
mov byte [esi + 0x3c4], al
mov eax, dword [esp + 0x630]
mov word [esi + 0x3c5], ax
shr eax, 0x10
mov byte [esi + 0x3c7], al
mov eax, dword [esp + 0x56c]
mov dword [esi + 0x3c8], eax
mov al, byte [esp + 0x5e]
mov byte [esi + 0x3cc], al
mov eax, dword [esp + 0x63c]
mov word [esi + 0x3cd], ax
shr eax, 0x10
mov byte [esi + 0x3cf], al
mov eax, dword [esp + 0x570]
mov dword [esi + 0x3d0], eax
mov al, byte [esp + 0x5f]
mov byte [esi + 0x3d4], al
mov eax, dword [esp + 0x644]
mov word [esi + 0x3d5], ax
shr eax, 0x10
mov byte [esi + 0x3d7], al
mov eax, dword [esp + 0x574]
mov dword [esi + 0x3d8], eax
mov al, byte [esp + 0x60]
mov byte [esi + 0x3dc], al
mov eax, dword [esp + 0x64c]
mov word [esi + 0x3dd], ax
shr eax, 0x10
mov byte [esi + 0x3df], al
mov eax, dword [esp + 0x578]
mov dword [esi + 0x3e0], eax
mov al, byte [esp + 0x61]
mov byte [esi + 0x3e4], al
mov eax, dword [esp + 0x658]
mov word [esi + 0x3e5], ax
shr eax, 0x10
mov byte [esi + 0x3e7], al
mov eax, dword [esp + 0x57c]
mov dword [esi + 0x3e8], eax
mov al, byte [esp + 0x62]
mov byte [esi + 0x3ec], al
mov eax, dword [esp + 0x664]
mov word [esi + 0x3ed], ax
shr eax, 0x10
mov byte [esi + 0x3ef], al
mov eax, dword [esp + 0x580]
mov dword [esi + 0x3f0], eax
mov al, byte [esp + 0x63]
mov byte [esi + 0x3f4], al
mov eax, dword [esp + 0x668]
mov word [esi + 0x3f5], ax
shr eax, 0x10
mov byte [esi + 0x3f7], al
mov eax, dword [esp + 0x584]
mov dword [esi + 0x3f8], eax
mov al, byte [esp + 0x64]
mov byte [esi + 0x3fc], al
mov eax, dword [esp + 0x674]
mov word [esi + 0x3fd], ax
shr eax, 0x10
mov byte [esi + 0x3ff], al
mov eax, dword [esp + 0x588]
mov dword [esi + 0x400], eax
mov al, byte [esp + 0x65]
mov byte [esi + 0x404], al
mov eax, dword [esp + 0x680]
mov word [esi + 0x405], ax
shr eax, 0x10
mov byte [esi + 0x407], al
mov eax, dword [esp + 0x58c]
mov dword [esi + 0x408], eax
mov al, byte [esp + 0x66]
mov byte [esi + 0x40c], al
mov eax, dword [esp + 0x688]
mov word [esi + 0x40d], ax
shr eax, 0x10
mov byte [esi + 0x40f], al
mov eax, dword [esp + 0x590]
mov dword [esi + 0x410], eax
mov al, byte [esp + 0x67]
mov byte [esi + 0x414], al
mov eax, dword [esp + 0x690]
mov word [esi + 0x415], ax
shr eax, 0x10
mov byte [esi + 0x417], al
mov eax, dword [esp + 0x594]
mov dword [esi + 0x418], eax
mov al, byte [esp + 0x68]
mov byte [esi + 0x41c], al
mov eax, dword [esp + 0x69c]
mov word [esi + 0x41d], ax
shr eax, 0x10
mov byte [esi + 0x41f], al
mov eax, dword [esp + 0x598]
mov dword [esi + 0x420], eax
mov al, byte [esp + 0x69]
mov byte [esi + 0x424], al
mov eax, dword [esp + 0x6a4]
mov word [esi + 0x425], ax
shr eax, 0x10
mov byte [esi + 0x427], al
mov eax, dword [esp + 0x5a0]
mov dword [esi + 0x428], eax
mov al, byte [esp + 0x6a]
mov byte [esi + 0x42c], al
mov eax, dword [esp + 0x6ac]
mov word [esi + 0x42d], ax
shr eax, 0x10
mov byte [esi + 0x42f], al
mov eax, dword [esp + 0x5a8]
mov dword [esi + 0x430], eax
mov al, byte [esp + 0x6b]
mov byte [esi + 0x434], al
mov eax, dword [esp + 0x6b8]
mov word [esi + 0x435], ax
shr eax, 0x10
mov byte [esi + 0x437], al
mov eax, dword [esp + 0x5b0]
mov dword [esi + 0x438], eax
mov al, byte [esp + 0x6c]
mov byte [esi + 0x43c], al
mov eax, dword [esp + 0x6c4]
mov word [esi + 0x43d], ax
shr eax, 0x10
mov byte [esi + 0x43f], al
mov eax, dword [esp + 0x5b8]
mov dword [esi + 0x440], eax
mov al, byte [esp + 0x59c]
mov byte [esi + 0x444], al
mov eax, dword [esp + 0x6cc]
mov word [esi + 0x445], ax
shr eax, 0x10
mov byte [esi + 0x447], al
mov eax, dword [esp + 0x5bc]
mov dword [esi + 0x448], eax
mov al, byte [esp + 0x5a4]
mov byte [esi + 0x44c], al
mov eax, dword [esp + 0x6d4]
mov word [esi + 0x44d], ax
shr eax, 0x10
mov byte [esi + 0x44f], al
mov eax, dword [esp + 0x5c0]
mov dword [esi + 0x450], eax
mov al, byte [esp + 0x5ac]
mov byte [esi + 0x454], al
mov eax, dword [esp + 0x6dc]
mov word [esi + 0x455], ax
shr eax, 0x10
mov byte [esi + 0x457], al
mov eax, dword [esp + 0x5c8]
mov dword [esi + 0x458], eax
mov al, byte [esp + 0x5b4]
mov byte [esi + 0x45c], al
mov eax, dword [esp + 0x6e4]
mov word [esi + 0x45d], ax
shr eax, 0x10
mov byte [esi + 0x45f], al
mov eax, dword [esp + 0x5d0]
mov dword [esi + 0x460], eax
mov al, byte [esp + 0x6d]
mov byte [esi + 0x464], al
mov eax, dword [esp + 0x6ec]
mov word [esi + 0x465], ax
shr eax, 0x10
mov byte [esi + 0x467], al
mov eax, dword [esp + 0x5d8]
mov dword [esi + 0x468], eax
mov al, byte [esp + 0x6e]
mov byte [esi + 0x46c], al
mov eax, dword [esp + 0x6f4]
mov word [esi + 0x46d], ax
shr eax, 0x10
mov byte [esi + 0x46f], al
mov eax, dword [esp + 0x5e0]
mov dword [esi + 0x470], eax
mov al, byte [esp + 0x5c4]
mov byte [esi + 0x474], al
mov eax, dword [esp + 0x700]
mov word [esi + 0x475], ax
shr eax, 0x10
mov byte [esi + 0x477], al
mov eax, dword [esp + 0x5e8]
mov dword [esi + 0x478], eax
mov al, byte [esp + 0x5cc]
mov byte [esi + 0x47c], al
mov eax, dword [esp + 0x708]
mov word [esi + 0x47d], ax
shr eax, 0x10
mov byte [esi + 0x47f], al
mov eax, dword [esp + 0x5f0]
mov dword [esi + 0x480], eax
mov al, byte [esp + 0x5d4]
mov byte [esi + 0x484], al
mov eax, dword [esp + 0x70c]
mov word [esi + 0x485], ax
shr eax, 0x10
mov byte [esi + 0x487], al
mov eax, dword [esp + 0x5f8]
mov dword [esi + 0x488], eax
mov al, byte [esp + 0x5dc]
mov byte [esi + 0x48c], al
mov eax, dword [esp + 0x714]
mov word [esi + 0x48d], ax
shr eax, 0x10
mov byte [esi + 0x48f], al
mov eax, dword [esp + 0x600]
mov dword [esi + 0x490], eax
mov al, byte [esp + 0x5e4]
mov byte [esi + 0x494], al
mov eax, dword [esp + 0x71c]
mov word [esi + 0x495], ax
shr eax, 0x10
mov byte [esi + 0x497], al
mov eax, dword [esp + 0x608]
mov dword [esi + 0x498], eax
mov al, byte [esp + 0x5ec]
mov byte [esi + 0x49c], al
mov eax, dword [esp + 0x724]
mov word [esi + 0x49d], ax
shr eax, 0x10
mov byte [esi + 0x49f], al
mov eax, dword [esp + 0x610]
mov dword [esi + 0x4a0], eax
mov al, byte [esp + 0x5f4]
mov byte [esi + 0x4a4], al
mov eax, dword [esp + 0x728]
mov word [esi + 0x4a5], ax
shr eax, 0x10
mov byte [esi + 0x4a7], al
mov eax, dword [esp + 0x61c]
mov dword [esi + 0x4a8], eax
mov al, byte [esp + 0x5fc]
mov byte [esi + 0x4ac], al
mov eax, dword [esp + 0x730]
mov word [esi + 0x4ad], ax
shr eax, 0x10
mov byte [esi + 0x4af], al
mov eax, dword [esp + 0x628]
mov dword [esi + 0x4b0], eax
mov al, byte [esp + 0x604]
mov byte [esi + 0x4b4], al
mov eax, dword [esp + 0x73c]
mov word [esi + 0x4b5], ax
shr eax, 0x10
mov byte [esi + 0x4b7], al
mov eax, dword [esp + 0x638]
mov dword [esi + 0x4b8], eax
mov al, byte [esp + 0x60c]
mov byte [esi + 0x4bc], al
mov eax, dword [esp + 0x740]
mov word [esi + 0x4bd], ax
shr eax, 0x10
mov byte [esi + 0x4bf], al
mov eax, dword [esp + 0x640]
mov dword [esi + 0x4c0], eax
mov al, byte [esp + 0x614]
mov byte [esi + 0x4c4], al
mov eax, dword [esp + 0x74c]
mov word [esi + 0x4c5], ax
shr eax, 0x10
mov byte [esi + 0x4c7], al
mov eax, dword [esp + 0x650]
mov dword [esi + 0x4c8], eax
mov al, byte [esp + 0x618]
mov byte [esi + 0x4cc], al
mov eax, dword [esp + 0x754]
mov word [esi + 0x4cd], ax
shr eax, 0x10
mov byte [esi + 0x4cf], al
mov eax, dword [esp + 0x65c]
mov dword [esi + 0x4d0], eax
mov al, byte [esp + 0x62c]
mov byte [esi + 0x4d4], al
mov eax, dword [esp + 0x75c]
mov word [esi + 0x4d5], ax
shr eax, 0x10
mov byte [esi + 0x4d7], al
mov eax, dword [esp + 0x66c]
mov dword [esi + 0x4d8], eax
mov al, byte [esp + 0x634]
mov byte [esi + 0x4dc], al
mov eax, dword [esp + 0x768]
mov word [esi + 0x4dd], ax
shr eax, 0x10
mov byte [esi + 0x4df], al
mov eax, dword [esp + 0x678]
mov dword [esi + 0x4e0], eax
mov al, byte [esp + 0x648]
mov byte [esi + 0x4e4], al
mov eax, dword [esp + 0x774]
mov word [esi + 0x4e5], ax
shr eax, 0x10
mov byte [esi + 0x4e7], al
mov eax, dword [esp + 0x684]
mov dword [esi + 0x4e8], eax
mov al, byte [esp + 0x654]
mov byte [esi + 0x4ec], al
mov eax, dword [esp + 0x77c]
mov word [esi + 0x4ed], ax
shr eax, 0x10
mov byte [esi + 0x4ef], al
mov eax, dword [esp + 0x694]
mov dword [esi + 0x4f0], eax
mov al, byte [esp + 0x660]
mov byte [esi + 0x4f4], al
mov eax, dword [esp + 0x784]
mov word [esi + 0x4f5], ax
shr eax, 0x10
mov byte [esi + 0x4f7], al
mov eax, dword [esp + 0x6a0]
mov dword [esi + 0x4f8], eax
mov al, byte [esp + 0x670]
mov byte [esi + 0x4fc], al
mov eax, dword [esp + 0x790]
mov word [esi + 0x4fd], ax
shr eax, 0x10
mov byte [esi + 0x4ff], al
mov eax, dword [esp + 0x6b0]
mov dword [esi + 0x500], eax
mov al, byte [esp + 0x67c]
mov byte [esi + 0x504], al
mov eax, dword [esp + 0x798]
mov word [esi + 0x505], ax
shr eax, 0x10
mov byte [esi + 0x507], al
mov eax, dword [esp + 0x6bc]
mov dword [esi + 0x508], eax
mov al, byte [esp + 0x68c]
mov byte [esi + 0x50c], al
mov eax, dword [esp + 0x79c]
mov word [esi + 0x50d], ax
shr eax, 0x10
mov byte [esi + 0x50f], al
mov eax, dword [esp + 0x6c8]
mov dword [esi + 0x510], eax
mov al, byte [esp + 0x698]
mov byte [esi + 0x514], al
mov eax, dword [esp + 0x7a4]
mov word [esi + 0x515], ax
shr eax, 0x10
mov byte [esi + 0x517], al
mov eax, dword [esp + 0x6d8]
mov dword [esi + 0x518], eax
mov al, byte [esp + 0x6a8]
mov byte [esi + 0x51c], al
mov eax, dword [esp + 0x7b0]
mov word [esi + 0x51d], ax
shr eax, 0x10
mov byte [esi + 0x51f], al
mov eax, dword [esp + 0x6e0]
mov dword [esi + 0x520], eax
mov al, byte [esp + 0x6b4]
mov byte [esi + 0x524], al
mov eax, dword [esp + 0x7b8]
mov word [esi + 0x525], ax
shr eax, 0x10
mov byte [esi + 0x527], al
mov eax, dword [esp + 0x6f0]
mov dword [esi + 0x528], eax
mov al, byte [esp + 0x6c0]
mov byte [esi + 0x52c], al
mov eax, dword [esp + 0x7bc]
mov word [esi + 0x52d], ax
shr eax, 0x10
mov byte [esi + 0x52f], al
mov eax, dword [esp + 0x6f8]
mov dword [esi + 0x530], eax
mov al, byte [esp + 0x6d0]
mov byte [esi + 0x534], al
mov eax, dword [esp + 0x7c8]
mov word [esi + 0x535], ax
shr eax, 0x10
mov byte [esi + 0x537], al
mov eax, dword [esp + 0x704]
mov dword [esi + 0x538], eax
mov al, byte [esp + 0x6f]
mov byte [esi + 0x53c], al
mov eax, dword [esp + 0x7d0]
mov word [esi + 0x53d], ax
shr eax, 0x10
mov byte [esi + 0x53f], al
mov eax, dword [esp + 0x710]
mov dword [esi + 0x540], eax
mov al, byte [esp + 0x6e8]
mov byte [esi + 0x544], al
mov eax, dword [esp + 0x7d8]
mov word [esi + 0x545], ax
shr eax, 0x10
mov byte [esi + 0x547], al
mov eax, dword [esp + 0x718]
mov dword [esi + 0x548], eax
mov al, byte [esp + 0x70]
mov byte [esi + 0x54c], al
mov eax, dword [esp + 0x7e4]
mov word [esi + 0x54d], ax
shr eax, 0x10
mov byte [esi + 0x54f], al
mov eax, dword [esp + 0x720]
mov dword [esi + 0x550], eax
mov al, byte [esp + 0x6fc]
mov byte [esi + 0x554], al
mov eax, dword [esp + 0x7f0]
mov word [esi + 0x555], ax
shr eax, 0x10
mov byte [esi + 0x557], al
mov eax, dword [esp + 0x72c]
mov dword [esi + 0x558], eax
mov al, byte [esp + 0x71]
mov byte [esi + 0x55c], al
mov eax, dword [esp + 0x7f8]
mov word [esi + 0x55d], ax
shr eax, 0x10
mov byte [esi + 0x55f], al
mov eax, dword [esp + 0x734]
mov dword [esi + 0x560], eax
mov al, byte [esp + 0x72]
mov byte [esi + 0x564], al
mov eax, dword [esp + 0x800]
mov word [esi + 0x565], ax
shr eax, 0x10
mov byte [esi + 0x567], al
mov eax, dword [esp + 0x744]
mov dword [esi + 0x568], eax
mov al, byte [esp + 0x73]
mov byte [esi + 0x56c], al
mov eax, dword [esp + 0x80c]
mov word [esi + 0x56d], ax
shr eax, 0x10
mov byte [esi + 0x56f], al
mov eax, dword [esp + 0x750]
mov dword [esi + 0x570], eax
mov al, byte [esp + 0x74]
mov byte [esi + 0x574], al
mov eax, dword [esp + 0x818]
mov word [esi + 0x575], ax
shr eax, 0x10
mov byte [esi + 0x577], al
mov eax, dword [esp + 0x760]
mov dword [esi + 0x578], eax
mov al, byte [esp + 0x75]
mov byte [esi + 0x57c], al
mov eax, dword [esp + 0x81c]
mov word [esi + 0x57d], ax
shr eax, 0x10
mov byte [esi + 0x57f], al
mov eax, dword [esp + 0x76c]
mov dword [esi + 0x580], eax
mov al, byte [esp + 0x738]
mov byte [esi + 0x584], al
mov eax, dword [esp + 0x828]
mov word [esi + 0x585], ax
shr eax, 0x10
mov byte [esi + 0x587], al
mov eax, dword [esp + 0x778]
mov dword [esi + 0x588], eax
mov al, byte [esp + 0x748]
mov byte [esi + 0x58c], al
mov eax, dword [esp + 0x834]
mov word [esi + 0x58d], ax
shr eax, 0x10
mov byte [esi + 0x58f], al
mov eax, dword [esp + 0x788]
mov dword [esi + 0x590], eax
mov al, byte [esp + 0x758]
mov byte [esi + 0x594], al
mov eax, dword [esp + 0x83c]
mov word [esi + 0x595], ax
shr eax, 0x10
mov byte [esi + 0x597], al
mov eax, dword [esp + 0x794]
mov dword [esi + 0x598], eax
mov al, byte [esp + 0x764]
mov byte [esi + 0x59c], al
mov eax, dword [esp + 0x844]
mov word [esi + 0x59d], ax
shr eax, 0x10
mov byte [esi + 0x59f], al
mov eax, dword [esp + 0x7a0]
mov dword [esi + 0x5a0], eax
mov al, byte [esp + 0x770]
mov byte [esi + 0x5a4], al
mov eax, dword [esp + 0x84c]
mov word [esi + 0x5a5], ax
shr eax, 0x10
mov byte [esi + 0x5a7], al
mov eax, dword [esp + 0x7a8]
mov dword [esi + 0x5a8], eax
mov al, byte [esp + 0x780]
mov byte [esi + 0x5ac], al
mov eax, dword [esp + 0x854]
mov word [esi + 0x5ad], ax
shr eax, 0x10
mov byte [esi + 0x5af], al
mov eax, dword [esp + 0x7b4]
mov dword [esi + 0x5b0], eax
mov al, byte [esp + 0x78c]
mov byte [esi + 0x5b4], al
mov eax, dword [esp + 0x85c]
mov word [esi + 0x5b5], ax
shr eax, 0x10
mov byte [esi + 0x5b7], al
mov eax, dword [esp + 0x7c0]
mov dword [esi + 0x5b8], eax
mov al, byte [esp + 0x76]
mov byte [esi + 0x5bc], al
mov eax, dword [esp + 0x860]
mov word [esi + 0x5bd], ax
shr eax, 0x10
mov byte [esi + 0x5bf], al
mov eax, dword [esp + 0x7cc]
mov dword [esi + 0x5c0], eax
mov al, byte [esp + 0x77]
mov byte [esi + 0x5c4], al
mov eax, dword [esp + 0x868]
mov word [esi + 0x5c5], ax
shr eax, 0x10
mov byte [esi + 0x5c7], al
mov eax, dword [esp + 0x7dc]
mov dword [esi + 0x5c8], eax
mov al, byte [esp + 0x7ac]
mov byte [esi + 0x5cc], al
mov eax, dword [esp + 0x870]
mov word [esi + 0x5cd], ax
shr eax, 0x10
mov byte [esi + 0x5cf], al
mov eax, dword [esp + 0x7e8]
mov dword [esi + 0x5d0], eax
mov al, byte [esp + 0x78]
mov byte [esi + 0x5d4], al
mov eax, dword [esp + 0x874]
mov word [esi + 0x5d5], ax
shr eax, 0x10
mov byte [esi + 0x5d7], al
mov eax, dword [esp + 0x7f4]
mov dword [esi + 0x5d8], eax
mov al, byte [esp + 0x7c4]
mov byte [esi + 0x5dc], al
mov eax, dword [esp + 0x87c]
mov word [esi + 0x5dd], ax
shr eax, 0x10
mov byte [esi + 0x5df], al
mov eax, dword [esp + 0x804]
mov dword [esi + 0x5e0], eax
mov al, byte [esp + 0x7d4]
mov byte [esi + 0x5e4], al
mov eax, dword [esp + 0x880]
mov word [esi + 0x5e5], ax
shr eax, 0x10
mov byte [esi + 0x5e7], al
mov eax, dword [esp + 0x810]
mov dword [esi + 0x5e8], eax
mov al, byte [esp + 0x7e0]
mov byte [esi + 0x5ec], al
mov eax, dword [esp + 0x890]
mov word [esi + 0x5ed], ax
shr eax, 0x10
mov byte [esi + 0x5ef], al
mov eax, dword [esp + 0x820]
mov dword [esi + 0x5f0], eax
mov al, byte [esp + 0x7ec]
mov byte [esi + 0x5f4], al
mov eax, dword [esp + 0x89c]
mov word [esi + 0x5f5], ax
shr eax, 0x10
mov byte [esi + 0x5f7], al
mov eax, dword [esp + 0x82c]
mov dword [esi + 0x5f8], eax
mov al, byte [esp + 0x7fc]
mov byte [esi + 0x5fc], al
mov eax, dword [esp + 0x8a8]
mov word [esi + 0x5fd], ax
shr eax, 0x10
mov byte [esi + 0x5ff], al
mov eax, dword [esp + 0x838]
mov dword [esi + 0x600], eax
mov al, byte [esp + 0x808]
mov byte [esi + 0x604], al
mov eax, dword [esp + 0x8ac]
mov word [esi + 0x605], ax
shr eax, 0x10
mov byte [esi + 0x607], al
mov eax, dword [esp + 0x848]
mov dword [esi + 0x608], eax
mov al, byte [esp + 0x814]
mov byte [esi + 0x60c], al
mov eax, dword [esp + 0x8b8]
mov word [esi + 0x60d], ax
shr eax, 0x10
mov byte [esi + 0x60f], al
mov eax, dword [esp + 0x850]
mov dword [esi + 0x610], eax
mov al, byte [esp + 0x824]
mov byte [esi + 0x614], al
mov eax, dword [esp + 0x8c0]
mov word [esi + 0x615], ax
shr eax, 0x10
mov byte [esi + 0x617], al
mov eax, dword [esp + 0x858]
mov dword [esi + 0x618], eax
mov al, byte [esp + 0x830]
mov byte [esi + 0x61c], al
mov eax, dword [esp + 0x8c8]
mov word [esi + 0x61d], ax
shr eax, 0x10
mov byte [esi + 0x61f], al
mov eax, dword [esp + 0x864]
mov dword [esi + 0x620], eax
mov al, byte [esp + 0x840]
mov byte [esi + 0x624], al
mov eax, dword [esp + 0x8cc]
mov word [esi + 0x625], ax
shr eax, 0x10
mov byte [esi + 0x627], al
mov eax, dword [esp + 0x86c]
mov dword [esi + 0x628], eax
mov al, byte [esp + 0x79]
mov byte [esi + 0x62c], al
mov eax, dword [esp + 0x8d4]
mov word [esi + 0x62d], ax
shr eax, 0x10
mov byte [esi + 0x62f], al
mov eax, dword [esp + 0x878]
mov dword [esi + 0x630], eax
mov al, byte [esp + 0x7a]
mov byte [esi + 0x634], al
mov eax, dword [esp + 0x8dc]
mov word [esi + 0x635], ax
shr eax, 0x10
mov byte [esi + 0x637], al
mov eax, dword [esp + 0x884]
mov dword [esi + 0x638], eax
mov al, byte [esp + 0x7b]
mov byte [esi + 0x63c], al
mov eax, dword [esp + 0x8e4]
mov word [esi + 0x63d], ax
shr eax, 0x10
mov byte [esi + 0x63f], al
mov eax, dword [esp + 0x894]
mov dword [esi + 0x640], eax
mov al, byte [esp + 0x7c]
mov byte [esi + 0x644], al
mov eax, dword [esp + 0x8e8]
mov word [esi + 0x645], ax
shr eax, 0x10
mov byte [esi + 0x647], al
mov eax, dword [esp + 0x8a0]
mov dword [esi + 0x648], eax
mov al, byte [esp + 0x7d]
mov byte [esi + 0x64c], al
mov eax, dword [esp + 0x8f0]
mov word [esi + 0x64d], ax
shr eax, 0x10
mov byte [esi + 0x64f], al
mov eax, dword [esp + 0x8b0]
mov dword [esi + 0x650], eax
mov al, byte [esp + 0x7e]
mov byte [esi + 0x654], al
mov eax, dword [esp + 0x900]
mov word [esi + 0x655], ax
shr eax, 0x10
mov byte [esi + 0x657], al
mov eax, dword [esp + 0x8bc]
mov dword [esi + 0x658], eax
mov al, byte [esp + 0x888]
mov byte [esi + 0x65c], al
mov eax, dword [esp + 0x904]
mov word [esi + 0x65d], ax
shr eax, 0x10
mov byte [esi + 0x65f], al
mov eax, dword [esp + 0x8c4]
mov dword [esi + 0x660], eax
mov al, byte [esp + 0x898]
mov byte [esi + 0x664], al
mov eax, dword [esp + 0x908]
mov word [esi + 0x665], ax
shr eax, 0x10
mov byte [esi + 0x667], al
mov eax, dword [esp + 0x8d0]
mov dword [esi + 0x668], eax
mov al, byte [esp + 0x8a4]
mov byte [esi + 0x66c], al
mov eax, dword [esp + 0x90c]
mov word [esi + 0x66d], ax
shr eax, 0x10
mov byte [esi + 0x66f], al
mov eax, dword [esp + 0x8d8]
mov dword [esi + 0x670], eax
mov al, byte [esp + 0x8b4]
mov byte [esi + 0x674], al
mov eax, dword [esp + 0x910]
mov word [esi + 0x675], ax
shr eax, 0x10
mov byte [esi + 0x677], al
mov eax, dword [esp + 0x8e0]
mov dword [esi + 0x678], eax
mov al, byte [esp + 0x37]
mov byte [esi + 0x67c], al
mov eax, dword [esp + 0x914]
mov word [esi + 0x67d], ax
shr eax, 0x10
mov byte [esi + 0x67f], al
mov eax, dword [esp + 0x8ec]
mov dword [esi + 0x680], eax
mov al, byte [esp + 0x544]
mov byte [esi + 0x684], al
mov eax, dword [esp + 0x528]
mov word [esi + 0x685], ax
shr eax, 0x10
mov byte [esi + 0x687], al
mov eax, dword [esp + 0x8f4]
mov dword [esi + 0x688], eax
mov eax, dword [esp + 0x88c]
mov dword [esi + 0x68c], eax
mov eax, dword [esp + 0x8fc]
mov dword [esi + 0x690], eax
mov eax, dword [esp + 0x540]
mov dword [esi + 0x694], eax
mov eax, dword [esp + 0x8f8]
mov dword [esi + 0x698], eax
mov eax, dword [esp + 0xcc]
mov dword [esi + 0x69c], eax
mov eax, dword [esp + 0x550]
mov byte [esi + 0x6a0], al
mov eax, dword [esp + 0x55c]
mov word [esi + 0x6a1], ax
shr eax, 0x10
mov byte [esi + 0x6a3], al
mov eax, dword [esp + 0x530]
mov dword [esi + 0x6a4], eax
mov eax, esi
add eax, 0x6a8
push ecx
lea ecx, [esp + 0x19ec]
push ecx
push eax
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x954]
mov dword [esi + 0x934], eax
mov byte [esi + 0x938], 0
mov eax, dword [esp + 0x12c0]
mov ecx, dword [esp + 0x12c3]
mov dword [esi + 0x939], eax
mov dword [esi + 0x93c], ecx
mov ecx, dword [esp + 0x938]
mov dword [ecx + 4], esi
mov dword [ecx + 8], 0x768b94
mov dword [ecx], 2
cmp byte [esp + 0x950], 2
je 0x514f31
mov eax, dword [esp + 0x948]
lock dec dword [eax]
jne 0x514f31
lea ecx, [esp + 0x948]
call fcn.00568449
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [esp + 0x37]
test al, 1
jne 0x5184e8
mov eax, dword [esp + 0x540]
mov dword [esp + 0x528], esi
mov al, byte [eax + 0x3e]
mov dword [esp + 0x14d0], 4
cmp al, 2
sete cl
or cl, al
mov byte [esp + 0xcc], cl
mov ecx, 0xa
mov dword [esp + 0x1010], ecx
mov dword [esp + 0x1014], ecx
xor ecx, ecx
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x1018], 0x64
mov dword [esp + 0x101c], 0xfa
mov byte [esp + 0x1020], 1
mov dword [esp + 0x14d4], ecx
mov dword [esp + 0x14d8], ecx
je 0x515094
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x1618]
lea ebx, [eax*4]
mov ecx, esi
lea edx, [esp + 0x1010]
push dword [edi]
call fcn.0054d66c
add esp, 4
mov eax, dword [esp + 0x1618]
test eax, eax
je 0x51505c
mov ecx, dword [esp + 0x1620]
xor edx, edx
mov dword [esp + 0x1620], edx
mov dword [esp + 0x97c], ecx
shl ecx, 4
mov dword [esp + 0x980], edx
mov dword [esp + 0x970], eax
add ecx, eax
cmp dword [esp + 0x14d0], edx
mov dword [esp + 0x974], ecx
mov dword [esp + 0x978], esi
je 0x515075
lea esi, [esp + 0x14d0]
lea edx, [esp + 0x970]
mov ecx, esi
call fcn.0053acd5
cmp dword [esp + 0x14d0], 0
je 0x515053
mov ecx, esi
call fcn.0053aea8
lea esi, [esp + 0x1618]
jmp 0x515081
lea ecx, [esp + 0x14d0]
call fcn.0051e80c
mov dword [esp + 0x14d0], 0
jmp 0x515081
lea ecx, [esp + 0x970]
call fcn.0053adbd
mov ecx, esi
add edi, 4
call fcn.0051e80c
add ebx, 0xfffffffc
jne 0x514fce
test byte [esp + 0xcc], 1
je 0x51892d
lea ecx, [esp + 0x14d0]
xor edx, edx
call fcn.0054ec24
jmp 0x51894e
mov eax, dword [esp + 0x540]
mov dword [esp + 0x4fc], esi
mov eax, dword [eax + 0x54]
test byte [eax + 0x1c], 1
jne 0x518574
mov eax, dword [esp + 0x524]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x54c], 0
xor eax, 2
or eax, dword [esp + 0x52c]
jne 0x518ada
cmp byte [esp + 0x550], 0
jne 0x518ada
mov al, byte [esp + 0xc8]
mov dword [esp + 0x54], ebx
mov bl, byte [esp + 0x27c]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x2a0]
mov dword [esp + 0x538], 2
mov dword [esp + 0x534], 0
mov byte [esp + 0x548], al
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x4f8], eax
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x504], eax
mov al, byte [esp + 0x4ec]
mov byte [esp + 0xc8], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x490]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4f4], eax
mov al, byte [esp + 0x1a]
mov byte [esp + 0x4ec], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4e8]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x80]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x19]
mov byte [esp + 0x4e8], al
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x458]
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x454]
mov byte [esp + 0x458], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x48c], eax
mov al, byte [esp + 0x43c]
mov byte [esp + 0x454], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x480], eax
mov al, byte [esp + 0x444]
mov byte [esp + 0x43c], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], eax
mov al, byte [esp + 0x434]
mov byte [esp + 0x444], al
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x478], eax
mov al, byte [esp + 0x430]
mov byte [esp + 0x434], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x464], eax
mov al, byte [esp + 0x41c]
mov byte [esp + 0x430], al
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x460], eax
mov al, byte [esp + 0x40c]
mov byte [esp + 0x41c], al
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0x44c], eax
mov al, byte [esp + 0x400]
mov byte [esp + 0x40c], al
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x4fc]
mov dword [esp + 0x448], eax
mov al, byte [esp + 0x3fc]
mov byte [esp + 0x400], al
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x4fc], eax
mov al, byte [esp + 0x3e0]
mov byte [esp + 0x3fc], al
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x3dc]
mov byte [esp + 0x3e0], al
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x428], eax
mov al, byte [esp + 0x3cc]
mov byte [esp + 0x3dc], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x418], eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x3cc], al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x408], eax
mov al, byte [esp + 0x3b0]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x404], eax
mov al, byte [esp + 0x3ac]
mov byte [esp + 0x3b0], al
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov al, byte [esp + 0x394]
mov byte [esp + 0x3ac], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3ec], eax
mov al, byte [esp + 0x388]
mov byte [esp + 0x394], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], eax
mov al, byte [esp + 0x37c]
mov byte [esp + 0x388], al
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3c8], eax
mov al, byte [esp + 0x378]
mov byte [esp + 0x37c], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4e4], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3bc], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x378], al
mov eax, dword [esp + 0x4dc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b8], eax
mov al, byte [esp + 0x16]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x4e0], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x15]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x4d4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x380], eax
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4d8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x4d0]
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x36c], eax
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x4d0], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x368], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x4c4]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x354], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x350], eax
mov al, byte [esp + 0xe]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x348], eax
mov al, byte [esp + 0xd]
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x4b8]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x344], eax
mov al, byte [esp + 0xc]
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x334], eax
mov al, byte [esp + 0x2f0]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x328], eax
mov al, byte [esp + 0x2e8]
mov byte [esp + 0x2f0], al
mov eax, dword [esp + 0x4b0]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x31c], eax
mov al, byte [esp + 0x2d4]
mov byte [esp + 0x2e8], al
mov eax, dword [esp + 0x4a4]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x318], eax
mov al, byte [esp + 0x2d0]
mov byte [esp + 0x2d4], al
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x30c], eax
mov al, byte [esp + 0x2bc]
mov byte [esp + 0x2d0], al
mov eax, dword [esp + 0x4a0]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x308], eax
mov al, byte [esp + 0x2b4]
mov byte [esp + 0x2bc], al
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 0x2a4]
mov byte [esp + 0x2b4], al
mov eax, dword [esp + 0x494]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2ec], eax
mov al, byte [esp + 0x29c]
mov byte [esp + 0x2a4], al
mov eax, dword [esp + 0x498]
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2e0], eax
mov al, byte [esp + 0x28c]
mov byte [esp + 0x29c], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2d8], eax
mov al, byte [esp + 0x288]
mov byte [esp + 0x28c], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2c0], edi
mov edi, dword [esp + 0x294]
mov dword [esp + 0x2c4], eax
mov al, byte [esp + 0x278]
mov byte [esp + 0x278], bl
mov ebx, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x490], edx
mov edx, dword [esp + 0x2a8]
mov dword [esp + 0x2a8], edi
mov edi, dword [esp + 0x488]
mov byte [esp + 0x288], al
mov al, byte [esp + 0x268]
mov dword [esp + 0x2a0], edx
mov dl, byte [esp + 0x26c]
mov byte [esp + 0x26c], al
mov al, byte [esp + 0x260]
mov byte [esp + 0x27c], dl
mov edx, dword [esp + 0x484]
mov dword [esp + 0x484], edi
mov edi, dword [esp + 0x290]
mov byte [esp + 0x268], al
mov al, byte [esp + 0x258]
mov dword [esp + 0x294], edi
mov edi, dword [esp + 0x47c]
mov byte [esp + 0x260], al
mov al, byte [esp + 0x24c]
mov dword [esp + 0x488], edi
mov edi, dword [esp + 0x284]
mov byte [esp + 0x258], al
mov al, byte [esp + 0x248]
mov dword [esp + 0x290], edi
mov edi, dword [esp + 0x474]
mov byte [esp + 0x24c], al
mov al, byte [esp + 0x23c]
mov dword [esp + 0x47c], edi
mov edi, dword [esp + 0x280]
mov byte [esp + 0x248], al
mov eax, dword [esp + 0x264]
mov dword [esp + 0x284], edi
mov edi, dword [esp + 0x468]
mov dword [esp + 0x474], edi
mov edi, dword [esp + 0x274]
mov dword [esp + 0x280], edi
mov edi, dword [esp + 0x46c]
mov dword [esp + 0x468], edi
mov edi, dword [esp + 0x270]
mov dword [esp + 0x270], eax
mov al, byte [esp + 0x238]
mov byte [esp + 0x23c], al
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x274], edi
mov edi, dword [esp + 0x45c]
mov dword [esp + 0x45c], ecx
mov ecx, dword [esp + 0x450]
mov dword [esp + 0x264], eax
mov al, byte [esp + 0x22c]
mov dword [esp + 0x46c], edi
mov edi, dword [esp + 0x438]
mov dword [esp + 0x500], ecx
mov ecx, dword [esp + 0x520]
mov byte [esp + 0x238], al
mov eax, dword [esp + 0x254]
mov dword [esp + 0x50c], edi
mov edi, dword [esp + 0x42c]
mov dword [esp + 0x450], ecx
mov ecx, dword [esp + 0x440]
mov dword [esp + 0x440], ebx
mov ebx, dword [esp + 0x508]
mov dword [esp + 0x25c], eax
mov al, byte [esp + 0x224]
mov dword [esp + 0x438], edi
mov edi, dword [esp + 0x424]
mov byte [esp + 0x22c], al
mov eax, dword [esp + 0x250]
mov dword [esp + 0x42c], edi
mov edi, dword [esp + 0x420]
mov dword [esp + 0x254], eax
mov al, byte [esp + 0x21c]
mov dword [esp + 0x424], edi
mov edi, dword [esp + 0x414]
mov byte [esp + 0x224], al
mov eax, dword [esp + 0x244]
mov dword [esp + 0x420], edi
mov edi, dword [esp + 0x410]
mov dword [esp + 0x250], eax
mov al, byte [esp + 0x218]
mov dword [esp + 0x414], edi
mov edi, dword [esp + 0x3f4]
mov byte [esp + 0x21c], al
mov eax, dword [esp + 0x240]
mov dword [esp + 0x410], edi
mov edi, dword [esp + 0x3f8]
mov dword [esp + 0x244], eax
mov al, byte [esp + 0x20c]
mov dword [esp + 0x3f4], edi
mov edi, dword [esp + 0x3e8]
mov byte [esp + 0x218], al
mov eax, dword [esp + 0x234]
mov dword [esp + 0x3f8], edi
mov edi, dword [esp + 0x3e4]
mov dword [esp + 0x240], eax
mov al, byte [esp + 0x208]
mov dword [esp + 0x3e8], edi
mov edi, dword [esp + 0x3d4]
mov byte [esp + 0x20c], al
mov eax, dword [esp + 0x230]
mov dword [esp + 0x3e4], edi
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x234], eax
mov al, byte [esp + 0x1fc]
mov dword [esp + 0x3d4], edi
mov edi, dword [esp + 0x3c0]
mov byte [esp + 0x208], al
mov eax, dword [esp + 0x228]
mov dword [esp + 0x3d0], edi
mov edi, dword [esp + 0x3c4]
mov dword [esp + 0x230], eax
mov al, byte [esp + 0xb]
mov dword [esp + 0x3c0], edi
mov edi, dword [esp + 0x3b4]
mov byte [esp + 0x1fc], al
mov eax, dword [esp + 0x220]
mov dword [esp + 0x3c4], edi
mov edi, dword [esp + 0x3a8]
mov dword [esp + 0x228], eax
mov al, byte [esp + 0xa]
mov dword [esp + 0x3b4], edi
mov edi, dword [esp + 0x398]
mov byte [esp + 0xb], al
mov eax, dword [esp + 0x214]
mov dword [esp + 0x3a8], edi
mov edi, dword [esp + 0x39c]
mov dword [esp + 0x220], eax
mov al, byte [esp + 0x1f0]
mov dword [esp + 0x398], edi
mov edi, dword [esp + 0x390]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x210]
mov dword [esp + 0x39c], edi
mov edi, dword [esp + 0x38c]
mov dword [esp + 0x214], eax
mov al, byte [esp + 8]
mov dword [esp + 0x390], edi
mov edi, dword [esp + 0x374]
mov byte [esp + 0x1f0], al
mov eax, dword [esp + 0x200]
mov dword [esp + 0x38c], edi
mov edi, dword [esp + 0x370]
mov dword [esp + 0x210], eax
mov al, byte [esp + 9]
mov dword [esp + 0x374], edi
mov edi, dword [esp + 0x360]
mov byte [esp + 8], al
mov eax, dword [esp + 0x204]
mov dword [esp + 0x370], edi
mov edi, dword [esp + 0x364]
mov dword [esp + 0x200], eax
mov al, byte [esp + 0x1dc]
mov dword [esp + 0x360], edi
mov edi, dword [esp + 0x35c]
mov byte [esp + 9], al
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x364], edi
mov edi, dword [esp + 0x358]
mov dword [esp + 0x204], eax
mov al, byte [esp + 7]
mov dword [esp + 0x35c], edi
mov edi, dword [esp + 0x340]
mov byte [esp + 0x1dc], al
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x358], edi
mov edi, dword [esp + 0x34c]
mov dword [esp + 0x1f8], eax
mov al, byte [esp + 6]
mov dword [esp + 0x340], edi
mov edi, dword [esp + 0x33c]
mov byte [esp + 7], al
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x34c], edi
mov edi, dword [esp + 0x338]
mov dword [esp + 0x1f4], eax
mov al, byte [esp + 5]
mov dword [esp + 0x33c], edi
mov edi, dword [esp + 0x330]
mov byte [esp + 6], al
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x338], edi
mov edi, dword [esp + 0x32c]
mov dword [esp + 0x1ec], eax
mov al, byte [esp + 0x1c8]
mov dword [esp + 0x330], edi
mov edi, dword [esp + 0x320]
mov byte [esp + 5], al
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x32c], edi
mov edi, dword [esp + 0x324]
mov dword [esp + 0x1e8], eax
mov al, byte [esp + 0x1c4]
mov dword [esp + 0x320], edi
mov edi, dword [esp + 0x314]
mov byte [esp + 0x1c8], al
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x324], edi
mov edi, dword [esp + 0x310]
mov dword [esp + 0x1e4], eax
mov al, byte [esp + 0x1b8]
mov dword [esp + 0x314], edi
mov edi, dword [esp + 0x300]
mov byte [esp + 0x1c4], al
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x310], edi
mov edi, dword [esp + 0x304]
mov dword [esp + 0x1e0], eax
mov al, byte [esp + 0x1b4]
mov dword [esp + 0x300], edi
mov edi, dword [esp + 0x2fc]
mov byte [esp + 0x1b8], al
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x304], edi
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x1d8], eax
mov al, byte [esp + 0x1ac]
mov dword [esp + 0x2fc], edi
mov edi, dword [esp + 0x2e4]
mov byte [esp + 0x1b4], al
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x2f4], edi
mov edi, dword [esp + 0x2dc]
mov dword [esp + 0x1d4], eax
mov al, byte [esp + 0x1a4]
mov dword [esp + 0x2e4], edi
mov edi, dword [esp + 0x2cc]
mov byte [esp + 0x1ac], al
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x2dc], edi
mov edi, dword [esp + 0x2c8]
mov dword [esp + 0x1d0], eax
mov al, byte [esp + 0x198]
mov dword [esp + 0x2cc], edi
mov edi, dword [esp + 0x2b8]
mov byte [esp + 0x1a4], al
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x2c8], edi
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x1cc], eax
mov al, byte [esp + 0x194]
mov dword [esp + 0x2b8], edi
mov edi, dword [esp + 0x2ac]
mov byte [esp + 0x198], al
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x2b0], edi
mov edi, dword [esp + 0x298]
mov dword [esp + 0x1c0], eax
mov al, byte [esp + 0x188]
mov dword [esp + 0x2ac], edi
mov byte [esp + 0x194], al
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1bc], eax
mov al, byte [esp + 0x184]
mov byte [esp + 0x188], al
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1b0], eax
mov al, byte [esp + 0x178]
mov byte [esp + 0x184], al
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x1a8], eax
mov al, byte [esp + 0x174]
mov byte [esp + 0x178], al
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x1a0], eax
mov al, byte [esp + 0x168]
mov byte [esp + 0x174], al
mov eax, dword [esp + 0x190]
mov dword [esp + 0x19c], eax
mov al, byte [esp + 0x164]
mov byte [esp + 0x168], al
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x190], eax
mov al, byte [esp + 0x154]
mov byte [esp + 0x164], al
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x18c], eax
mov al, byte [esp + 0x158]
mov byte [esp + 0x154], al
mov eax, dword [esp + 0x180]
mov dword [esp + 0x17c], eax
mov al, byte [esp + 0x148]
mov byte [esp + 0x158], al
mov eax, dword [esp + 0x170]
mov dword [esp + 0x180], eax
mov al, byte [esp + 0x144]
mov byte [esp + 0x148], al
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x170], eax
mov al, byte [esp + 0x13c]
mov byte [esp + 0x144], al
mov eax, dword [esp + 0x160]
mov dword [esp + 0x16c], eax
mov al, byte [esp + 0x134]
mov byte [esp + 0x13c], al
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x160], eax
mov al, byte [esp + 0x128]
mov byte [esp + 0x134], al
mov eax, dword [esp + 0x150]
mov dword [esp + 0x15c], eax
mov al, byte [esp + 0x124]
mov byte [esp + 0x128], al
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x150], eax
mov al, byte [esp + 0x118]
mov byte [esp + 0x124], al
mov eax, dword [esp + 0x140]
mov dword [esp + 0x14c], eax
mov al, byte [esp + 0x114]
mov byte [esp + 0x118], al
mov eax, dword [esp + 0x138]
mov dword [esp + 0x140], eax
mov al, byte [esp + 0x10c]
mov byte [esp + 0x114], al
mov eax, dword [esp + 0x130]
mov dword [esp + 0x138], eax
mov al, byte [esp + 0x104]
mov byte [esp + 0x10c], al
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x130], eax
mov al, byte [esp + 0xfc]
mov byte [esp + 0x104], al
mov eax, dword [esp + 0x120]
mov dword [esp + 0x12c], eax
mov al, byte [esp + 0xf8]
mov byte [esp + 0xfc], al
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x120], eax
mov al, byte [esp + 0xf4]
mov byte [esp + 0xf8], al
mov eax, dword [esp + 0x110]
mov dword [esp + 0x11c], eax
mov al, byte [esp + 0xf0]
mov byte [esp + 0xf4], al
mov eax, dword [esp + 0x108]
mov dword [esp + 0x110], eax
mov al, byte [esp + 0xe8]
mov byte [esp + 0xf0], al
mov eax, dword [esp + 0x100]
mov dword [esp + 0x108], eax
mov al, byte [esp + 0xe0]
mov byte [esp + 0xe8], al
mov eax, dword [esp + 0x510]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x554], eax
mov al, byte [esp + 4]
mov byte [esp + 0xe0], al
mov eax, dword [esp + 0xec]
mov dword [esp + 0x4f0], eax
mov al, byte [esp + 3]
mov byte [esp + 4], al
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xec], eax
mov al, byte [esp + 0xd4]
mov byte [esp + 3], al
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe4], eax
mov al, byte [esp + 0xd0]
mov byte [esp + 0xd4], al
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x518]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x514]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0x53c]
mov byte [esp + 0x544], al
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x530], eax
mov eax, dword [esp + 0x51c]
mov dword [esp + 0xcc], eax
jmp 0x510188
movzx eax, byte [esp + 0x97f]
mov dword [esp + 0x300], ecx
movzx ecx, word [esp + 0x97d]
mov edi, dword [esp + 0x978]
mov ebx, dword [esp + 0x980]
mov dl, byte [esp + 0x97c]
shl eax, 0x10
mov dword [esp + 0x1b8], edi
mov edi, dword [esp + 0x988]
mov dword [esp + 0x1c4], ebx
mov ebx, dword [esp + 0x990]
mov byte [esp + 0x7a], dl
mov dl, byte [esp + 0x98c]
or ecx, eax
movzx eax, byte [esp + 0x987]
mov dword [esp + 0xd0], ecx
movzx ecx, word [esp + 0x985]
mov dword [esp + 0x1cc], edi
mov edi, dword [esp + 0x998]
mov dword [esp + 0x1d0], ebx
mov ebx, dword [esp + 0x9a0]
mov byte [esp + 0x7b], dl
mov dl, byte [esp + 0x99c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x98f]
mov dword [esp + 0xd8], ecx
movzx ecx, word [esp + 0x98d]
mov dword [esp + 0x1d4], edi
mov edi, dword [esp + 0x9a8]
mov dword [esp + 0x1d8], ebx
mov ebx, dword [esp + 0x9b0]
mov byte [esp + 0x864], dl
mov dl, byte [esp + 0x9ac]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x997]
mov dword [esp + 0xe0], ecx
movzx ecx, word [esp + 0x995]
mov dword [esp + 0x1dc], edi
mov edi, dword [esp + 0x9b8]
mov dword [esp + 0x1e4], ebx
mov ebx, dword [esp + 0x9c0]
mov byte [esp + 0x868], dl
mov dl, byte [esp + 0x9bc]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x99f]
mov dword [esp + 0x1f0], edi
mov edi, dword [esp + 0x9c8]
mov dword [esp + 0x1fc], ebx
mov ebx, dword [esp + 0x9d0]
mov byte [esp + 0x870], dl
mov dl, byte [esp + 0x9cc]
mov dword [esp + 0xe4], ecx
movzx ecx, word [esp + 0x99d]
shl eax, 0x10
mov dword [esp + 0x20c], edi
mov edi, dword [esp + 0x9d8]
mov dword [esp + 0x218], ebx
mov ebx, dword [esp + 0x9e0]
mov byte [esp + 0x874], dl
mov dl, byte [esp + 0x9dc]
or ecx, eax
movzx eax, byte [esp + 0x9a7]
mov dword [esp + 0xec], ecx
movzx ecx, word [esp + 0x9a5]
mov dword [esp + 0x228], edi
mov edi, dword [esp + 0x9e8]
mov dword [esp + 0x238], ebx
mov ebx, dword [esp + 0x9f0]
mov byte [esp + 0x7e], dl
mov dl, byte [esp + 0x9ec]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9af]
mov dword [esp + 0xf4], ecx
movzx ecx, word [esp + 0x9ad]
mov dword [esp + 0x248], edi
mov edi, dword [esp + 0x9f8]
mov dword [esp + 0x250], ebx
mov ebx, dword [esp + 0xa00]
mov byte [esp + 0x884], dl
mov dl, byte [esp + 0x9fc]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9b7]
mov dword [esp + 0xf8], ecx
movzx ecx, word [esp + 0x9b5]
mov dword [esp + 0x25c], edi
mov edi, dword [esp + 0xa08]
mov dword [esp + 0x264], ebx
mov ebx, dword [esp + 0xa10]
mov byte [esp + 0x89c], dl
mov dl, byte [esp + 0xa0c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9bf]
mov dword [esp + 0x26c], edi
mov edi, dword [esp + 0xa18]
mov dword [esp + 0x274], ebx
mov ebx, dword [esp + 0xa20]
mov byte [esp + 0x8bc], dl
mov dl, byte [esp + 0xa1c]
mov dword [esp + 0x100], ecx
movzx ecx, word [esp + 0x9bd]
shl eax, 0x10
mov dword [esp + 0x280], edi
mov edi, dword [esp + 0xa28]
mov dword [esp + 0x288], ebx
mov ebx, dword [esp + 0xa30]
mov byte [esp + 0x8c8], dl
mov dl, byte [esp + 0xa2c]
or ecx, eax
movzx eax, byte [esp + 0x9c7]
mov dword [esp + 0x108], ecx
movzx ecx, word [esp + 0x9c5]
mov dword [esp + 0x290], edi
mov edi, dword [esp + 0xa38]
mov dword [esp + 0x298], ebx
mov ebx, dword [esp + 0xa40]
mov byte [esp + 0x8d4], dl
mov dl, byte [esp + 0xa3c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9cf]
mov dword [esp + 0x10c], ecx
movzx ecx, word [esp + 0x9cd]
mov dword [esp + 0x2a0], edi
mov edi, dword [esp + 0xa48]
mov dword [esp + 0x2a8], ebx
mov ebx, dword [esp + 0xa50]
mov byte [esp + 0x8f4], dl
mov dl, byte [esp + 0xa4c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9d7]
mov dword [esp + 0x114], ecx
movzx ecx, word [esp + 0x9d5]
mov dword [esp + 0x2b4], edi
mov edi, dword [esp + 0xa58]
mov dword [esp + 0x2bc], ebx
mov ebx, dword [esp + 0xa60]
mov byte [esp + 0x8fc], dl
mov dl, byte [esp + 0xa5c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9df]
mov dword [esp + 0x2c4], edi
mov edi, dword [esp + 0xa68]
mov dword [esp + 0x2c8], ebx
mov ebx, dword [esp + 0xa70]
mov byte [esp + 5], dl
mov dl, byte [esp + 0xa6c]
mov dword [esp + 0x11c], ecx
movzx ecx, word [esp + 0x9dd]
shl eax, 0x10
mov dword [esp + 0x2d0], edi
mov edi, dword [esp + 0xa78]
mov dword [esp + 0x2d8], ebx
mov ebx, dword [esp + 0xa80]
mov byte [esp + 7], dl
mov dl, byte [esp + 0xa7c]
or ecx, eax
movzx eax, byte [esp + 0x9e7]
mov dword [esp + 0x120], ecx
movzx ecx, word [esp + 0x9e5]
mov dword [esp + 0x2dc], edi
mov edi, dword [esp + 0xa88]
mov dword [esp + 0x2e4], ebx
mov ebx, dword [esp + 0xa90]
mov byte [esp + 0xa], dl
mov dl, byte [esp + 0xa8c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9ef]
mov dword [esp + 0x128], ecx
movzx ecx, word [esp + 0x9ed]
mov dword [esp + 0x2f0], edi
mov edi, dword [esp + 0xa98]
mov dword [esp + 0x2fc], ebx
mov ebx, dword [esp + 0xaa0]
mov byte [esp + 0xb], dl
mov dl, byte [esp + 0xa9c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9f7]
mov dword [esp + 0x130], ecx
movzx ecx, word [esp + 0x9f5]
mov dword [esp + 0x2f4], edi
mov edi, dword [esp + 0xaa8]
mov dword [esp + 0x2f8], ebx
mov ebx, dword [esp + 0xab0]
mov byte [esp + 0x1ec], dl
mov dl, byte [esp + 0xaac]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9ff]
mov dword [esp + 0x2ec], edi
mov edi, dword [esp + 0xab8]
mov dword [esp + 0x2e8], ebx
mov ebx, dword [esp + 0xac0]
mov byte [esp + 0x914], dl
mov dl, byte [esp + 0xabc]
mov dword [esp + 0x138], ecx
movzx ecx, word [esp + 0x9fd]
shl eax, 0x10
mov dword [esp + 0x2e0], edi
mov edi, dword [esp + 0xac8]
mov dword [esp + 0x2d4], ebx
mov ebx, dword [esp + 0xad0]
mov byte [esp + 0x91c], dl
mov dl, byte [esp + 0xacc]
or ecx, eax
movzx eax, byte [esp + 0xa07]
mov dword [esp + 0x13c], ecx
movzx ecx, word [esp + 0xa05]
mov dword [esp + 0x2cc], edi
mov edi, dword [esp + 0xad8]
mov dword [esp + 0x2c0], ebx
mov ebx, dword [esp + 0xae0]
mov byte [esp + 0x55c], dl
mov dl, byte [esp + 0xadc]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa0f]
mov dword [esp + 0x144], ecx
movzx ecx, word [esp + 0xa0d]
mov dword [esp + 0x2b8], edi
mov edi, dword [esp + 0xae8]
mov dword [esp + 0x2b0], ebx
mov ebx, dword [esp + 0xaf0]
mov byte [esp + 0x52c], dl
mov dl, byte [esp + 0xaec]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa17]
mov dword [esp + 0x14c], ecx
movzx ecx, word [esp + 0xa15]
mov dword [esp + 0x2ac], edi
mov edi, dword [esp + 0xaf8]
mov dword [esp + 0x2a4], ebx
mov ebx, dword [esp + 0xb00]
mov byte [esp + 0x54c], dl
mov dl, byte [esp + 0xafc]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa1f]
mov dword [esp + 0x29c], edi
mov edi, dword [esp + 0xb08]
mov dword [esp + 0x294], ebx
mov ebx, dword [esp + 0xb10]
mov byte [esp + 0x550], dl
mov dl, byte [esp + 0xb0c]
mov dword [esp + 0x154], ecx
movzx ecx, word [esp + 0xa1d]
shl eax, 0x10
mov dword [esp + 0x28c], edi
mov edi, dword [esp + 0xb18]
mov dword [esp + 0x284], ebx
mov ebx, dword [esp + 0xb20]
mov byte [esp + 0x4f0], dl
mov dl, byte [esp + 0xb1c]
or ecx, eax
movzx eax, byte [esp + 0xa27]
mov dword [esp + 0x158], ecx
movzx ecx, word [esp + 0xa25]
mov dword [esp + 0x27c], edi
mov edi, dword [esp + 0xb28]
mov dword [esp + 0x278], ebx
mov ebx, dword [esp + 0xb30]
mov byte [esp + 0x50c], dl
mov dl, byte [esp + 0xb2c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa2f]
mov dword [esp + 0x160], ecx
movzx ecx, word [esp + 0xa2d]
mov dword [esp + 0x270], edi
mov edi, dword [esp + 0xb38]
mov dword [esp + 0x268], ebx
mov ebx, dword [esp + 0xb40]
mov byte [esp + 0xcc], dl
mov dl, byte [esp + 0xb3c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa37]
mov dword [esp + 0x168], ecx
movzx ecx, word [esp + 0xa35]
mov dword [esp + 0x260], edi
mov edi, dword [esp + 0xb48]
mov dword [esp + 0x258], ebx
mov ebx, dword [esp + 0xb50]
mov byte [esp + 0x514], dl
mov dl, byte [esp + 0xb4c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa3f]
mov dword [esp + 0x254], edi
mov edi, dword [esp + 0xb58]
mov dword [esp + 0x24c], ebx
mov ebx, dword [esp + 0xb60]
mov byte [esp + 0x500], dl
mov dl, byte [esp + 0xb5c]
mov dword [esp + 0x16c], ecx
movzx ecx, word [esp + 0xa3d]
shl eax, 0x10
mov dword [esp + 0x244], edi
mov edi, dword [esp + 0xb68]
mov dword [esp + 0x234], ebx
mov ebx, dword [esp + 0xb70]
mov byte [esp + 0x1a], dl
mov dl, byte [esp + 0xb6c]
or ecx, eax
movzx eax, byte [esp + 0xa47]
mov dword [esp + 0x174], ecx
movzx ecx, word [esp + 0xa45]
mov dword [esp + 0x224], edi
mov edi, dword [esp + 0xb78]
mov dword [esp + 0x21c], ebx
mov ebx, dword [esp + 0xb80]
mov byte [esp + 3], dl
mov dl, byte [esp + 0xb7c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa4f]
mov dword [esp + 0x17c], ecx
movzx ecx, word [esp + 0xa4d]
mov dword [esp + 0x210], edi
mov edi, dword [esp + 0xb88]
mov dword [esp + 0x204], ebx
mov ebx, dword [esp + 0xb90]
mov byte [esp + 0x79], dl
mov dl, byte [esp + 0xb8c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa57]
mov dword [esp + 0x180], ecx
movzx ecx, word [esp + 0xa55]
mov dword [esp + 0x1c8], edi
mov edi, dword [esp + 0xb98]
mov dword [esp + 0x1c0], ebx
mov ebx, dword [esp + 0xba0]
mov byte [esp + 0x850], dl
mov dl, byte [esp + 0xb9c]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa5f]
mov dword [esp + 0x1bc], edi
mov edi, dword [esp + 0xba8]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [esp + 0xbb0]
mov byte [esp + 0x858], dl
mov dl, byte [esp + 0xbac]
mov dword [esp + 0x188], ecx
movzx ecx, word [esp + 0xa5d]
shl eax, 0x10
mov dword [esp + 0x240], edi
mov edi, dword [esp + 0xbb8]
mov dword [esp + 0x23c], ebx
mov ebx, dword [esp + 0xbc0]
mov byte [esp + 0x90c], dl
mov dl, byte [esp + 0xbbc]
or ecx, eax
movzx eax, byte [esp + 0xa67]
mov dword [esp + 0x190], ecx
movzx ecx, word [esp + 0xa65]
mov dword [esp + 0x230], edi
mov edi, dword [esp + 0xbc8]
mov dword [esp + 0x22c], ebx
mov ebx, dword [esp + 0xbd0]
mov byte [esp + 0x904], dl
mov dl, byte [esp + 0xbcc]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa6f]
mov dword [esp + 0x194], ecx
movzx ecx, word [esp + 0xa6d]
mov dword [esp + 0x220], edi
mov edi, dword [esp + 0xbd8]
mov dword [esp + 0x214], ebx
mov ebx, dword [esp + 0xbe0]
mov byte [esp + 0x8d8], dl
mov dl, byte [esp + 0xbdc]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa77]
mov dword [esp + 0x19c], ecx
movzx ecx, word [esp + 0xa75]
mov dword [esp + 0x208], edi
mov edi, dword [esp + 0xbe8]
mov dword [esp + 0x1f8], ebx
mov ebx, dword [esp + 0xbf0]
mov byte [esp + 0x8e0], dl
mov dl, byte [esp + 0xbec]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa7f]
mov dword [esp + 0x1e8], edi
lea edi, [esp + 0x1528]
mov dword [esp + 0x1e0], ebx
mov byte [esp + 0x8ec], dl
mov dword [esp + 0x1a4], ecx
movzx ecx, word [esp + 0xa7d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa87]
mov dword [esp + 0x1a8], ecx
movzx ecx, word [esp + 0xa85]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa8f]
mov dword [esp + 0x1b0], ecx
movzx ecx, word [esp + 0xa8d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa97]
mov dword [esp + 0x1ac], ecx
movzx ecx, word [esp + 0xa95]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xa9f]
mov dword [esp + 0x1a0], ecx
movzx ecx, word [esp + 0xa9d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaa7]
mov dword [esp + 0x198], ecx
movzx ecx, word [esp + 0xaa5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaaf]
mov dword [esp + 0x18c], ecx
movzx ecx, word [esp + 0xaad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xab7]
mov dword [esp + 0x184], ecx
movzx ecx, word [esp + 0xab5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xabf]
mov dword [esp + 0x178], ecx
movzx ecx, word [esp + 0xabd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xac7]
mov dword [esp + 0x170], ecx
movzx ecx, word [esp + 0xac5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xacf]
mov dword [esp + 0x164], ecx
movzx ecx, word [esp + 0xacd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xad7]
mov dword [esp + 0x15c], ecx
movzx ecx, word [esp + 0xad5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xadf]
mov dword [esp + 0x150], ecx
movzx ecx, word [esp + 0xadd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xae7]
mov dword [esp + 0x148], ecx
movzx ecx, word [esp + 0xae5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaef]
mov dword [esp + 0x140], ecx
movzx ecx, word [esp + 0xaed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaf7]
mov dword [esp + 0x134], ecx
movzx ecx, word [esp + 0xaf5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xaff]
mov dword [esp + 0x12c], ecx
movzx ecx, word [esp + 0xafd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb07]
mov dword [esp + 0x124], ecx
movzx ecx, word [esp + 0xb05]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb0f]
mov dword [esp + 0x118], ecx
movzx ecx, word [esp + 0xb0d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb17]
mov dword [esp + 0x110], ecx
movzx ecx, word [esp + 0xb15]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb1f]
mov dword [esp + 0x104], ecx
movzx ecx, word [esp + 0xb1d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb27]
mov dword [esp + 0xfc], ecx
movzx ecx, word [esp + 0xb25]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb2f]
mov dword [esp + 0xf0], ecx
movzx ecx, word [esp + 0xb2d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb37]
mov dword [esp + 0xe8], ecx
movzx ecx, word [esp + 0xb35]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb3f]
mov dword [esp + 0xdc], ecx
movzx ecx, word [esp + 0xb3d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb47]
mov dword [esp + 0xd4], ecx
movzx ecx, word [esp + 0xb45]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb4f]
mov dword [esp + 0x4ec], ecx
movzx ecx, word [esp + 0xb4d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb57]
mov dword [esp + 0x4e8], ecx
movzx ecx, word [esp + 0xb55]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb5f]
mov dword [esp + 0x520], ecx
movzx ecx, word [esp + 0xb5d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb67]
mov dword [esp + 0x518], ecx
movzx ecx, word [esp + 0xb65]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb6f]
mov dword [esp + 0x510], ecx
movzx ecx, word [esp + 0xb6d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb77]
mov dword [esp + 0x4f4], ecx
movzx ecx, word [esp + 0xb75]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb7f]
mov dword [esp + 0xc8], ecx
movzx ecx, word [esp + 0xb7d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb87]
mov dword [esp + 0x8a0], ecx
movzx ecx, word [esp + 0xb85]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb8f]
mov dword [esp + 0x830], ecx
movzx ecx, word [esp + 0xb8d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb97]
mov dword [esp + 0x82c], ecx
movzx ecx, word [esp + 0xb95]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xb9f]
mov dword [esp + 0x820], ecx
movzx ecx, word [esp + 0xb9d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xba7]
mov dword [esp + 0x81c], ecx
movzx ecx, word [esp + 0xba5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbaf]
mov dword [esp + 0x8c0], ecx
movzx ecx, word [esp + 0xbad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbb7]
mov dword [esp + 0x8b8], ecx
movzx ecx, word [esp + 0xbb5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbbf]
mov dword [esp + 0x8b4], ecx
movzx ecx, word [esp + 0xbbd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbc7]
mov dword [esp + 0x8ac], ecx
movzx ecx, word [esp + 0xbc5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbcf]
mov dword [esp + 0x8a8], ecx
movzx ecx, word [esp + 0xbcd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbd7]
mov dword [esp + 0x8a4], ecx
movzx ecx, word [esp + 0xbd5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbdf]
mov dword [esp + 0x898], ecx
movzx ecx, word [esp + 0xbdd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbe7]
mov dword [esp + 0x894], ecx
movzx ecx, word [esp + 0xbe5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbef]
mov dword [esp + 0x88c], ecx
movzx ecx, word [esp + 0xbed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0xbf7]
mov dword [esp + 0x888], ecx
movzx ecx, word [esp + 0xbf5]
shl eax, 0x10
or ecx, eax
mov dword [esp + 0x880], ecx
mov cl, byte [esp + 0x984]
mov byte [esp + 0x85c], cl
mov cl, byte [esp + 0x994]
mov byte [esp + 0x860], cl
mov cl, byte [esp + 0x9a4]
mov byte [esp + 0x7c], cl
mov cl, byte [esp + 0x9b4]
mov byte [esp + 0x86c], cl
mov cl, byte [esp + 0x9c4]
mov byte [esp + 0x7d], cl
mov cl, byte [esp + 0x9d4]
mov byte [esp + 0x878], cl
mov cl, byte [esp + 0x9e4]
mov byte [esp + 0x87c], cl
mov cl, byte [esp + 0x9f4]
mov byte [esp + 0x890], cl
mov cl, byte [esp + 0xa04]
mov byte [esp + 0x8b0], cl
mov cl, byte [esp + 0xa14]
mov byte [esp + 0x8c4], cl
mov cl, byte [esp + 0xa24]
mov byte [esp + 0x8cc], cl
mov cl, byte [esp + 0xa34]
mov byte [esp + 0x8e4], cl
mov cl, byte [esp + 0xa44]
mov byte [esp + 0x8f8], cl
mov cl, byte [esp + 0xa54]
mov byte [esp + 0x900], cl
mov cl, byte [esp + 0xa64]
mov byte [esp + 6], cl
mov cl, byte [esp + 0xa74]
mov byte [esp + 9], cl
mov cl, byte [esp + 0xa84]
mov byte [esp + 0x200], cl
mov cl, byte [esp + 0xa94]
mov byte [esp + 0x1f4], cl
mov cl, byte [esp + 0xaa4]
mov byte [esp + 8], cl
mov cl, byte [esp + 0xab4]
mov byte [esp + 0x918], cl
mov cl, byte [esp + 0xac4]
mov byte [esp + 0x920], cl
mov cl, byte [esp + 0xad4]
mov byte [esp + 0x524], cl
mov cl, byte [esp + 0xae4]
mov byte [esp + 0x7f], cl
mov cl, byte [esp + 0xaf4]
mov byte [esp + 0x37], cl
mov cl, byte [esp + 0xb04]
mov byte [esp + 0x540], cl
mov cl, byte [esp + 0xb14]
mov byte [esp + 0x8c], cl
mov cl, byte [esp + 0xb24]
mov byte [esp + 0x528], cl
mov cl, byte [esp + 0xb34]
mov byte [esp + 0x1b], cl
mov cl, byte [esp + 0xb44]
mov byte [esp + 0x51c], cl
mov cl, byte [esp + 0xb54]
mov byte [esp + 0x19], cl
mov cl, byte [esp + 0xb64]
mov byte [esp + 0x4fc], cl
mov cl, byte [esp + 0xb74]
mov byte [esp + 4], cl
mov cl, byte [esp + 0xb84]
mov byte [esp + 0x84c], cl
mov cl, byte [esp + 0xb94]
mov byte [esp + 0x854], cl
mov cl, byte [esp + 0xba4]
mov byte [esp + 0x910], cl
mov cl, byte [esp + 0xbb4]
mov byte [esp + 0x908], cl
mov cl, byte [esp + 0xbc4]
mov byte [esp + 0x8d0], cl
mov cl, byte [esp + 0xbd4]
mov byte [esp + 0x8dc], cl
mov cl, byte [esp + 0xbe4]
mov byte [esp + 0x8e8], cl
mov cl, byte [esp + 0xbf4]
mov byte [esp + 0x8f0], cl
mov ecx, edi
call fcn.004f6cfe
xor eax, eax
mov dword [edi - 0x54], eax
mov dword [edi - 0x58], eax
mov dword [edi - 0x30], eax
mov eax, 2
mov dword [edi - 0x28], eax
mov dword [edi - 0x20], eax
mov eax, 0x148
mov byte [edi - 0x10], 3
mov dword [edi - 0xc], 0x2020202
mov word [edi - 8], 0x202
push eax
push esi
lea eax, [esp + 0x18a8]
push eax
call fcn.0064a810
add esp, 0xc
movzx eax, byte [esp + 0x103f]
movzx ecx, word [esp + 0x103d]
mov esi, dword [esp + 0x1010]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1047]
mov dword [esp + 0x40], ecx
movzx ecx, word [esp + 0x1045]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x104f]
mov dword [esp + 0x48], ecx
movzx ecx, word [esp + 0x104d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1057]
mov dword [esp + 0x4c], ecx
movzx ecx, word [esp + 0x1055]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x105f]
mov dword [esp + 0x20], ecx
movzx ecx, word [esp + 0x105d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1067]
mov dword [esp + 0x54], ecx
movzx ecx, word [esp + 0x1065]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x106f]
mov dword [esp + 0x59c], ecx
movzx ecx, word [esp + 0x106d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1077]
mov dword [esp + 0x5a4], ecx
movzx ecx, word [esp + 0x1075]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x107f]
mov dword [esp + 0x5ac], ecx
movzx ecx, word [esp + 0x107d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1087]
mov dword [esp + 0x5b4], ecx
movzx ecx, word [esp + 0x1085]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x108f]
mov dword [esp + 0x5b8], ecx
movzx ecx, word [esp + 0x108d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1097]
mov dword [esp + 0x5bc], ecx
movzx ecx, word [esp + 0x1095]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x109f]
mov dword [esp + 0x5c0], ecx
movzx ecx, word [esp + 0x109d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10a7]
mov dword [esp + 0x5c4], ecx
movzx ecx, word [esp + 0x10a5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10af]
mov dword [esp + 0x5cc], ecx
movzx ecx, word [esp + 0x10ad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10b7]
mov dword [esp + 0x5d0], ecx
movzx ecx, word [esp + 0x10b5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10bf]
mov dword [esp + 0x5d4], ecx
movzx ecx, word [esp + 0x10bd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10c7]
mov dword [esp + 0x5d8], ecx
movzx ecx, word [esp + 0x10c5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10cf]
mov dword [esp + 0x5dc], ecx
movzx ecx, word [esp + 0x10cd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10d7]
mov dword [esp + 0x5e0], ecx
movzx ecx, word [esp + 0x10d5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10df]
mov dword [esp + 0x5e4], ecx
movzx ecx, word [esp + 0x10dd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10e7]
mov dword [esp + 0x5e8], ecx
movzx ecx, word [esp + 0x10e5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10ef]
mov dword [esp + 0x5ec], ecx
movzx ecx, word [esp + 0x10ed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10f7]
mov dword [esp + 0x5f0], ecx
movzx ecx, word [esp + 0x10f5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x10ff]
mov dword [esp + 0x5f4], ecx
movzx ecx, word [esp + 0x10fd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1107]
mov dword [esp + 0x5f8], ecx
movzx ecx, word [esp + 0x1105]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x110f]
mov dword [esp + 0x5fc], ecx
movzx ecx, word [esp + 0x110d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1117]
mov dword [esp + 0x600], ecx
movzx ecx, word [esp + 0x1115]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x111f]
mov dword [esp + 0x604], ecx
movzx ecx, word [esp + 0x111d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1127]
mov dword [esp + 0x608], ecx
movzx ecx, word [esp + 0x1125]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x112f]
mov dword [esp + 0x60c], ecx
movzx ecx, word [esp + 0x112d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1137]
mov dword [esp + 0x610], ecx
movzx ecx, word [esp + 0x1135]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x113f]
mov dword [esp + 0x614], ecx
movzx ecx, word [esp + 0x113d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1147]
mov dword [esp + 0x618], ecx
movzx ecx, word [esp + 0x1145]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x114f]
mov dword [esp + 0x61c], ecx
movzx ecx, word [esp + 0x114d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1157]
mov dword [esp + 0x620], ecx
movzx ecx, word [esp + 0x1155]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x115f]
mov dword [esp + 0x624], ecx
movzx ecx, word [esp + 0x115d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1167]
mov dword [esp + 0x628], ecx
movzx ecx, word [esp + 0x1165]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x116f]
mov dword [esp + 0x62c], ecx
movzx ecx, word [esp + 0x116d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1177]
mov dword [esp + 0x630], ecx
movzx ecx, word [esp + 0x1175]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x117f]
mov dword [esp + 0x634], ecx
movzx ecx, word [esp + 0x117d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1187]
mov dword [esp + 0x638], ecx
movzx ecx, word [esp + 0x1185]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x118f]
mov dword [esp + 0x63c], ecx
movzx ecx, word [esp + 0x118d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1197]
mov dword [esp + 0x640], ecx
movzx ecx, word [esp + 0x1195]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x119f]
mov dword [esp + 0x644], ecx
movzx ecx, word [esp + 0x119d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11a7]
mov dword [esp + 0x738], ecx
movzx ecx, word [esp + 0x11a5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11af]
mov dword [esp + 0x73c], ecx
movzx ecx, word [esp + 0x11ad]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11b7]
mov dword [esp + 0x740], ecx
movzx ecx, word [esp + 0x11b5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11bf]
mov dword [esp + 0x748], ecx
movzx ecx, word [esp + 0x11bd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11c7]
mov dword [esp + 0x74c], ecx
movzx ecx, word [esp + 0x11c5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11cf]
mov dword [esp + 0x750], ecx
movzx ecx, word [esp + 0x11cd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11d7]
mov dword [esp + 0x754], ecx
movzx ecx, word [esp + 0x11d5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11df]
mov dword [esp + 0x75c], ecx
movzx ecx, word [esp + 0x11dd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11e7]
mov dword [esp + 0x760], ecx
movzx ecx, word [esp + 0x11e5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11ef]
mov dword [esp + 0x764], ecx
movzx ecx, word [esp + 0x11ed]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11f7]
mov dword [esp + 0x768], ecx
movzx ecx, word [esp + 0x11f5]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x11ff]
mov dword [esp + 0x770], ecx
movzx ecx, word [esp + 0x11fd]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1207]
mov dword [esp + 0x774], ecx
movzx ecx, word [esp + 0x1205]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x120f]
mov dword [esp + 0x778], ecx
movzx ecx, word [esp + 0x120d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1217]
mov dword [esp + 0x780], ecx
movzx ecx, word [esp + 0x1215]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x121f]
mov dword [esp + 0x784], ecx
movzx ecx, word [esp + 0x121d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1227]
mov dword [esp + 0x690], ecx
movzx ecx, word [esp + 0x1225]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x122f]
mov dword [esp + 0x694], ecx
movzx ecx, word [esp + 0x122d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1237]
mov dword [esp + 0x698], ecx
movzx ecx, word [esp + 0x1235]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x123f]
mov dword [esp + 0x69c], ecx
movzx ecx, word [esp + 0x123d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1247]
mov dword [esp + 0x6a4], ecx
movzx ecx, word [esp + 0x1245]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x124f]
mov dword [esp + 0x6a8], ecx
movzx ecx, word [esp + 0x124d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1257]
mov dword [esp + 0x6ac], ecx
movzx ecx, word [esp + 0x1255]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x125f]
mov dword [esp + 0x7a4], ecx
movzx ecx, word [esp + 0x125d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1267]
mov dword [esp + 0x7a8], ecx
movzx ecx, word [esp + 0x1265]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x126f]
mov dword [esp + 0x7ac], ecx
movzx ecx, word [esp + 0x126d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1277]
mov dword [esp + 0x7b0], ecx
movzx ecx, word [esp + 0x1275]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x127f]
mov dword [esp + 0x6b4], ecx
movzx ecx, word [esp + 0x127d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1287]
mov dword [esp + 0x6bc], ecx
movzx ecx, word [esp + 0x1285]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x128f]
mov dword [esp + 0x6c0], ecx
movzx ecx, word [esp + 0x128d]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1297]
mov dword [esp + 0x6c8], ecx
movzx ecx, word [esp + 0x1295]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0x1014]
mov dword [esp + 0x6d0], ecx
mov cl, byte [esp + 0x103c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1018]
mov byte [esp + 0x9c], cl
mov cl, byte [esp + 0x1044]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x101c]
mov byte [esp + 0xa0], cl
mov cl, byte [esp + 0x104c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x1020]
mov byte [esp + 0xa4], cl
mov cl, byte [esp + 0x1054]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1024]
mov byte [esp + 0xa8], cl
mov cl, byte [esp + 0x105c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x1028]
mov byte [esp + 0xac], cl
mov cl, byte [esp + 0x1064]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x102c]
mov byte [esp + 0x6a], cl
mov cl, byte [esp + 0x106c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x1030]
mov byte [esp + 0x590], cl
mov cl, byte [esp + 0x1074]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x1034]
mov byte [esp + 0x594], cl
mov cl, byte [esp + 0x107c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1038]
mov byte [esp + 0x598], cl
mov cl, byte [esp + 0x1084]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x1040]
mov byte [esp + 0x5a0], cl
mov cl, byte [esp + 0x108c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1048]
mov byte [esp + 0x560], cl
mov cl, byte [esp + 0x1094]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1050]
mov byte [esp + 0x5b], cl
mov cl, byte [esp + 0x109c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1058]
mov byte [esp + 0x5c], cl
mov cl, byte [esp + 0x10a4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1060]
mov byte [esp + 0x5d], cl
mov cl, byte [esp + 0x10ac]
mov dword [esp + 0x64c], eax
mov eax, dword [esp + 0x1068]
mov byte [esp + 0x5e], cl
mov cl, byte [esp + 0x10b4]
mov dword [esp + 0x648], eax
mov eax, dword [esp + 0x1070]
mov byte [esp + 0x5f], cl
mov cl, byte [esp + 0x10bc]
mov dword [esp + 0x650], eax
mov eax, dword [esp + 0x1078]
mov byte [esp + 0x564], cl
mov cl, byte [esp + 0x10c4]
mov dword [esp + 0x654], eax
mov eax, dword [esp + 0x1080]
mov byte [esp + 0x60], cl
mov cl, byte [esp + 0x10cc]
mov dword [esp + 0x658], eax
mov eax, dword [esp + 0x1088]
mov byte [esp + 0x568], cl
mov cl, byte [esp + 0x10d4]
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0x1090]
mov byte [esp + 0x61], cl
mov cl, byte [esp + 0x10dc]
mov dword [esp + 0x660], eax
mov eax, dword [esp + 0x1098]
mov byte [esp + 0x56c], cl
mov cl, byte [esp + 0x10e4]
mov dword [esp + 0x664], eax
mov eax, dword [esp + 0x10a0]
mov byte [esp + 0x62], cl
mov cl, byte [esp + 0x10ec]
mov dword [esp + 0x668], eax
mov eax, dword [esp + 0x10a8]
mov byte [esp + 0x570], cl
mov cl, byte [esp + 0x10f4]
mov dword [esp + 0x66c], eax
mov eax, dword [esp + 0x10b0]
mov byte [esp + 0x63], cl
mov cl, byte [esp + 0x10fc]
mov dword [esp + 0x670], eax
mov eax, dword [esp + 0x10b8]
mov byte [esp + 0x574], cl
mov cl, byte [esp + 0x1104]
mov dword [esp + 0x674], eax
mov eax, dword [esp + 0x10c0]
mov byte [esp + 0x64], cl
mov cl, byte [esp + 0x110c]
mov dword [esp + 0x678], eax
mov eax, dword [esp + 0x10c8]
mov byte [esp + 0x578], cl
mov cl, byte [esp + 0x1114]
mov dword [esp + 0x67c], eax
mov eax, dword [esp + 0x10d0]
mov byte [esp + 0x65], cl
mov cl, byte [esp + 0x111c]
mov dword [esp + 0x680], eax
mov eax, dword [esp + 0x10d8]
mov byte [esp + 0x57c], cl
mov cl, byte [esp + 0x1124]
mov dword [esp + 0x684], eax
mov eax, dword [esp + 0x10e0]
mov byte [esp + 0x66], cl
mov cl, byte [esp + 0x112c]
mov dword [esp + 0x688], eax
mov eax, dword [esp + 0x10e8]
mov byte [esp + 0x580], cl
mov cl, byte [esp + 0x1134]
mov dword [esp + 0x68c], eax
mov eax, dword [esp + 0x10f0]
mov byte [esp + 0x67], cl
mov cl, byte [esp + 0x113c]
mov dword [esp + 0x6a0], eax
mov eax, dword [esp + 0x10f8]
mov byte [esp + 0x584], cl
mov cl, byte [esp + 0x1144]
mov dword [esp + 0x6b0], eax
mov eax, dword [esp + 0x1100]
mov byte [esp + 0x68], cl
mov cl, byte [esp + 0x114c]
mov dword [esp + 0x6c4], eax
mov eax, dword [esp + 0x1108]
mov byte [esp + 0x588], cl
mov cl, byte [esp + 0x1154]
mov dword [esp + 0x6d4], eax
mov eax, dword [esp + 0x1110]
mov byte [esp + 0x69], cl
mov cl, byte [esp + 0x115c]
mov dword [esp + 0x6dc], eax
mov eax, dword [esp + 0x1118]
mov byte [esp + 0x58c], cl
mov cl, byte [esp + 0x1164]
mov dword [esp + 0x6e8], eax
mov eax, dword [esp + 0x1120]
mov byte [esp + 0x6b], cl
mov cl, byte [esp + 0x116c]
mov dword [esp + 0x6f4], eax
mov eax, dword [esp + 0x1128]
mov byte [esp + 0x6c], cl
mov cl, byte [esp + 0x1174]
mov dword [esp + 0x6fc], eax
mov eax, dword [esp + 0x1130]
mov byte [esp + 0x5a8], cl
mov cl, byte [esp + 0x117c]
mov dword [esp + 0x708], eax
mov eax, dword [esp + 0x1138]
mov byte [esp + 0x5b0], cl
mov cl, byte [esp + 0x1184]
mov dword [esp + 0x70c], eax
mov eax, dword [esp + 0x1140]
mov byte [esp + 0x6d], cl
mov cl, byte [esp + 0x118c]
mov dword [esp + 0x718], eax
mov eax, dword [esp + 0x1148]
mov byte [esp + 0x6e], cl
mov cl, byte [esp + 0x1194]
mov dword [esp + 0x720], eax
mov eax, dword [esp + 0x1150]
mov byte [esp + 0x5c8], cl
mov cl, byte [esp + 0x119c]
mov dword [esp + 0x72c], eax
mov eax, dword [esp + 0x1158]
mov byte [esp + 0x6e4], cl
mov cl, byte [esp + 0x11a4]
mov dword [esp + 0x730], eax
mov eax, dword [esp + 0x1160]
mov byte [esp + 0x6f0], cl
mov cl, byte [esp + 0x11ac]
mov dword [esp + 0x734], eax
mov eax, dword [esp + 0x1168]
mov byte [esp + 0x6f8], cl
mov cl, byte [esp + 0x11b4]
mov dword [esp + 0x744], eax
mov eax, dword [esp + 0x1170]
mov byte [esp + 0x700], cl
mov cl, byte [esp + 0x11bc]
mov dword [esp + 0x758], eax
mov eax, dword [esp + 0x1178]
mov byte [esp + 0x704], cl
mov cl, byte [esp + 0x11c4]
mov dword [esp + 0x76c], eax
mov eax, dword [esp + 0x1180]
mov byte [esp + 0x71], cl
mov cl, byte [esp + 0x11cc]
mov dword [esp + 0x77c], eax
mov eax, dword [esp + 0x1188]
mov byte [esp + 0x710], cl
mov cl, byte [esp + 0x11d4]
mov dword [esp + 0x788], eax
mov eax, dword [esp + 0x1190]
mov byte [esp + 0x714], cl
mov cl, byte [esp + 0x11dc]
mov dword [esp + 0x78c], eax
mov eax, dword [esp + 0x1198]
mov byte [esp + 0x73], cl
mov cl, byte [esp + 0x11e4]
mov dword [esp + 0x794], eax
mov eax, dword [esp + 0x11a0]
mov byte [esp + 0x74], cl
mov cl, byte [esp + 0x11ec]
mov dword [esp + 0x7c0], eax
mov eax, dword [esp + 0x11a8]
mov byte [esp + 0x790], cl
mov cl, byte [esp + 0x11f4]
mov dword [esp + 0x7c8], eax
mov eax, dword [esp + 0x11b0]
mov byte [esp + 0x798], cl
mov cl, byte [esp + 0x11fc]
mov dword [esp + 0x7d4], eax
mov eax, dword [esp + 0x11b8]
mov byte [esp + 0x76], cl
mov cl, byte [esp + 0x1204]
mov dword [esp + 0x7e0], eax
mov eax, dword [esp + 0x11c0]
mov byte [esp + 0x79c], cl
mov cl, byte [esp + 0x120c]
mov dword [esp + 0x7e8], eax
mov eax, dword [esp + 0x11c8]
mov byte [esp + 0x7a0], cl
mov cl, byte [esp + 0x1214]
mov dword [esp + 0x7ec], eax
mov eax, dword [esp + 0x11d0]
mov byte [esp + 0x77], cl
mov cl, byte [esp + 0x121c]
mov dword [esp + 0x7f0], eax
mov eax, dword [esp + 0x11d8]
mov byte [esp + 0x6b8], cl
mov cl, byte [esp + 0x1224]
mov dword [esp + 0x7f8], eax
mov eax, dword [esp + 0x11e0]
mov byte [esp + 0x6cc], cl
mov cl, byte [esp + 0x122c]
mov dword [esp + 0x800], eax
mov eax, dword [esp + 0x11e8]
mov byte [esp + 0x6d8], cl
mov cl, byte [esp + 0x1234]
mov dword [esp + 0x808], eax
mov eax, dword [esp + 0x11f0]
mov byte [esp + 0x6f], cl
mov cl, byte [esp + 0x123c]
mov dword [esp + 0x810], eax
mov eax, dword [esp + 0x11f8]
mov byte [esp + 0x6e0], cl
mov cl, byte [esp + 0x1244]
mov dword [esp + 0x818], eax
mov eax, dword [esp + 0x1200]
mov byte [esp + 0x6ec], cl
mov cl, byte [esp + 0x124c]
mov dword [esp + 0x824], eax
mov eax, dword [esp + 0x1208]
mov byte [esp + 0x70], cl
mov cl, byte [esp + 0x1254]
mov dword [esp + 0x834], eax
mov eax, dword [esp + 0x1210]
mov byte [esp + 0x7b4], cl
mov cl, byte [esp + 0x125c]
mov dword [esp + 0x83c], eax
mov eax, dword [esp + 0x1218]
mov byte [esp + 0x7b8], cl
mov cl, byte [esp + 0x1264]
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0x1220]
mov byte [esp + 0x78], cl
mov cl, byte [esp + 0x126c]
mov dword [esp + 0x848], eax
mov eax, dword [esp + 0x1228]
mov byte [esp + 0x7bc], cl
mov cl, byte [esp + 0x1274]
mov dword [esp + 0x7c4], eax
mov eax, dword [esp + 0x1230]
mov byte [esp + 0x72], cl
mov cl, byte [esp + 0x127c]
mov dword [esp + 0x7cc], eax
mov eax, dword [esp + 0x1238]
mov byte [esp + 0x71c], cl
mov cl, byte [esp + 0x1284]
mov dword [esp + 0x7d0], eax
mov eax, dword [esp + 0x1240]
mov byte [esp + 0x724], cl
mov cl, byte [esp + 0x128c]
mov dword [esp + 0x7d8], eax
mov eax, dword [esp + 0x1248]
mov byte [esp + 0x728], cl
mov cl, byte [esp + 0x1294]
mov dword [esp + 0x7dc], eax
mov eax, dword [esp + 0x1250]
mov byte [esp + 0x75], cl
mov dword [esp + 0x7e4], eax
mov eax, dword [esp + 0x1258]
mov dword [esp + 0x828], eax
mov eax, dword [esp + 0x1260]
mov dword [esp + 0x838], eax
mov eax, dword [esp + 0x1268]
mov dword [esp + 0x840], eax
mov eax, dword [esp + 0x1270]
mov dword [esp + 0x7f4], eax
mov eax, dword [esp + 0x1278]
mov dword [esp + 0x7fc], eax
mov eax, dword [esp + 0x1280]
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0x1288]
mov dword [esp + 0x80c], eax
mov eax, dword [esp + 0x1290]
mov dword [esp + 0x814], eax
lea eax, [esp + 0x18e0]
push eax
call fcn.004eccc0
add esp, 4
lea ecx, [esp + 0x18f8]
call fcn.004f7f0c
lea eax, [esp + 0x1448]
push eax
call fcn.004eccc0
add esp, 4
cmp byte [esp + 0x12a8], 2
mov dword [esp + 0x50], esi
jne 0x518914
mov edi, dword [esp + 0x28]
jmp 0x503607
mov eax, dword [esp + 0x504]
shl esi, 8
mov dword [esp + 0x3c], edi
mov dword [esp + 0x80], ecx
add esi, dword [esp + 0x8c]
mov dword [esp + 0x52c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x48], edx
mov dl, byte [esp + 0x4e8]
mov dword [esp + 0x528], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x54], ebx
mov bl, byte [esp + 0x19]
mov dword [esp + 0x4f4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], esi
mov byte [esp + 0x4e8], bl
mov dword [esp + 0x8c], eax
mov al, byte [esp + 0x4ec]
mov byte [esp + 0xc8], al
mov al, byte [esp + 0x1a]
mov byte [esp + 0x1a], dl
mov edx, dword [esp + 0x20]
mov byte [esp + 0x4ec], al
mov dword [esp + 0x28], edx
jmp 0x50b78d
mov al, byte [esp + 0xc8]
mov esi, dword [esp + 0x20]
mov byte [esp + 0x548], al
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x48c]
mov dword [esp + 0x4f8], eax
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x480]
mov dword [esp + 0x504], eax
mov al, byte [esp + 0x4ec]
mov dword [esp + 0x48c], esi
mov esi, dword [esp + 0x470]
mov byte [esp + 0xc8], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x480], esi
mov esi, dword [esp + 0x478]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x470], esi
mov esi, dword [esp + 0x464]
mov dword [esp + 0x4f4], eax
mov al, byte [esp + 0x1a]
mov dword [esp + 0x478], esi
mov esi, dword [esp + 0x460]
mov byte [esp + 0x4ec], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], ebx
mov bh, byte [esp + 0x19]
mov bl, byte [esp + 0x458]
mov dword [esp + 0x464], esi
mov esi, dword [esp + 0x44c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x19], bl
mov bl, byte [esp + 0x43c]
mov dword [esp + 0x460], esi
mov esi, dword [esp + 0x448]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4e8]
mov byte [esp + 0x4e8], bh
mov bh, byte [esp + 0x454]
mov byte [esp + 0x454], bl
mov bl, byte [esp + 0x434]
mov dword [esp + 0x44c], esi
mov esi, dword [esp + 0x4fc]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x80]
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x38]
mov byte [esp + 0x458], bh
mov bh, byte [esp + 0x444]
mov byte [esp + 0x444], bl
mov bl, byte [esp + 0x41c]
mov dword [esp + 0x448], esi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x2c]
mov byte [esp + 0x43c], bh
mov bh, byte [esp + 0x430]
mov byte [esp + 0x430], bl
mov bl, byte [esp + 0x400]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x84]
mov byte [esp + 0x434], bh
mov bh, byte [esp + 0x40c]
mov byte [esp + 0x40c], bl
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x44]
mov byte [esp + 0x41c], bh
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0xbc], edi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0xb4]
mov dword [esp + 0xb8], edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0xb4], edi
jmp 0x50f227
cmp byte [eax + 0x32], 0
je 0x501ad8
mov eax, dword [esp + 0x28]
mov al, byte [eax + 0x3e]
cmp al, 2
je 0x518792
and al, 1
je 0x501ad8
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax], 7
jne 0x501ad8
xor ecx, ecx
mov dword [esp + 0x1618], 4
mov dword [esp + 0x161c], ecx
mov dword [esp + 0x1620], ecx
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x51b9d4
mov esi, dword [eax + 4]
lea eax, [ecx + ecx*8]
mov edx, 4
xor ebx, ebx
lea eax, [eax + eax*2]
add ecx, esi
add ecx, eax
mov dword [esp + 0x3c], ecx
xor eax, eax
mov dword [esp + 0x1010], 1
mov dword [esp + 0x1408], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x1014], eax
mov dword [esp + 0x1018], eax
mov eax, dword [esi]
cmp eax, 1
je 0x518861
cmp eax, 6
jne 0x51d0e0
mov esi, dword [esi + 0xc]
test esi, esi
je 0x518879
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 4]
lea eax, [esi + esi*8]
lea eax, [eax + eax*2]
add esi, edi
add esi, eax
mov dword [esp + 0x12c8], edi
cmp dword [edi], 1
jne 0x51cf94
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
lea ecx, [esp + 0x1010]
add eax, edx
push eax
call fcn.0059b928
add esp, 4
add edi, 0x1c
cmp edi, esi
jne 0x518830
jmp 0x518879
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
lea ecx, [esp + 0x1010]
add eax, edx
push eax
call fcn.0059b928
add esp, 4
cmp ebx, dword [esp + 0x161c]
jne 0x5188a4
lea ecx, [esp + 0x1618]
mov edx, ebx
call fcn.00599f00
mov edx, dword [esp + 0x1618]
mov ebx, dword [esp + 0x1620]
mov esi, dword [esp + 0x24]
jmp 0x5188ac
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x1010]
mov ecx, dword [esp + 0x1018]
lea eax, [ebx + ebx*2]
add esi, 0x1c
mov dword [edx + eax*4 + 8], ecx
movsd qword [edx + eax*4], xmm0
mov ebx, dword [esp + 0x1620]
inc ebx
cmp esi, dword [esp + 0x3c]
mov dword [esp + 0x1620], ebx
jne 0x5187de
mov edi, dword [esp + 0x1618]
cmp ebx, 0xbb8
jae 0x51b9e5
mov esi, dword [esp + 0x161c]
mov ecx, edi
mov edx, ebx
call fcn.00489190
test esi, esi
jne 0x51ba32
jmp 0x501ad8
mov eax, dword [esp + 0x12a0]
lock dec dword [eax]
mov edi, dword [esp + 0x28]
je 0x50f019
jmp 0x503607
mov ecx, dword [esp + 0x14d0]
test ecx, ecx
je 0x51894e
lea esi, [esp + 0x14d0]
mov edx, dword [esi + 8]
call fcn.004f537c
mov ecx, esi
call fcn.0053aea8
movsd xmm0, qword [esp + 0x14d0]
mov eax, dword [esp + 0x14d8]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
movsd qword [esp + 0x18a0], xmm0
mov dword [esp + 0x18a8], eax
mov eax, dword [esp + 0x18a0]
test eax, eax
mov dword [esp + 0xc8], eax
je 0x518de9
mov eax, dword [esp + 0x18a8]
test eax, eax
je 0x518de9
mov esi, eax
movzx eax, byte [esp + 0x7f]
shl esi, 4
mov dword [esp + 0x554], eax
movzx eax, byte [esp + 0x550]
mov dword [esp + 0x954], eax
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
add esi, eax
mov dword [esp + 0x530], esi
lea eax, [ecx + edx]
mov dword [esp + 0x544], ecx
xor ecx, ecx
mov esi, edx
mov dword [esp + 0x524], edx
mov dword [esp + 0xcc], eax
inc ecx
xor eax, eax
test al, 1
je 0x518a08
mov eax, dword [esp + 0xc8]
cmp eax, dword [esp + 0x530]
jne 0x518a2a
jmp 0x518d8b
mov eax, dword [esp + 0x530]
mov edx, dword [esp + 0xc8]
sub eax, edx
shr eax, 4
cmp eax, ecx
jbe 0x518d8b
mov eax, edx
shl ecx, 4
add eax, ecx
mov ecx, dword [esp + 0x524]
sub ecx, esi
jb 0x51d08a
mov edx, eax
mov eax, dword [eax + 8]
test eax, eax
je 0x518de9
mov edi, dword [edx]
add edx, 0x10
add ecx, dword [esp + 0x544]
mov dword [esp + 0xc8], edx
mov edx, eax
mov dword [esp + 0x52c], edx
add edi, eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x4f4], edi
xor edi, edi
sub eax, ecx
mov ecx, edx
neg ecx
xor ebx, ebx
mov dword [esp + 0x4f0], eax
dec ebx
mov eax, esi
add esi, ebx
cmp esi, 0xffffffff
je 0x518ab6
mov edx, dword [esp + 0x4f4]
mov esi, dword [esp + 0xcc]
mov dl, byte [edx + ebx]
cmp dl, byte [esi + ebx]
jne 0x518abf
inc edi
mov edx, ecx
dec ebx
mov esi, eax
add edx, edi
jne 0x518a84
mov esi, dword [esp + 0x52c]
jmp 0x518ac1
mov esi, dword [esp + 0x4f0]
jmp 0x518ac1
mov esi, edi
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
xor ecx, ecx
mov al, 1
test esi, esi
jne 0x5189ef
jmp 0x518de9
test byte [esp + 0x37], 1
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x50c], edx
mov dword [esp + 0x500], ecx
jne 0x518b69
cmp dword [ebp + 0xc], 1
jne 0x51b0e5
mov ecx, dword [esp + 0x920]
movzx eax, byte [esp + 0x7f]
mov edx, dword [esp + 0x55c]
mov ebx, dword [esp + 0x91c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x80]
shl ecx, 8
shl edx, 8
or ecx, eax
movzx eax, byte [esp + 0x550]
mov dword [esp + 0x1464], ecx
or edx, eax
mov eax, dword [esp + 0x918]
mov dword [esp + 0x1468], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x538], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
cmp ecx, 5
jne 0x519f72
mov eax, dword [eax + 4]
jmp 0x518b59
mov cl, byte [esp + 0xc8]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x28], edi
mov byte [esp + 0x548], cl
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x4f8], ecx
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x504], ecx
mov cl, byte [esp + 0x4ec]
mov ch, byte [esp + 0x4e8]
mov dword [esp + 0x3c], edx
mov byte [esp + 0xc8], cl
mov cl, byte [esp + 0x1a]
mov byte [esp + 0x1a], ch
mov byte [esp + 0x4ec], cl
mov cl, byte [esp + 0x19]
mov byte [esp + 0x4e8], cl
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
jmp 0x51b18a
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x161c]
mov ecx, edi
mov dword [esp + 0x30], eax
call fcn.00489cad
mov esi, eax
lea eax, [edi*4]
mov dword [esp + 0x38], edx
push eax
push dword [esp + 0x30]
push esi
call fcn.0064a810
mov edx, edi
add esp, 0xc
mov ebx, dword [esp + 0x988]
mov cl, byte [esp + 0xaa0]
shr ebx, cl
test ebx, ebx
je 0x518c9e
xor edi, edi
mov dword [esp + 0x40], ebx
mov eax, edi
mov ecx, dword [esp + 0x1c]
shl eax, cl
cmp edi, edx
je 0x51bb35
mov ecx, dword [esi + edi*4]
cmp eax, ecx
je 0x518c99
mov edx, ecx
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
shr edx, cl
cmp dword [esp + 0x20], edx
jbe 0x51ba46
mov ecx, dword [esi + edx*4]
cmp eax, ecx
jne 0x518c67
mov edx, dword [esp + 0x20]
cmp edx, edi
jbe 0x51bbf7
mov eax, dword [esp + 0x2c]
mov dword [eax + edi*4], ebx
mov ebx, dword [esp + 0x40]
inc edi
cmp edi, ebx
jne 0x518c50
mov eax, edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x970]
push dword [esp + 0x44]
push eax
call fcn.004f718b
add esp, 8
cmp dword [esp + 0x38], 0
je 0x518cce
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x30], 0
je 0x518ce7
push dword [esp + 0x2c]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x974]
mov esi, dword [esp + 0x970]
mov ebx, dword [esp + 0x978]
mov edi, dword [esp + 0x980]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x97c]
mov dword [esp + 0x20], eax
push 0x128
lea eax, [esp + 0x988]
push eax
lea eax, [esp + 0x1018]
push eax
call fcn.0064a810
add esp, 0xc
cmp dword [esp + 0xabc], 0
je 0x518d4e
push dword [esp + 0xab8]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xac8], 0
je 0x518d6d
push dword [esp + 0xac4]
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xad4], 0
mov dword [esp + 0x84], 0
jne 0x502651
jmp 0x502666
mov edx, dword [esp + 0x524]
mov ecx, edx
sub ecx, esi
jb 0x51d132
test esi, esi
je 0x518de9
mov edx, dword [esp + 0x544]
lea eax, [esp + 0x1618]
add edx, ecx
mov dword [eax], edx
mov dword [eax + 4], esi
lea esi, [esp + 0x970]
mov edx, eax
mov ecx, esi
call fcn.00520774
cmp byte [esi + 8], 2
jne 0x519f85
mov esi, dword [esp + 0x528]
shl esi, 8
add esi, dword [esp + 0x8c]
mov dword [esp + 0x528], esi
jmp 0x518e01
mov eax, dword [esp + 0x528]
shl eax, 8
add eax, dword [esp + 0x8c]
mov dword [esp + 0x528], eax
mov esi, dword [esp + 0xc4]
lea ecx, [esp + 0x18a0]
call fcn.0051e80c
mov eax, dword [esp + 0x504]
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x254]
mov dword [esp + 0x52c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4f4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
mov al, byte [esp + 0x4ec]
mov byte [esp + 0xc8], al
mov al, byte [esp + 0x1a]
mov byte [esp + 0x4ec], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x508]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4e8]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0x80]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x19]
mov byte [esp + 0x4e8], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x458]
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x454]
mov byte [esp + 0x458], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x48c], eax
mov al, byte [esp + 0x43c]
mov byte [esp + 0x454], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x480], eax
mov al, byte [esp + 0x444]
mov byte [esp + 0x43c], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], eax
mov al, byte [esp + 0x434]
mov byte [esp + 0x444], al
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x478], eax
mov al, byte [esp + 0x430]
mov byte [esp + 0x434], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x464], eax
mov al, byte [esp + 0x41c]
mov byte [esp + 0x430], al
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x460], eax
mov al, byte [esp + 0x40c]
mov byte [esp + 0x41c], al
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0x44c], eax
mov al, byte [esp + 0x400]
mov byte [esp + 0x40c], al
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x4fc]
mov dword [esp + 0x448], eax
mov al, byte [esp + 0x3fc]
mov byte [esp + 0x400], al
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov al, byte [esp + 0x3e0]
mov byte [esp + 0x3fc], al
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x3dc]
mov byte [esp + 0x3e0], al
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x428], eax
mov al, byte [esp + 0x3cc]
mov byte [esp + 0x3dc], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x418], eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x3cc], al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x408], eax
mov al, byte [esp + 0x3b0]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x404], eax
mov al, byte [esp + 0x3ac]
mov byte [esp + 0x3b0], al
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov al, byte [esp + 0x394]
mov byte [esp + 0x3ac], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3ec], eax
mov al, byte [esp + 0x388]
mov byte [esp + 0x394], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], eax
mov al, byte [esp + 0x37c]
mov byte [esp + 0x388], al
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3c8], eax
mov al, byte [esp + 0x378]
mov byte [esp + 0x37c], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4e4], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3bc], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x378], al
mov eax, dword [esp + 0x4dc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b8], eax
mov al, byte [esp + 0x16]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x4e0], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x15]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x4d4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x380], eax
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4d8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x4d0]
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x36c], eax
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x4d0], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x368], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x4c4]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x354], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x350], eax
mov al, byte [esp + 0xe]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x348], eax
mov al, byte [esp + 0xd]
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x4b8]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x344], eax
mov al, byte [esp + 0xc]
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x334], eax
mov al, byte [esp + 0x2f0]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x328], eax
mov al, byte [esp + 0x2e8]
mov byte [esp + 0x2f0], al
mov eax, dword [esp + 0x4b0]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x31c], eax
mov al, byte [esp + 0x2d4]
mov byte [esp + 0x2e8], al
mov eax, dword [esp + 0x4a4]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x318], eax
mov al, byte [esp + 0x2d0]
mov byte [esp + 0x2d4], al
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x30c], eax
mov al, byte [esp + 0x2bc]
mov byte [esp + 0x2d0], al
mov eax, dword [esp + 0x4a0]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x308], eax
mov al, byte [esp + 0x2b4]
mov byte [esp + 0x2bc], al
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 0x2a4]
mov byte [esp + 0x2b4], al
mov eax, dword [esp + 0x494]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2ec], eax
mov al, byte [esp + 0x29c]
mov byte [esp + 0x2a4], al
mov eax, dword [esp + 0x498]
mov dword [esp + 0x498], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2e0], eax
mov al, byte [esp + 0x28c]
mov byte [esp + 0x29c], al
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2d8], eax
mov al, byte [esp + 0x288]
mov byte [esp + 0x28c], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2c0], ecx
mov cl, byte [esp + 0x27c]
mov dword [esp + 0x2c4], eax
mov al, byte [esp + 0x278]
mov byte [esp + 0x278], cl
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x2a0], ecx
mov cl, byte [esp + 0x26c]
mov byte [esp + 0x288], al
mov eax, dword [esp + 0x490]
mov dword [esp + 0x490], ebx
mov ebx, dword [esp + 0x484]
mov byte [esp + 0x27c], cl
mov ecx, dword [esp + 0x294]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x488]
mov dword [esp + 0x40], eax
mov eax, 3
mov dword [esp + 0x2a8], ecx
mov cl, byte [esp + 0x268]
mov dword [esp + 0x484], ebx
mov ebx, dword [esp + 0x47c]
mov byte [esp + 0x26c], cl
mov ecx, dword [esp + 0x290]
mov dword [esp + 0x488], ebx
mov ebx, dword [esp + 0x474]
mov dword [esp + 0x294], ecx
mov cl, byte [esp + 0x260]
mov dword [esp + 0x47c], ebx
mov ebx, dword [esp + 0x468]
mov byte [esp + 0x268], cl
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x474], ebx
mov ebx, dword [esp + 0x46c]
mov dword [esp + 0x290], ecx
mov cl, byte [esp + 0x258]
mov dword [esp + 0x468], ebx
mov ebx, dword [esp + 0x45c]
mov byte [esp + 0x260], cl
mov ecx, dword [esp + 0x280]
mov dword [esp + 0x46c], ebx
mov ebx, dword [esp + 0x234]
mov dword [esp + 0x284], ecx
mov cl, byte [esp + 0x24c]
mov byte [esp + 0x258], cl
mov ecx, dword [esp + 0x274]
mov dword [esp + 0x280], ecx
mov cl, byte [esp + 0x248]
mov byte [esp + 0x24c], cl
mov ecx, dword [esp + 0x270]
mov dword [esp + 0x274], ecx
mov cl, byte [esp + 0x23c]
mov byte [esp + 0x248], cl
mov ecx, dword [esp + 0x264]
mov dword [esp + 0x270], ecx
mov cl, byte [esp + 0x238]
mov byte [esp + 0x23c], cl
mov ecx, dword [esp + 0x500]
mov dword [esp + 0x45c], ecx
mov ecx, dword [esp + 0x25c]
mov dword [esp + 0x25c], edx
mov dl, byte [esp + 0x224]
mov dword [esp + 0x264], ecx
mov cl, byte [esp + 0x22c]
mov byte [esp + 0x22c], dl
mov edx, dword [esp + 0x520]
mov byte [esp + 0x238], cl
mov ecx, dword [esp + 0x450]
mov dword [esp + 0x450], edx
mov edx, dword [esp + 0x250]
mov dword [esp + 0x254], edx
mov dl, byte [esp + 0x21c]
mov byte [esp + 0x224], dl
mov edx, dword [esp + 0x440]
mov dword [esp + 0x520], edx
mov edx, dword [esp + 0x244]
mov dword [esp + 0x250], edx
mov dl, byte [esp + 0x218]
mov byte [esp + 0x21c], dl
mov edx, dword [esp + 0x50c]
mov dword [esp + 0x440], edx
mov edx, dword [esp + 0x240]
mov dword [esp + 0x240], ebx
mov bl, byte [esp + 0x208]
mov dword [esp + 0x244], edx
mov dl, byte [esp + 0x20c]
mov byte [esp + 0x20c], bl
mov ebx, dword [esp + 0x42c]
mov byte [esp + 0x218], dl
mov edx, dword [esp + 0x438]
mov dword [esp + 0x438], ebx
mov ebx, dword [esp + 0x230]
mov dword [esp + 0x234], ebx
mov bl, byte [esp + 0x1fc]
mov byte [esp + 0x208], bl
mov ebx, dword [esp + 0x424]
mov dword [esp + 0x42c], ebx
mov ebx, dword [esp + 0x228]
mov dword [esp + 0x230], ebx
mov bl, byte [esp + 0xb]
mov byte [esp + 0x1fc], bl
mov ebx, dword [esp + 0x420]
mov dword [esp + 0x424], ebx
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x228], ebx
mov bl, byte [esp + 0xa]
mov byte [esp + 0xb], bl
mov ebx, dword [esp + 0x414]
mov dword [esp + 0x420], ebx
mov ebx, dword [esp + 0x214]
mov dword [esp + 0x220], ebx
mov bl, byte [esp + 0x1f0]
mov byte [esp + 0xa], bl
mov ebx, dword [esp + 0x410]
mov dword [esp + 0x414], ebx
mov ebx, dword [esp + 0x210]
mov dword [esp + 0x214], ebx
mov bl, byte [esp + 8]
mov byte [esp + 0x1f0], bl
mov ebx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 0x210], ebx
mov bl, byte [esp + 9]
mov byte [esp + 8], bl
mov ebx, dword [esp + 0x3f8]
mov dword [esp + 0x3f4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 0x200], ebx
mov bl, byte [esp + 0x1dc]
mov byte [esp + 9], bl
mov ebx, dword [esp + 0x3e8]
mov dword [esp + 0x3f8], ebx
mov ebx, dword [esp + 0x1f8]
mov dword [esp + 0x204], ebx
mov bl, byte [esp + 7]
mov byte [esp + 0x1dc], bl
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0x3e8], ebx
mov ebx, dword [esp + 0x1f4]
mov dword [esp + 0x1f8], ebx
mov bl, byte [esp + 6]
mov byte [esp + 7], bl
mov ebx, dword [esp + 0x3d4]
mov dword [esp + 0x3e4], ebx
mov ebx, dword [esp + 0x1ec]
mov dword [esp + 0x1f4], ebx
mov bl, byte [esp + 5]
mov byte [esp + 6], bl
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x3d4], ebx
mov ebx, dword [esp + 0x1e8]
mov dword [esp + 0x1ec], ebx
mov bl, byte [esp + 0x1c8]
mov byte [esp + 5], bl
mov ebx, dword [esp + 0x3c0]
mov dword [esp + 0x3d0], ebx
mov ebx, dword [esp + 0x1e4]
mov dword [esp + 0x1e8], ebx
mov bl, byte [esp + 0x1c4]
mov byte [esp + 0x1c8], bl
mov ebx, dword [esp + 0x3c4]
mov dword [esp + 0x3c0], ebx
mov ebx, dword [esp + 0x1e0]
mov dword [esp + 0x1e4], ebx
mov bl, byte [esp + 0x1b8]
mov byte [esp + 0x1c4], bl
mov ebx, dword [esp + 0x3b4]
mov dword [esp + 0x3c4], ebx
mov ebx, dword [esp + 0x1d8]
mov dword [esp + 0x1e0], ebx
mov bl, byte [esp + 0x1b4]
mov byte [esp + 0x1b8], bl
mov ebx, dword [esp + 0x3a8]
mov dword [esp + 0x3b4], ebx
mov ebx, dword [esp + 0x1d4]
mov dword [esp + 0x1d8], ebx
mov bl, byte [esp + 0x1ac]
mov byte [esp + 0x1b4], bl
mov ebx, dword [esp + 0x398]
mov dword [esp + 0x3a8], ebx
mov ebx, dword [esp + 0x1d0]
mov dword [esp + 0x1d4], ebx
mov bl, byte [esp + 0x1a4]
mov byte [esp + 0x1ac], bl
mov ebx, dword [esp + 0x39c]
mov dword [esp + 0x398], ebx
mov ebx, dword [esp + 0x1cc]
mov dword [esp + 0x1d0], ebx
mov bl, byte [esp + 0x198]
mov byte [esp + 0x1a4], bl
mov ebx, dword [esp + 0x390]
mov dword [esp + 0x39c], ebx
mov ebx, dword [esp + 0x1c0]
mov dword [esp + 0x1cc], ebx
mov bl, byte [esp + 0x194]
mov byte [esp + 0x198], bl
mov ebx, dword [esp + 0x38c]
mov dword [esp + 0x390], ebx
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x1c0], ebx
mov bl, byte [esp + 0x188]
mov byte [esp + 0x194], bl
mov ebx, dword [esp + 0x374]
mov dword [esp + 0x38c], ebx
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x1bc], ebx
mov bl, byte [esp + 0x184]
mov byte [esp + 0x188], bl
mov ebx, dword [esp + 0x370]
mov dword [esp + 0x374], ebx
mov ebx, dword [esp + 0x1a8]
mov dword [esp + 0x1b0], ebx
mov bl, byte [esp + 0x178]
mov byte [esp + 0x184], bl
mov ebx, dword [esp + 0x360]
mov dword [esp + 0x370], ebx
mov ebx, dword [esp + 0x1a0]
mov dword [esp + 0x1a8], ebx
mov bl, byte [esp + 0x174]
mov byte [esp + 0x178], bl
mov ebx, dword [esp + 0x364]
mov dword [esp + 0x360], ebx
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x1a0], ebx
mov bl, byte [esp + 0x168]
mov byte [esp + 0x174], bl
mov ebx, dword [esp + 0x35c]
mov dword [esp + 0x364], ebx
mov ebx, dword [esp + 0x190]
mov dword [esp + 0x19c], ebx
mov bl, byte [esp + 0x164]
mov byte [esp + 0x168], bl
mov ebx, dword [esp + 0x358]
mov dword [esp + 0x35c], ebx
mov ebx, dword [esp + 0x18c]
mov dword [esp + 0x190], ebx
mov bl, byte [esp + 0x154]
mov byte [esp + 0x164], bl
mov ebx, dword [esp + 0x340]
mov dword [esp + 0x358], ebx
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x18c], ebx
mov bl, byte [esp + 0x158]
mov byte [esp + 0x154], bl
mov ebx, dword [esp + 0x34c]
mov dword [esp + 0x340], ebx
mov ebx, dword [esp + 0x180]
mov dword [esp + 0x17c], ebx
mov bl, byte [esp + 0x148]
mov byte [esp + 0x158], bl
mov ebx, dword [esp + 0x33c]
mov dword [esp + 0x34c], ebx
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x180], ebx
mov bl, byte [esp + 0x144]
mov byte [esp + 0x148], bl
mov ebx, dword [esp + 0x338]
mov dword [esp + 0x33c], ebx
mov ebx, dword [esp + 0x16c]
mov dword [esp + 0x170], ebx
mov bl, byte [esp + 0x13c]
mov byte [esp + 0x144], bl
mov ebx, dword [esp + 0x330]
mov dword [esp + 0x338], ebx
mov ebx, dword [esp + 0x160]
mov dword [esp + 0x16c], ebx
mov bl, byte [esp + 0x134]
mov byte [esp + 0x13c], bl
mov ebx, dword [esp + 0x32c]
mov dword [esp + 0x330], ebx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 0x160], ebx
mov bl, byte [esp + 0x128]
mov byte [esp + 0x134], bl
mov ebx, dword [esp + 0x320]
mov dword [esp + 0x32c], ebx
mov ebx, dword [esp + 0x150]
mov dword [esp + 0x15c], ebx
mov bl, byte [esp + 0x124]
mov byte [esp + 0x128], bl
mov ebx, dword [esp + 0x324]
mov dword [esp + 0x320], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x150], ebx
mov bl, byte [esp + 0x118]
mov byte [esp + 0x124], bl
mov ebx, dword [esp + 0x314]
mov dword [esp + 0x324], ebx
mov ebx, dword [esp + 0x140]
mov dword [esp + 0x14c], ebx
mov bl, byte [esp + 0x114]
mov byte [esp + 0x118], bl
mov ebx, dword [esp + 0x310]
mov dword [esp + 0x314], ebx
mov ebx, dword [esp + 0x138]
mov dword [esp + 0x140], ebx
mov bl, byte [esp + 0x10c]
mov byte [esp + 0x114], bl
mov ebx, dword [esp + 0x300]
mov dword [esp + 0x310], ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 0x138], ebx
mov bl, byte [esp + 0x104]
mov byte [esp + 0x10c], bl
mov ebx, dword [esp + 0x304]
mov dword [esp + 0x300], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0x130], ebx
mov bl, byte [esp + 0xfc]
mov byte [esp + 0x104], bl
mov ebx, dword [esp + 0x2fc]
mov dword [esp + 0x304], ebx
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x12c], ebx
mov bl, byte [esp + 0xf8]
mov byte [esp + 0xfc], bl
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 0x2fc], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x120], ebx
mov bl, byte [esp + 0xf4]
mov byte [esp + 0xf8], bl
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 0x2f4], ebx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x11c], ebx
mov bl, byte [esp + 0xf0]
mov byte [esp + 0xf4], bl
mov ebx, dword [esp + 0x2dc]
mov dword [esp + 0x2e4], ebx
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x110], ebx
mov bl, byte [esp + 0xe8]
mov byte [esp + 0xf0], bl
mov ebx, dword [esp + 0x2cc]
mov dword [esp + 0x2dc], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x108], ebx
mov bl, byte [esp + 0xe0]
mov byte [esp + 0xe8], bl
mov ebx, dword [esp + 0x2c8]
mov dword [esp + 0x2cc], ebx
mov ebx, dword [esp + 0x510]
mov dword [esp + 0x510], edi
mov edi, dword [esp + 0x538]
mov dword [esp + 0x100], ebx
mov bl, byte [esp + 4]
mov dword [esp + 0x508], edi
mov edi, dword [esp + 0x534]
mov byte [esp + 0xe0], bl
mov ebx, dword [esp + 0x2b8]
mov dword [esp + 0x2c8], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x4f0], ebx
mov bl, byte [esp + 3]
mov byte [esp + 4], bl
mov ebx, dword [esp + 0x2b0]
mov dword [esp + 0x2b8], ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0xec], ebx
mov bl, byte [esp + 0xd4]
mov byte [esp + 3], bl
mov ebx, dword [esp + 0x2ac]
mov dword [esp + 0x2b0], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0xe4], ebx
mov bl, byte [esp + 0xd0]
mov byte [esp + 0xd4], bl
mov ebx, dword [esp + 0x298]
mov dword [esp + 0x2ac], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0xdc], ebx
mov bl, byte [esp + 0x1b]
mov byte [esp + 0xd0], bl
mov ebx, dword [esp + 0x518]
mov dword [esp + 0x298], ebx
mov ebx, dword [esp + 0x514]
mov dword [esp + 0x514], edi
mov edi, dword [esp + 0x53c]
mov dword [esp + 0xd8], ebx
mov bl, byte [esp + 0x4f8]
mov byte [esp + 0x1b], bl
mov ebx, dword [esp + 0x51c]
mov dword [esp + 0x51c], edi
mov edi, dword [esp + 0x54c]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x558]
mov dword [esp + 0x524], edi
mov dword [esp + 0x518], ebx
xor ebx, ebx
jmp 0x50c86c
jae 0x51af72
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
jmp 0x51b0fc
mov eax, dword [esp + 0x978]
movsd xmm0, qword [esp + 0x970]
mov dword [esp + 0x1018], eax
test al, al
mov eax, dword [esp + 0x8c]
movsd qword [esp + 0x1010], xmm0
je 0x51ba5b
movzx eax, byte [esp + 0x1013]
movzx esi, word [esp + 0x1011]
mov edi, dword [esp + 0x55c]
mov ebx, dword [esp + 0x920]
mov ecx, dword [esp + 0x1018]
mov edx, dword [esp + 0x1014]
mov dword [esp + 0x544], 0
shl eax, 0x10
shl edi, 8
shl ebx, 8
mov dword [esp + 0x530], ecx
lea ecx, [esp + 0x18a0]
mov dword [esp + 0xcc], edx
or esi, eax
mov eax, dword [esp + 0x91c]
add edi, dword [esp + 0x954]
add ebx, dword [esp + 0x554]
mov dword [esp + 0x52c], eax
mov eax, dword [esp + 0x918]
mov dword [esp + 0x524], eax
mov al, byte [esp + 0x1010]
mov dword [esp + 0x550], eax
call fcn.0051e80c
mov eax, dword [esp + 0x564]
mov dword [esp + 0x55c], esi
mov ecx, dword [esp + 0x500]
mov edx, dword [esp + 0x50c]
mov esi, dword [esp + 0x4fc]
mov dword [esp + 0x4f4], eax
mov eax, dword [esp + 0x620]
mov dword [esp + 0x8c], eax
mov al, byte [esp + 0x5b]
mov byte [esp + 0xc8], al
mov eax, dword [esp + 0x568]
mov dword [esp + 0x564], eax
mov eax, dword [esp + 0x624]
mov dword [esp + 0x620], eax
mov al, byte [esp + 0x5c]
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0x56c]
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x630]
mov dword [esp + 0x624], eax
mov al, byte [esp + 0x5d]
mov byte [esp + 0x5c], al
mov eax, dword [esp + 0x570]
mov dword [esp + 0x56c], eax
mov eax, dword [esp + 0x63c]
mov dword [esp + 0x630], eax
mov al, byte [esp + 0x5e]
mov byte [esp + 0x5d], al
mov eax, dword [esp + 0x574]
mov dword [esp + 0x570], eax
mov eax, dword [esp + 0x644]
mov dword [esp + 0x63c], eax
mov al, byte [esp + 0x5f]
mov byte [esp + 0x5e], al
mov eax, dword [esp + 0x578]
mov dword [esp + 0x574], eax
mov eax, dword [esp + 0x64c]
mov dword [esp + 0x644], eax
mov al, byte [esp + 0x60]
mov byte [esp + 0x5f], al
mov eax, dword [esp + 0x57c]
mov dword [esp + 0x578], eax
mov eax, dword [esp + 0x658]
mov dword [esp + 0x64c], eax
mov al, byte [esp + 0x61]
mov byte [esp + 0x60], al
mov eax, dword [esp + 0x580]
mov dword [esp + 0x57c], eax
mov eax, dword [esp + 0x664]
mov dword [esp + 0x658], eax
mov al, byte [esp + 0x62]
mov byte [esp + 0x61], al
mov eax, dword [esp + 0x584]
mov dword [esp + 0x580], eax
mov eax, dword [esp + 0x668]
mov dword [esp + 0x664], eax
mov al, byte [esp + 0x63]
mov byte [esp + 0x62], al
mov eax, dword [esp + 0x588]
mov dword [esp + 0x584], eax
mov eax, dword [esp + 0x674]
mov dword [esp + 0x668], eax
mov al, byte [esp + 0x64]
mov byte [esp + 0x63], al
mov eax, dword [esp + 0x58c]
mov dword [esp + 0x588], eax
mov eax, dword [esp + 0x680]
mov dword [esp + 0x674], eax
mov al, byte [esp + 0x65]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x590]
mov dword [esp + 0x58c], eax
mov eax, dword [esp + 0x688]
mov dword [esp + 0x680], eax
mov al, byte [esp + 0x66]
mov byte [esp + 0x65], al
mov eax, dword [esp + 0x594]
mov dword [esp + 0x590], eax
mov eax, dword [esp + 0x690]
mov dword [esp + 0x688], eax
mov al, byte [esp + 0x67]
mov byte [esp + 0x66], al
mov eax, dword [esp + 0x598]
mov dword [esp + 0x594], eax
mov eax, dword [esp + 0x69c]
mov dword [esp + 0x690], eax
mov al, byte [esp + 0x68]
mov byte [esp + 0x67], al
mov eax, dword [esp + 0x5a0]
mov dword [esp + 0x598], eax
mov eax, dword [esp + 0x6a4]
mov dword [esp + 0x69c], eax
mov al, byte [esp + 0x69]
mov byte [esp + 0x68], al
mov eax, dword [esp + 0x5a8]
mov dword [esp + 0x5a0], eax
mov eax, dword [esp + 0x6ac]
mov dword [esp + 0x6a4], eax
mov al, byte [esp + 0x6a]
mov byte [esp + 0x69], al
mov eax, dword [esp + 0x5b0]
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x6b8]
mov dword [esp + 0x6ac], eax
mov al, byte [esp + 0x6b]
mov byte [esp + 0x6a], al
mov eax, dword [esp + 0x5b8]
mov dword [esp + 0x5b0], eax
mov eax, dword [esp + 0x6c4]
mov dword [esp + 0x6b8], eax
mov al, byte [esp + 0x6c]
mov byte [esp + 0x6b], al
mov eax, dword [esp + 0x5bc]
mov dword [esp + 0x5b8], eax
mov eax, dword [esp + 0x6cc]
mov dword [esp + 0x6c4], eax
mov al, byte [esp + 0x59c]
mov byte [esp + 0x6c], al
mov eax, dword [esp + 0x5c0]
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x6d4]
mov dword [esp + 0x6cc], eax
mov al, byte [esp + 0x5a4]
mov byte [esp + 0x59c], al
mov eax, dword [esp + 0x5c8]
mov dword [esp + 0x5c0], eax
mov eax, dword [esp + 0x6dc]
mov dword [esp + 0x6d4], eax
mov al, byte [esp + 0x5ac]
mov byte [esp + 0x5a4], al
mov eax, dword [esp + 0x5d0]
mov dword [esp + 0x5c8], eax
mov eax, dword [esp + 0x6e4]
mov dword [esp + 0x6dc], eax
mov al, byte [esp + 0x5b4]
mov byte [esp + 0x5ac], al
mov eax, dword [esp + 0x5d8]
mov dword [esp + 0x5d0], eax
mov eax, dword [esp + 0x6ec]
mov dword [esp + 0x6e4], eax
mov al, byte [esp + 0x6d]
mov byte [esp + 0x5b4], al
mov eax, dword [esp + 0x5e0]
mov dword [esp + 0x5d8], eax
mov eax, dword [esp + 0x6f4]
mov dword [esp + 0x6ec], eax
mov al, byte [esp + 0x6e]
mov byte [esp + 0x6d], al
mov eax, dword [esp + 0x5e8]
mov dword [esp + 0x5e0], eax
mov eax, dword [esp + 0x700]
mov dword [esp + 0x6f4], eax
mov al, byte [esp + 0x5c4]
mov byte [esp + 0x6e], al
mov eax, dword [esp + 0x5f0]
mov dword [esp + 0x5e8], eax
mov eax, dword [esp + 0x708]
mov dword [esp + 0x700], eax
mov al, byte [esp + 0x5cc]
mov byte [esp + 0x5c4], al
mov eax, dword [esp + 0x5f8]
mov dword [esp + 0x5f0], eax
mov eax, dword [esp + 0x70c]
mov dword [esp + 0x708], eax
mov al, byte [esp + 0x5d4]
mov byte [esp + 0x5cc], al
mov eax, dword [esp + 0x600]
mov dword [esp + 0x5f8], eax
mov eax, dword [esp + 0x714]
mov dword [esp + 0x70c], eax
mov al, byte [esp + 0x5dc]
mov byte [esp + 0x5d4], al
mov eax, dword [esp + 0x608]
mov dword [esp + 0x600], eax
mov eax, dword [esp + 0x71c]
mov dword [esp + 0x714], eax
mov al, byte [esp + 0x5e4]
mov byte [esp + 0x5dc], al
mov eax, dword [esp + 0x610]
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x724]
mov dword [esp + 0x71c], eax
mov al, byte [esp + 0x5ec]
mov byte [esp + 0x5e4], al
mov eax, dword [esp + 0x61c]
mov dword [esp + 0x610], eax
mov eax, dword [esp + 0x728]
mov dword [esp + 0x724], eax
mov al, byte [esp + 0x5f4]
mov byte [esp + 0x5ec], al
mov eax, dword [esp + 0x628]
mov dword [esp + 0x61c], eax
mov eax, dword [esp + 0x730]
mov dword [esp + 0x728], eax
mov al, byte [esp + 0x5fc]
mov byte [esp + 0x5f4], al
mov eax, dword [esp + 0x638]
mov dword [esp + 0x628], eax
mov eax, dword [esp + 0x73c]
mov dword [esp + 0x730], eax
mov al, byte [esp + 0x604]
mov byte [esp + 0x5fc], al
mov eax, dword [esp + 0x640]
mov dword [esp + 0x638], eax
mov eax, dword [esp + 0x740]
mov dword [esp + 0x73c], eax
mov al, byte [esp + 0x60c]
mov byte [esp + 0x604], al
mov eax, dword [esp + 0x650]
mov dword [esp + 0x640], eax
mov eax, dword [esp + 0x74c]
mov dword [esp + 0x740], eax
mov al, byte [esp + 0x614]
mov byte [esp + 0x60c], al
mov eax, dword [esp + 0x65c]
mov dword [esp + 0x650], eax
mov eax, dword [esp + 0x754]
mov dword [esp + 0x74c], eax
mov al, byte [esp + 0x618]
mov byte [esp + 0x614], al
mov eax, dword [esp + 0x66c]
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0x75c]
mov dword [esp + 0x754], eax
mov al, byte [esp + 0x62c]
mov byte [esp + 0x618], al
mov eax, dword [esp + 0x678]
mov dword [esp + 0x66c], eax
mov eax, dword [esp + 0x768]
mov dword [esp + 0x75c], eax
mov al, byte [esp + 0x634]
mov byte [esp + 0x62c], al
mov eax, dword [esp + 0x684]
mov dword [esp + 0x678], eax
mov eax, dword [esp + 0x774]
mov dword [esp + 0x768], eax
mov al, byte [esp + 0x648]
mov byte [esp + 0x634], al
mov eax, dword [esp + 0x694]
mov dword [esp + 0x684], eax
mov eax, dword [esp + 0x77c]
mov dword [esp + 0x774], eax
mov al, byte [esp + 0x654]
mov byte [esp + 0x648], al
mov eax, dword [esp + 0x6a0]
mov dword [esp + 0x694], eax
mov eax, dword [esp + 0x784]
mov dword [esp + 0x77c], eax
mov al, byte [esp + 0x660]
mov byte [esp + 0x654], al
mov eax, dword [esp + 0x6b0]
mov dword [esp + 0x6a0], eax
mov eax, dword [esp + 0x790]
mov dword [esp + 0x784], eax
mov al, byte [esp + 0x670]
mov byte [esp + 0x660], al
mov eax, dword [esp + 0x6bc]
mov dword [esp + 0x6b0], eax
mov eax, dword [esp + 0x798]
mov dword [esp + 0x790], eax
mov al, byte [esp + 0x67c]
mov byte [esp + 0x670], al
mov eax, dword [esp + 0x6c8]
mov dword [esp + 0x6bc], eax
mov eax, dword [esp + 0x79c]
mov dword [esp + 0x798], eax
mov al, byte [esp + 0x68c]
mov byte [esp + 0x67c], al
mov eax, dword [esp + 0x6d8]
mov dword [esp + 0x6c8], eax
mov eax, dword [esp + 0x7a4]
mov dword [esp + 0x79c], eax
mov al, byte [esp + 0x698]
mov byte [esp + 0x68c], al
mov eax, dword [esp + 0x6e0]
mov dword [esp + 0x6d8], eax
mov eax, dword [esp + 0x7b0]
mov dword [esp + 0x7a4], eax
mov al, byte [esp + 0x6a8]
mov byte [esp + 0x698], al
mov eax, dword [esp + 0x6f0]
mov dword [esp + 0x6e0], eax
mov eax, dword [esp + 0x7b8]
mov dword [esp + 0x7b0], eax
mov al, byte [esp + 0x6b4]
mov byte [esp + 0x6a8], al
mov eax, dword [esp + 0x6f8]
mov dword [esp + 0x6f0], eax
mov eax, dword [esp + 0x7bc]
mov dword [esp + 0x7b8], eax
mov al, byte [esp + 0x6c0]
mov byte [esp + 0x6b4], al
mov eax, dword [esp + 0x704]
mov dword [esp + 0x6f8], eax
mov eax, dword [esp + 0x7c8]
mov dword [esp + 0x7bc], eax
mov al, byte [esp + 0x6d0]
mov byte [esp + 0x6c0], al
mov eax, dword [esp + 0x710]
mov dword [esp + 0x704], eax
mov eax, dword [esp + 0x7d0]
mov dword [esp + 0x7c8], eax
mov al, byte [esp + 0x6f]
mov byte [esp + 0x6d0], al
mov eax, dword [esp + 0x718]
mov dword [esp + 0x710], eax
mov eax, dword [esp + 0x7d8]
mov dword [esp + 0x7d0], eax
mov al, byte [esp + 0x6e8]
mov byte [esp + 0x6f], al
mov eax, dword [esp + 0x720]
mov dword [esp + 0x718], eax
mov eax, dword [esp + 0x7e4]
mov dword [esp + 0x7d8], eax
mov al, byte [esp + 0x70]
mov byte [esp + 0x6e8], al
mov eax, dword [esp + 0x72c]
mov dword [esp + 0x720], eax
mov eax, dword [esp + 0x7f0]
mov dword [esp + 0x7e4], eax
mov al, byte [esp + 0x6fc]
mov byte [esp + 0x70], al
mov eax, dword [esp + 0x734]
mov dword [esp + 0x72c], eax
mov eax, dword [esp + 0x7f8]
mov dword [esp + 0x7f0], eax
mov al, byte [esp + 0x71]
mov byte [esp + 0x6fc], al
mov eax, dword [esp + 0x744]
mov dword [esp + 0x734], eax
mov eax, dword [esp + 0x800]
mov dword [esp + 0x7f8], eax
mov al, byte [esp + 0x72]
mov byte [esp + 0x71], al
mov eax, dword [esp + 0x750]
mov dword [esp + 0x744], eax
mov eax, dword [esp + 0x80c]
mov dword [esp + 0x800], eax
mov al, byte [esp + 0x73]
mov byte [esp + 0x72], al
mov eax, dword [esp + 0x760]
mov dword [esp + 0x750], eax
mov eax, dword [esp + 0x818]
mov dword [esp + 0x80c], eax
mov al, byte [esp + 0x74]
mov byte [esp + 0x73], al
mov eax, dword [esp + 0x76c]
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0x81c]
mov dword [esp + 0x818], eax
mov al, byte [esp + 0x75]
mov byte [esp + 0x74], al
mov eax, dword [esp + 0x778]
mov dword [esp + 0x76c], eax
mov eax, dword [esp + 0x828]
mov dword [esp + 0x81c], eax
mov al, byte [esp + 0x738]
mov byte [esp + 0x75], al
mov eax, dword [esp + 0x788]
mov dword [esp + 0x778], eax
mov eax, dword [esp + 0x834]
mov dword [esp + 0x828], eax
mov al, byte [esp + 0x748]
mov byte [esp + 0x738], al
mov eax, dword [esp + 0x794]
mov dword [esp + 0x788], eax
mov eax, dword [esp + 0x83c]
mov dword [esp + 0x834], eax
mov al, byte [esp + 0x758]
mov byte [esp + 0x748], al
mov eax, dword [esp + 0x7a0]
mov dword [esp + 0x794], eax
mov eax, dword [esp + 0x844]
mov dword [esp + 0x83c], eax
mov al, byte [esp + 0x764]
mov byte [esp + 0x758], al
mov eax, dword [esp + 0x7a8]
mov dword [esp + 0x7a0], eax
mov eax, dword [esp + 0x84c]
mov dword [esp + 0x844], eax
mov al, byte [esp + 0x770]
mov byte [esp + 0x764], al
mov eax, dword [esp + 0x7b4]
mov dword [esp + 0x7a8], eax
mov eax, dword [esp + 0x854]
mov dword [esp + 0x84c], eax
mov al, byte [esp + 0x780]
mov byte [esp + 0x770], al
mov eax, dword [esp + 0x7c0]
mov dword [esp + 0x7b4], eax
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x854], eax
mov al, byte [esp + 0x78c]
mov byte [esp + 0x780], al
mov eax, dword [esp + 0x7cc]
mov dword [esp + 0x7c0], eax
mov eax, dword [esp + 0x860]
mov dword [esp + 0x85c], eax
mov al, byte [esp + 0x76]
mov byte [esp + 0x78c], al
mov eax, dword [esp + 0x7dc]
mov dword [esp + 0x7cc], eax
mov eax, dword [esp + 0x868]
mov dword [esp + 0x860], eax
mov al, byte [esp + 0x77]
mov byte [esp + 0x76], al
mov eax, dword [esp + 0x7e8]
mov dword [esp + 0x7dc], eax
mov eax, dword [esp + 0x870]
mov dword [esp + 0x868], eax
mov al, byte [esp + 0x7ac]
mov byte [esp + 0x77], al
mov eax, dword [esp + 0x7f4]
mov dword [esp + 0x7e8], eax
mov eax, dword [esp + 0x874]
mov dword [esp + 0x870], eax
mov al, byte [esp + 0x78]
mov byte [esp + 0x7ac], al
mov eax, dword [esp + 0x804]
mov dword [esp + 0x7f4], eax
mov eax, dword [esp + 0x87c]
mov dword [esp + 0x874], eax
mov al, byte [esp + 0x7c4]
mov byte [esp + 0x78], al
mov eax, dword [esp + 0x810]
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0x880]
mov dword [esp + 0x87c], eax
mov al, byte [esp + 0x7d4]
mov byte [esp + 0x7c4], al
mov eax, dword [esp + 0x820]
mov dword [esp + 0x810], eax
mov eax, dword [esp + 0x890]
mov dword [esp + 0x880], eax
mov al, byte [esp + 0x7e0]
mov byte [esp + 0x7d4], al
mov eax, dword [esp + 0x82c]
mov dword [esp + 0x820], eax
mov eax, dword [esp + 0x89c]
mov dword [esp + 0x890], eax
mov al, byte [esp + 0x7ec]
mov byte [esp + 0x7e0], al
mov eax, dword [esp + 0x560]
mov dword [esp + 0x4f0], eax
mov eax, dword [esp + 0x508]
mov dword [esp + 0x560], eax
mov eax, dword [esp + 0x838]
mov dword [esp + 0x82c], eax
mov eax, dword [esp + 0x8a8]
mov dword [esp + 0x89c], eax
mov al, byte [esp + 0x7fc]
mov byte [esp + 0x7ec], al
mov eax, dword [esp + 0x848]
mov dword [esp + 0x838], eax
mov eax, dword [esp + 0x8ac]
mov dword [esp + 0x8a8], eax
mov al, byte [esp + 0x808]
mov byte [esp + 0x7fc], al
mov eax, dword [esp + 0x924]
mov dword [esp + 0x91c], eax
mov eax, dword [esp + 0x92c]
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0x850]
mov dword [esp + 0x848], eax
mov eax, dword [esp + 0x8b8]
mov dword [esp + 0x8ac], eax
mov al, byte [esp + 0x814]
mov byte [esp + 0x808], al
mov eax, dword [esp + 0x858]
mov dword [esp + 0x850], eax
mov eax, dword [esp + 0x8c0]
mov dword [esp + 0x8b8], eax
mov al, byte [esp + 0x824]
mov byte [esp + 0x814], al
mov eax, dword [esp + 0x928]
mov dword [esp + 0x924], eax
mov eax, dword [esp + 0x930]
mov dword [esp + 0x92c], eax
mov eax, dword [esp + 0x864]
mov dword [esp + 0x858], eax
mov eax, dword [esp + 0x8c8]
mov dword [esp + 0x8c0], eax
mov al, byte [esp + 0x830]
mov byte [esp + 0x824], al
mov al, byte [esp + 0x4f8]
mov byte [esp + 0x7f], al
mov eax, dword [esp + 0x86c]
mov dword [esp + 0x864], eax
mov eax, dword [esp + 0x8cc]
mov dword [esp + 0x8c8], eax
mov al, byte [esp + 0x840]
mov byte [esp + 0x830], al
mov eax, dword [esp + 0x934]
mov dword [esp + 0x934], ebx
mov ebx, dword [esp + 0x504]
mov dword [esp + 0x928], eax
mov eax, dword [esp + 0x534]
mov dword [esp + 0x930], eax
mov eax, dword [esp + 0x878]
mov dword [esp + 0x86c], eax
mov eax, dword [esp + 0x8d4]
mov dword [esp + 0x8cc], eax
mov al, byte [esp + 0x79]
mov byte [esp + 0x840], al
mov eax, dword [esp + 0x884]
mov dword [esp + 0x878], eax
mov eax, dword [esp + 0x8dc]
mov dword [esp + 0x8d4], eax
mov al, byte [esp + 0x7a]
mov byte [esp + 0x79], al
mov eax, dword [esp + 0x894]
mov dword [esp + 0x884], eax
mov eax, dword [esp + 0x8e4]
mov dword [esp + 0x8dc], eax
mov al, byte [esp + 0x7b]
mov byte [esp + 0x7a], al
mov eax, dword [esp + 0x8a0]
mov dword [esp + 0x894], eax
mov eax, dword [esp + 0x8e8]
mov dword [esp + 0x8e4], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0x7b], al
mov eax, dword [esp + 0x8b0]
mov dword [esp + 0x8a0], eax
mov eax, dword [esp + 0x8f0]
mov dword [esp + 0x8e8], eax
mov al, byte [esp + 0x7d]
mov byte [esp + 0x7c], al
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x8b0], eax
mov eax, dword [esp + 0x900]
mov dword [esp + 0x8f0], eax
mov al, byte [esp + 0x7e]
mov byte [esp + 0x7d], al
mov eax, dword [esp + 0x8c4]
mov dword [esp + 0x8bc], eax
mov eax, dword [esp + 0x904]
mov dword [esp + 0x900], eax
mov al, byte [esp + 0x888]
mov byte [esp + 0x7e], al
mov eax, dword [esp + 0x8d0]
mov dword [esp + 0x8c4], eax
mov eax, dword [esp + 0x908]
mov dword [esp + 0x904], eax
mov al, byte [esp + 0x898]
mov byte [esp + 0x888], al
mov eax, dword [esp + 0x8d8]
mov dword [esp + 0x8d0], eax
mov eax, dword [esp + 0x90c]
mov dword [esp + 0x908], eax
mov al, byte [esp + 0x8a4]
mov byte [esp + 0x898], al
mov eax, dword [esp + 0x8e0]
mov dword [esp + 0x8d8], eax
mov eax, dword [esp + 0x910]
mov dword [esp + 0x90c], eax
mov al, byte [esp + 0x8b4]
mov byte [esp + 0x8a4], al
mov eax, dword [esp + 0x8ec]
mov dword [esp + 0x8e0], eax
mov eax, dword [esp + 0x914]
mov dword [esp + 0x910], eax
mov al, byte [esp + 0x37]
mov byte [esp + 0x8b4], al
mov eax, dword [esp + 0x8f4]
mov dword [esp + 0x8ec], eax
mov eax, dword [esp + 0x528]
mov dword [esp + 0x914], eax
mov eax, dword [esp + 0x88c]
mov dword [esp + 0x528], eax
mov eax, dword [esp + 0x8fc]
mov dword [esp + 0x8f4], eax
mov eax, dword [esp + 0x8f8]
mov dword [esp + 0x8f8], edi
mov dword [esp + 0x8fc], eax
mov eax, dword [esp + 0x540]
mov dword [esp + 0x88c], eax
mov eax, dword [esp + 0x53c]
mov dword [esp + 0x540], eax
mov al, byte [esp + 0x548]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x538]
mov dword [esp + 0x918], eax
mov eax, dword [esp + 0x558]
mov dword [esp + 0x920], eax
mov eax, dword [esp + 0x54c]
jmp 0x50c86c
cmp ecx, 6
jne 0x519f78
mov edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
lea esi, [esp + 0x18a0]
lea ecx, [eax + eax*8]
add eax, edx
lea ecx, [ecx + ecx*2]
add eax, ecx
mov ecx, esi
push eax
call fcn.004eab4b
add esp, 4
lea edi, [esp + 0x970]
mov edx, esi
mov ecx, edi
call fcn.005481e7
movsd xmm2, qword [edi]
movsd xmm0, qword [edi + 0x10]
movsd xmm1, qword [edi + 8]
mov ecx, edi
mov dword [edi], 0
movsd qword [esi + 0x10], xmm0
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm2
call fcn.004ea81e
cmp dword [esi], 6
jne 0x51ba88
mov eax, dword [esp + 0x18a4]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x534], ebx
test eax, eax
mov dword [esp + 0x504], eax
je 0x519f78
mov edx, dword [esp + 0x18ac]
mov eax, dword [esp + 0x18a8]
cmp edx, 2
mov dword [esp + 0x548], eax
jb 0x51b0b2
mov eax, dword [esp + 0x504]
lea edi, [eax + 0x1c]
xor eax, eax
inc eax
mov esi, edx
mov ebx, edx
mov dword [esp + 0x4f8], eax
sub esi, eax
je 0x51cf81
lea ecx, [esp + 0x970]
mov edx, edi
call fcn.00520879
cmp byte [esp + 0x978], 2
je 0x51b0a1
mov eax, dword [esp + 0x978]
movsd xmm0, qword [esp + 0x970]
test al, al
mov dword [esp + 0x1410], eax
movsd qword [esp + 0x1408], xmm0
jne 0x51bb41
mov eax, dword [esp + 0x1408]
lock dec dword [eax]
jne 0x51b0a1
lea ecx, [esp + 0x1408]
call fcn.00568449
mov eax, dword [esp + 0x4f8]
add edi, 0x1c
mov edx, ebx
inc eax
cmp ebx, eax
jne 0x51b036
mov esi, dword [esp + 0x504]
mov ecx, esi
call fcn.00537d9e
cmp dword [esp + 0x548], 0
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x28]
je 0x51b0e5
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ebx
mov bl, byte [esp + 0xc8]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x80], ecx
mov byte [esp + 0x548], bl
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x8c], eax
mov al, byte [esp + 0x1a]
mov dword [esp + 0x4f8], ebx
mov ebx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], edx
mov dl, byte [esp + 0x4e8]
mov dword [esp + 0x504], ebx
mov bl, byte [esp + 0x4ec]
mov byte [esp + 0x4ec], al
mov eax, dword [esp + 0x54]
mov byte [esp + 0x1a], dl
mov edx, dword [esp + 0x20]
mov dword [esp + 0x54], esi
mov byte [esp + 0xc8], bl
mov bl, byte [esp + 0x19]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x28], edx
mov byte [esp + 0x4e8], bl
mov al, byte [esp + 0x458]
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x488]
mov esi, dword [esp + 0x490]
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x490], edx
mov edx, dword [esp + 0x484]
mov dword [esp + 0x484], edi
mov edi, dword [esp + 0x47c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x488], edi
mov edi, dword [esp + 0x474]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x454]
mov dword [esp + 0x47c], edi
mov edi, dword [esp + 0x468]
mov byte [esp + 0x458], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x474], edi
mov edi, dword [esp + 0x46c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x468], edi
mov edi, dword [esp + 0x45c]
mov dword [esp + 0x48c], eax
mov al, byte [esp + 0x43c]
mov dword [esp + 0x46c], edi
mov edi, dword [esp + 0x50c]
mov byte [esp + 0x454], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x480], eax
mov al, byte [esp + 0x444]
mov byte [esp + 0x43c], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], eax
mov al, byte [esp + 0x434]
mov byte [esp + 0x444], al
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x478], eax
mov al, byte [esp + 0x430]
mov byte [esp + 0x434], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x464], eax
mov al, byte [esp + 0x41c]
mov byte [esp + 0x430], al
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x460], eax
mov al, byte [esp + 0x40c]
mov byte [esp + 0x41c], al
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0x44c], eax
mov al, byte [esp + 0x400]
mov byte [esp + 0x40c], al
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x4fc]
mov dword [esp + 0x448], eax
mov al, byte [esp + 0x3fc]
mov byte [esp + 0x400], al
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x4fc], eax
mov al, byte [esp + 0x3e0]
mov byte [esp + 0x3fc], al
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x3dc]
mov byte [esp + 0x3e0], al
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x428], eax
mov al, byte [esp + 0x3cc]
mov byte [esp + 0x3dc], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x418], eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x3cc], al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x408], eax
mov al, byte [esp + 0x3b0]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x404], eax
mov al, byte [esp + 0x3ac]
mov byte [esp + 0x3b0], al
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov al, byte [esp + 0x394]
mov byte [esp + 0x3ac], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3ec], eax
mov al, byte [esp + 0x388]
mov byte [esp + 0x394], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], eax
mov al, byte [esp + 0x37c]
mov byte [esp + 0x388], al
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3c8], eax
mov al, byte [esp + 0x378]
mov byte [esp + 0x37c], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x4e4], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3bc], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x378], al
mov eax, dword [esp + 0x4dc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b8], eax
mov al, byte [esp + 0x16]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x4e0], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x15]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x4d4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x380], eax
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4d8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x4d0]
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x36c], eax
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x4d0], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x368], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x4c4]
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x354], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x350], eax
mov al, byte [esp + 0xe]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x348], eax
mov al, byte [esp + 0xd]
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x4b8]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x344], eax
mov al, byte [esp + 0xc]
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x334], eax
mov al, byte [esp + 0x2f0]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x328], eax
mov al, byte [esp + 0x2e8]
mov byte [esp + 0x2f0], al
mov eax, dword [esp + 0x4b0]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x318]
mov dword [esp + 0x31c], eax
mov al, byte [esp + 0x2d4]
mov byte [esp + 0x2e8], al
mov eax, dword [esp + 0x4a4]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x318], eax
mov al, byte [esp + 0x2d0]
mov byte [esp + 0x2d4], al
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x30c], eax
mov al, byte [esp + 0x2bc]
mov byte [esp + 0x2d0], al
mov eax, dword [esp + 0x4a0]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x308], eax
mov al, byte [esp + 0x2b4]
mov byte [esp + 0x2bc], al
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 0x2a4]
mov byte [esp + 0x2b4], al
mov eax, dword [esp + 0x494]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2ec], eax
mov al, byte [esp + 0x29c]
mov byte [esp + 0x2a4], al
mov eax, dword [esp + 0x498]
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2e0], eax
mov al, byte [esp + 0x28c]
mov byte [esp + 0x29c], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2d8], eax
mov al, byte [esp + 0x288]
mov byte [esp + 0x28c], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2c0], ecx
mov cl, byte [esp + 0x27c]
mov dword [esp + 0x2c4], eax
mov al, byte [esp + 0x278]
mov byte [esp + 0x278], cl
mov ecx, dword [esp + 0x2a8]
mov byte [esp + 0x288], al
mov al, byte [esp + 0x268]
mov dword [esp + 0x2a0], ecx
mov cl, byte [esp + 0x26c]
mov byte [esp + 0x26c], al
mov al, byte [esp + 0x260]
mov byte [esp + 0x27c], cl
mov ecx, dword [esp + 0x294]
mov byte [esp + 0x268], al
mov al, byte [esp + 0x258]
mov dword [esp + 0x2a8], ecx
mov ecx, dword [esp + 0x290]
mov byte [esp + 0x260], al
mov al, byte [esp + 0x24c]
mov dword [esp + 0x294], ecx
mov ecx, dword [esp + 0x284]
mov byte [esp + 0x258], al
mov al, byte [esp + 0x248]
mov dword [esp + 0x290], ecx
mov ecx, dword [esp + 0x280]
mov byte [esp + 0x24c], al
mov al, byte [esp + 0x23c]
mov dword [esp + 0x284], ecx
mov ecx, dword [esp + 0x274]
mov byte [esp + 0x248], al
mov eax, dword [esp + 0x264]
mov dword [esp + 0x280], ecx
mov ecx, dword [esp + 0x270]
mov dword [esp + 0x270], eax
mov al, byte [esp + 0x238]
mov dword [esp + 0x274], ecx
mov ecx, dword [esp + 0x500]
mov byte [esp + 0x23c], al
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x45c], ecx
mov ecx, dword [esp + 0x450]
mov dword [esp + 0x264], eax
mov al, byte [esp + 0x22c]
mov dword [esp + 0x500], ecx
mov ecx, dword [esp + 0x520]
mov byte [esp + 0x238], al
mov eax, dword [esp + 0x254]
mov dword [esp + 0x450], ecx
mov ecx, dword [esp + 0x440]
mov dword [esp + 0x440], edi
jmp 0x50f901
mov ecx, 4
xor edx, edx
call fcn.00489190
jmp 0x501ad8
test edi, edi
je 0x501ad8
mov eax, dword [esp + 0x161c]
mov ebx, dword [esp + 0x1620]
lea esi, [esp + 0x970]
mov edx, edi
mov ecx, esi
mov dword [esp + 0x24], eax
push ebx
call fcn.0051db17
add esp, 4
mov al, byte [esi + 9]
cmp al, 3
jne 0x51baa8
mov ecx, edi
mov edx, ebx
call fcn.00489190
cmp dword [esp + 0x24], 0
je 0x501ad8
push edi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x501ad8
mov ecx, edx
mov edx, dword [esp + 0x20]
push 0x768028
call fcn.006521f0
add esp, 4
ud2
mov esi, dword [esp + 0x528]
mov ecx, dword [esp + 0x1010]
shl esi, 8
or esi, eax
lock dec dword [ecx]
jne 0x518de0
lea ecx, [esp + 0x1010]
call fcn.00568449
jmp 0x518de0
lea ecx, [esp + 0x18a0]
call fcn.004ea840
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x80]
jmp 0x519f78
mov dl, byte [esp + 0x978]
lea ecx, [esp + 0x14d0]
movsd xmm0, qword [esp + 0x970]
mov byte [ecx + 8], dl
movzx edx, word [esp + 0x97a]
movsd qword [ecx], xmm0
mov byte [ecx + 9], al
mov word [ecx + 0xa], dx
call fcn.0051da60
mov ecx, edi
mov edx, ebx
mov esi, eax
call fcn.00489190
cmp dword [esp + 0x24], 0
je 0x51bafb
push edi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 0x768e5c
jmp 0x501a8b
mov edx, dword [esp + 0x40]
mov ecx, eax
push 0x767e00
jmp 0x51ba51
xor ecx, ecx
xor edx, edx
push 0x7688e8
jmp 0x51ba51
mov ecx, edx
push 0x768018
jmp 0x51ba51
mov ecx, esi
call fcn.0053af7b
mov ebx, eax
lea eax, [esi + esi*8]
mov dword [esp + 0x530], edx
lea eax, [eax + eax*2]
add eax, esi
push eax
push edi
push ebx
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x530]
lea edi, [esp + 0x970]
mov dword [edi], ebx
mov edx, edi
mov dword [edi + 4], eax
mov dword [edi + 8], esi
lea esi, [esp + 0x18a0]
mov ecx, esi
call fcn.005481e7
mov eax, dword [esp + 0x504]
mov edx, dword [esp + 0x4f8]
mov ecx, dword [esp + 0x548]
mov dword [edi], eax
mov dword [edi + 8], edx
mov dword [edi + 4], ecx
lea ecx, [esp + 0x14d0]
lea edx, [esp + 0x970]
call fcn.005481e7
lea edi, [esp + 0x12c8]
mov edx, esi
mov ecx, edi
call fcn.00520879
cmp byte [edi + 8], 2
jne 0x51bc03
mov eax, dword [esp + 0x1410]
movsd xmm0, qword [esp + 0x1408]
mov dword [esp + 0x4f8], 0
jmp 0x51bc45
push 0x769d48
jmp 0x51ba51
mov ecx, edi
push 0x768038
jmp 0x51ba51
mov eax, dword [esp + 0x12d0]
movsd xmm0, qword [esp + 0x12c8]
test al, al
mov dword [esp + 0x978], eax
movsd qword [esp + 0x970], xmm0
setne al
mov dword [esp + 0x4f8], eax
je 0x51bf53
mov eax, dword [esp + 0x12d0]
movsd xmm0, qword [esp + 0x12c8]
mov dword [esp + 0x1480], eax
movsd qword [esp + 0x1478], xmm0
mov eax, dword [esp + 0x1480]
movsd xmm0, qword [esp + 0x1478]
movsd xmm1, qword [esp + 0x14d4]
lea esi, [esp + 0x970]
movsd xmm2, qword [esp + 0x14dc]
lea edi, [esp + 0x1618]
mov ecx, 9
mov ebx, dword [esp + 0x14d0]
mov dword [esi + 0x20], eax
movsd qword [esi + 0x18], xmm0
movsd qword [esi], xmm1
movsd xmm1, qword [esp + 0x14e4]
movsd qword [esi + 8], xmm2
movsd qword [esi + 0x10], xmm1
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x18a0]
call fcn.004ea81e
cmp byte [esp + 0x4f8], 0
je 0x51bce0
mov eax, dword [esp + 0x1408]
lock dec dword [eax]
jne 0x51bce0
lea ecx, [esp + 0x1408]
call fcn.00568449
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x1c]
cmp ebx, 8
je 0x51b0fc
movsd xmm1, qword [esp + 0x1620]
movsd xmm0, qword [esp + 0x1628]
movsd xmm2, qword [esp + 0x1618]
mov eax, dword [esp + 0x1638]
mov ecx, dword [esp + 0x540]
mov edx, 0xa
mov esi, 0xa00000
movsd qword [esp + 0x18ac], xmm1
movsd xmm1, qword [esp + 0x1630]
movsd qword [esp + 0x18b4], xmm0
movsd qword [esp + 0x18a4], xmm2
mov dword [esp + 0x12d0], eax
mov dword [esp + 0x18a0], ebx
movsd qword [esp + 0x12c8], xmm1
cmp byte [ecx + 0x3c], 0
movzx eax, byte [ecx + 0x3d]
mov bl, byte [ecx + 0x3f]
cmovne edx, eax
xor edi, edi
mov byte [esp + 0x4f8], bl
lea ebx, [esp + 0x970]
mov dword [esp + 0x504], edx
mov edx, dword [ecx + 0x10]
inc edi
cmp edx, 2
cmovne esi, dword [ecx + 0x14]
mov ecx, ebx
cmovne edi, edx
call fcn.004f6cfe
mov eax, dword [esp + 0x504]
cmp byte [esp + 0x4f8], 0
mov dword [ebx], edi
mov dword [ebx + 4], esi
mov byte [ebx + 8], 1
lea edi, [esp + 0x14d0]
mov edx, ebx
mov ecx, edi
mov byte [ebx + 9], al
lea eax, [esp + 0x18a0]
setne byte [ebx + 0xa]
mov word [ebx + 0xb], 1
mov byte [ebx + 0xd], 2
mov dword [esp + 0x1618], eax
push 1
lea eax, [esp + 0x161c]
push eax
call fcn.0051e878
add esp, 8
mov ecx, ebx
mov esi, ebx
call fcn.004f7f0c
cmp dword [edi], 0x2a
jne 0x51be74
mov ecx, dword [esp + 0x540]
mov eax, dword [esp + 0x14d4]
cmp byte [ecx + 0x41], 0
mov dword [esp + 0x954], eax
je 0x51bf94
mov edx, dword [esp + 0x540]
lea edi, [esp + 0x1618]
mov ecx, edi
push dword [esp + 0x954]
call fcn.00520901
add esp, 4
movzx edx, byte [edi + 3]
movzx ecx, word [edi + 1]
mov al, byte [edi]
shl edx, 0x10
mov dword [esp + 0x550], eax
or ecx, edx
mov dword [esp + 0x55c], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x530], ecx
jmp 0x51bfc9
lea ecx, [esp + 0x14d0]
call fcn.004f8064
mov eax, dword [esp + 0x12c8]
lock dec dword [eax]
jne 0x51be98
lea ecx, [esp + 0x12c8]
call fcn.00568449
lea ecx, [esp + 0x18a0]
call fcn.004ea81e
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x4f4]
mov dh, byte [esp + 0x4ec]
mov dl, byte [esp + 0x1a]
mov al, byte [esp + 0xc8]
mov dword [esp + 0x4f8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x504], esi
mov esi, dword [esp + 0x48]
mov byte [esp + 0xc8], dh
mov byte [esp + 0x4ec], dl
mov dh, byte [esp + 0x4e8]
mov dl, byte [esp + 0x19]
mov byte [esp + 0x548], al
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4f4], esi
mov esi, dword [esp + 0x3c]
mov byte [esp + 0x1a], dh
mov byte [esp + 0x4e8], dl
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x28], ecx
jmp 0x518bf3
mov ecx, eax
push 0x767b94
jmp 0x51ba51
ud2
mov eax, dword [esp + 0x1410]
movsd xmm0, qword [esp + 0x1408]
mov ecx, dword [esp + 0x970]
mov dword [esp + 0x1480], eax
movsd qword [esp + 0x1478], xmm0
lock dec dword [ecx]
jne 0x51bc55
lea ecx, [esp + 0x970]
call fcn.00568449
jmp 0x51bc55
mov al, 2
mov dword [esp + 0x161c], 0
mov dword [esp + 0x1618], 2
mov dword [esp + 0x530], 0
mov dword [esp + 0x55c], 0
mov dword [esp + 0x550], eax
mov eax, dword [esp + 0x12d0]
movsd xmm0, qword [esp + 0x12c8]
mov ecx, 0x280
mov dword [esp + 0xbf8], eax
movsd qword [esp + 0xbf0], xmm0
lea eax, [esp + 0x1620]
push ecx
push eax
mov edi, esi
push esi
call fcn.0064a810
add esp, 0xc
mov ebx, dword [esp + 0x88c]
mov esi, ebx
shr esi, 8
push 0x28c
push edi
lea eax, [esp + 0x1018]
push eax
call fcn.0064a810
add esp, 0xc
lea ecx, [esp + 0x18a0]
call fcn.004ea81e
mov eax, ebx
mov al, byte [esp + 0x5b]
mov byte [esp + 0x544], bl
mov ebx, dword [esp + 0x92c]
mov ecx, dword [esp + 0x508]
mov edx, dword [esp + 0x524]
mov byte [esp + 0x548], al
mov eax, dword [esp + 0x620]
mov dword [esp + 0x918], ecx
mov ecx, dword [esp + 0x52c]
mov dword [esp + 0x558], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x4f8], eax
mov eax, dword [esp + 0x564]
mov dword [esp + 0x54c], ecx
mov ecx, dword [esp + 0x520]
mov dword [esp + 0x504], eax
mov eax, dword [esp + 0x568]
mov dword [esp + 0x564], eax
mov eax, dword [esp + 0x624]
mov dword [esp + 0x620], eax
mov al, byte [esp + 0x5c]
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0x56c]
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x630]
mov dword [esp + 0x624], eax
mov al, byte [esp + 0x5d]
mov byte [esp + 0x5c], al
mov eax, dword [esp + 0x570]
mov dword [esp + 0x56c], eax
mov eax, dword [esp + 0x63c]
mov dword [esp + 0x630], eax
mov al, byte [esp + 0x5e]
mov byte [esp + 0x5d], al
mov eax, dword [esp + 0x574]
mov dword [esp + 0x570], eax
mov eax, dword [esp + 0x644]
mov dword [esp + 0x63c], eax
mov al, byte [esp + 0x5f]
mov byte [esp + 0x5e], al
mov eax, dword [esp + 0x578]
mov dword [esp + 0x574], eax
mov eax, dword [esp + 0x64c]
mov dword [esp + 0x644], eax
mov al, byte [esp + 0x60]
mov byte [esp + 0x5f], al
mov eax, dword [esp + 0x57c]
mov dword [esp + 0x578], eax
mov eax, dword [esp + 0x658]
mov dword [esp + 0x64c], eax
mov al, byte [esp + 0x61]
mov byte [esp + 0x60], al
mov eax, dword [esp + 0x580]
mov dword [esp + 0x57c], eax
mov eax, dword [esp + 0x664]
mov dword [esp + 0x658], eax
mov al, byte [esp + 0x62]
mov byte [esp + 0x61], al
mov eax, dword [esp + 0x584]
mov dword [esp + 0x580], eax
mov eax, dword [esp + 0x668]
mov dword [esp + 0x664], eax
mov al, byte [esp + 0x63]
mov byte [esp + 0x62], al
mov eax, dword [esp + 0x588]
mov dword [esp + 0x584], eax
mov eax, dword [esp + 0x674]
mov dword [esp + 0x668], eax
mov al, byte [esp + 0x64]
mov byte [esp + 0x63], al
mov eax, dword [esp + 0x58c]
mov dword [esp + 0x588], eax
mov eax, dword [esp + 0x680]
mov dword [esp + 0x674], eax
mov al, byte [esp + 0x65]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x590]
mov dword [esp + 0x58c], eax
mov eax, dword [esp + 0x688]
mov dword [esp + 0x680], eax
mov al, byte [esp + 0x66]
mov byte [esp + 0x65], al
mov eax, dword [esp + 0x594]
mov dword [esp + 0x590], eax
mov eax, dword [esp + 0x690]
mov dword [esp + 0x688], eax
mov al, byte [esp + 0x67]
mov byte [esp + 0x66], al
mov eax, dword [esp + 0x598]
mov dword [esp + 0x594], eax
mov eax, dword [esp + 0x69c]
mov dword [esp + 0x690], eax
mov al, byte [esp + 0x68]
mov byte [esp + 0x67], al
mov eax, dword [esp + 0x5a0]
mov dword [esp + 0x598], eax
mov eax, dword [esp + 0x6a4]
mov dword [esp + 0x69c], eax
mov al, byte [esp + 0x69]
mov byte [esp + 0x68], al
mov eax, dword [esp + 0x5a8]
mov dword [esp + 0x5a0], eax
mov eax, dword [esp + 0x6ac]
mov dword [esp + 0x6a4], eax
mov al, byte [esp + 0x6a]
mov byte [esp + 0x69], al
mov eax, dword [esp + 0x5b0]
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x6b8]
mov dword [esp + 0x6ac], eax
mov al, byte [esp + 0x6b]
mov byte [esp + 0x6a], al
mov eax, dword [esp + 0x5b8]
mov dword [esp + 0x5b0], eax
mov eax, dword [esp + 0x6c4]
mov dword [esp + 0x6b8], eax
mov al, byte [esp + 0x6c]
mov byte [esp + 0x6b], al
mov eax, dword [esp + 0x5bc]
mov dword [esp + 0x5b8], eax
mov eax, dword [esp + 0x6cc]
mov dword [esp + 0x6c4], eax
mov al, byte [esp + 0x59c]
mov byte [esp + 0x6c], al
mov eax, dword [esp + 0x5c0]
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x6d4]
mov dword [esp + 0x6cc], eax
mov al, byte [esp + 0x5a4]
mov byte [esp + 0x59c], al
mov eax, dword [esp + 0x5c8]
mov dword [esp + 0x5c0], eax
mov eax, dword [esp + 0x6dc]
mov dword [esp + 0x6d4], eax
mov al, byte [esp + 0x5ac]
mov byte [esp + 0x5a4], al
mov eax, dword [esp + 0x5d0]
mov dword [esp + 0x5c8], eax
mov eax, dword [esp + 0x6e4]
mov dword [esp + 0x6dc], eax
mov al, byte [esp + 0x5b4]
mov byte [esp + 0x5ac], al
mov eax, dword [esp + 0x5d8]
mov dword [esp + 0x5d0], eax
mov eax, dword [esp + 0x6ec]
mov dword [esp + 0x6e4], eax
mov al, byte [esp + 0x6d]
mov byte [esp + 0x5b4], al
mov eax, dword [esp + 0x5e0]
mov dword [esp + 0x5d8], eax
mov eax, dword [esp + 0x6f4]
mov dword [esp + 0x6ec], eax
mov al, byte [esp + 0x6e]
mov byte [esp + 0x6d], al
mov eax, dword [esp + 0x5e8]
mov dword [esp + 0x5e0], eax
mov eax, dword [esp + 0x700]
mov dword [esp + 0x6f4], eax
mov al, byte [esp + 0x5c4]
mov byte [esp + 0x6e], al
mov eax, dword [esp + 0x5f0]
mov dword [esp + 0x5e8], eax
mov eax, dword [esp + 0x708]
mov dword [esp + 0x700], eax
mov al, byte [esp + 0x5cc]
mov byte [esp + 0x5c4], al
mov eax, dword [esp + 0x5f8]
mov dword [esp + 0x5f0], eax
mov eax, dword [esp + 0x70c]
mov dword [esp + 0x708], eax
mov al, byte [esp + 0x5d4]
mov byte [esp + 0x5cc], al
mov eax, dword [esp + 0x600]
mov dword [esp + 0x5f8], eax
mov eax, dword [esp + 0x714]
mov dword [esp + 0x70c], eax
mov al, byte [esp + 0x5dc]
mov byte [esp + 0x5d4], al
mov eax, dword [esp + 0x608]
mov dword [esp + 0x600], eax
mov eax, dword [esp + 0x71c]
mov dword [esp + 0x714], eax
mov al, byte [esp + 0x5e4]
mov byte [esp + 0x5dc], al
mov eax, dword [esp + 0x610]
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x724]
mov dword [esp + 0x71c], eax
mov al, byte [esp + 0x5ec]
mov byte [esp + 0x5e4], al
mov eax, dword [esp + 0x61c]
mov dword [esp + 0x610], eax
mov eax, dword [esp + 0x728]
mov dword [esp + 0x724], eax
mov al, byte [esp + 0x5f4]
mov byte [esp + 0x5ec], al
mov eax, dword [esp + 0x628]
mov dword [esp + 0x61c], eax
mov eax, dword [esp + 0x730]
mov dword [esp + 0x728], eax
mov al, byte [esp + 0x5fc]
mov byte [esp + 0x5f4], al
mov eax, dword [esp + 0x638]
mov dword [esp + 0x628], eax
mov eax, dword [esp + 0x73c]
mov dword [esp + 0x730], eax
mov al, byte [esp + 0x604]
mov byte [esp + 0x5fc], al
mov eax, dword [esp + 0x640]
mov dword [esp + 0x638], eax
mov eax, dword [esp + 0x740]
mov dword [esp + 0x73c], eax
mov al, byte [esp + 0x60c]
mov byte [esp + 0x604], al
mov eax, dword [esp + 0x650]
mov dword [esp + 0x640], eax
mov eax, dword [esp + 0x74c]
mov dword [esp + 0x740], eax
mov al, byte [esp + 0x614]
mov byte [esp + 0x60c], al
mov eax, dword [esp + 0x65c]
mov dword [esp + 0x650], eax
mov eax, dword [esp + 0x754]
mov dword [esp + 0x74c], eax
mov al, byte [esp + 0x618]
mov byte [esp + 0x614], al
mov eax, dword [esp + 0x66c]
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0x75c]
mov dword [esp + 0x754], eax
mov al, byte [esp + 0x62c]
mov byte [esp + 0x618], al
mov eax, dword [esp + 0x678]
mov dword [esp + 0x66c], eax
mov eax, dword [esp + 0x768]
mov dword [esp + 0x75c], eax
mov al, byte [esp + 0x634]
mov byte [esp + 0x62c], al
mov eax, dword [esp + 0x684]
mov dword [esp + 0x678], eax
mov eax, dword [esp + 0x774]
mov dword [esp + 0x768], eax
mov al, byte [esp + 0x648]
mov byte [esp + 0x634], al
mov eax, dword [esp + 0x694]
mov dword [esp + 0x684], eax
mov eax, dword [esp + 0x77c]
mov dword [esp + 0x774], eax
mov al, byte [esp + 0x654]
mov byte [esp + 0x648], al
mov eax, dword [esp + 0x6a0]
mov dword [esp + 0x694], eax
mov eax, dword [esp + 0x784]
mov dword [esp + 0x77c], eax
mov al, byte [esp + 0x660]
mov byte [esp + 0x654], al
mov eax, dword [esp + 0x6b0]
mov dword [esp + 0x6a0], eax
mov eax, dword [esp + 0x790]
mov dword [esp + 0x784], eax
mov al, byte [esp + 0x670]
mov byte [esp + 0x660], al
mov eax, dword [esp + 0x6bc]
mov dword [esp + 0x6b0], eax
mov eax, dword [esp + 0x798]
mov dword [esp + 0x790], eax
mov al, byte [esp + 0x67c]
mov byte [esp + 0x670], al
mov eax, dword [esp + 0x6c8]
mov dword [esp + 0x6bc], eax
mov eax, dword [esp + 0x79c]
mov dword [esp + 0x798], eax
mov al, byte [esp + 0x68c]
mov byte [esp + 0x67c], al
mov eax, dword [esp + 0x6d8]
mov dword [esp + 0x6c8], eax
mov eax, dword [esp + 0x7a4]
mov dword [esp + 0x79c], eax
mov al, byte [esp + 0x698]
mov byte [esp + 0x68c], al
mov eax, dword [esp + 0x6e0]
mov dword [esp + 0x6d8], eax
mov eax, dword [esp + 0x7b0]
mov dword [esp + 0x7a4], eax
mov al, byte [esp + 0x6a8]
mov byte [esp + 0x698], al
mov eax, dword [esp + 0x6f0]
mov dword [esp + 0x6e0], eax
mov eax, dword [esp + 0x7b8]
mov dword [esp + 0x7b0], eax
mov al, byte [esp + 0x6b4]
mov byte [esp + 0x6a8], al
mov eax, dword [esp + 0x6f8]
mov dword [esp + 0x6f0], eax
mov eax, dword [esp + 0x7bc]
mov dword [esp + 0x7b8], eax
mov al, byte [esp + 0x6c0]
mov byte [esp + 0x6b4], al
mov eax, dword [esp + 0x704]
mov dword [esp + 0x6f8], eax
mov eax, dword [esp + 0x7c8]
mov dword [esp + 0x7bc], eax
mov al, byte [esp + 0x6d0]
mov byte [esp + 0x6c0], al
mov eax, dword [esp + 0x710]
mov dword [esp + 0x704], eax
mov eax, dword [esp + 0x7d0]
mov dword [esp + 0x7c8], eax
mov al, byte [esp + 0x6f]
mov byte [esp + 0x6d0], al
mov eax, dword [esp + 0x718]
mov dword [esp + 0x710], eax
mov eax, dword [esp + 0x7d8]
mov dword [esp + 0x7d0], eax
mov al, byte [esp + 0x6e8]
mov byte [esp + 0x6f], al
mov eax, dword [esp + 0x720]
mov dword [esp + 0x718], eax
mov eax, dword [esp + 0x7e4]
mov dword [esp + 0x7d8], eax
mov al, byte [esp + 0x70]
mov byte [esp + 0x6e8], al
mov eax, dword [esp + 0x72c]
mov dword [esp + 0x720], eax
mov eax, dword [esp + 0x7f0]
mov dword [esp + 0x7e4], eax
mov al, byte [esp + 0x6fc]
mov byte [esp + 0x70], al
mov eax, dword [esp + 0x734]
mov dword [esp + 0x72c], eax
mov eax, dword [esp + 0x7f8]
mov dword [esp + 0x7f0], eax
mov al, byte [esp + 0x71]
mov byte [esp + 0x6fc], al
mov eax, dword [esp + 0x744]
mov dword [esp + 0x734], eax
mov eax, dword [esp + 0x800]
mov dword [esp + 0x7f8], eax
mov al, byte [esp + 0x72]
mov byte [esp + 0x71], al
mov eax, dword [esp + 0x750]
mov dword [esp + 0x744], eax
mov eax, dword [esp + 0x80c]
mov dword [esp + 0x800], eax
mov al, byte [esp + 0x73]
mov byte [esp + 0x72], al
mov eax, dword [esp + 0x760]
mov dword [esp + 0x750], eax
mov eax, dword [esp + 0x818]
mov dword [esp + 0x80c], eax
mov al, byte [esp + 0x74]
mov byte [esp + 0x73], al
mov eax, dword [esp + 0x76c]
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0x81c]
mov dword [esp + 0x818], eax
mov al, byte [esp + 0x75]
mov byte [esp + 0x74], al
mov eax, dword [esp + 0x778]
mov dword [esp + 0x76c], eax
mov eax, dword [esp + 0x828]
mov dword [esp + 0x81c], eax
mov al, byte [esp + 0x738]
mov byte [esp + 0x75], al
mov eax, dword [esp + 0x788]
mov dword [esp + 0x778], eax
mov eax, dword [esp + 0x834]
mov dword [esp + 0x828], eax
mov al, byte [esp + 0x748]
mov byte [esp + 0x738], al
mov eax, dword [esp + 0x794]
mov dword [esp + 0x788], eax
mov eax, dword [esp + 0x83c]
mov dword [esp + 0x834], eax
mov al, byte [esp + 0x758]
mov byte [esp + 0x748], al
mov eax, dword [esp + 0x7a0]
mov dword [esp + 0x794], eax
mov eax, dword [esp + 0x844]
mov dword [esp + 0x83c], eax
mov al, byte [esp + 0x764]
mov byte [esp + 0x758], al
mov eax, dword [esp + 0x7a8]
mov dword [esp + 0x7a0], eax
mov eax, dword [esp + 0x84c]
mov dword [esp + 0x844], eax
mov al, byte [esp + 0x770]
mov byte [esp + 0x764], al
mov eax, dword [esp + 0x7b4]
mov dword [esp + 0x7a8], eax
mov eax, dword [esp + 0x854]
mov dword [esp + 0x84c], eax
mov al, byte [esp + 0x780]
mov byte [esp + 0x770], al
mov eax, dword [esp + 0x7c0]
mov dword [esp + 0x7b4], eax
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x854], eax
mov al, byte [esp + 0x78c]
mov byte [esp + 0x780], al
mov eax, dword [esp + 0x7cc]
mov dword [esp + 0x7c0], eax
mov eax, dword [esp + 0x860]
mov dword [esp + 0x85c], eax
mov al, byte [esp + 0x76]
mov byte [esp + 0x78c], al
mov eax, dword [esp + 0x7dc]
mov dword [esp + 0x7cc], eax
mov eax, dword [esp + 0x868]
mov dword [esp + 0x860], eax
mov al, byte [esp + 0x77]
mov byte [esp + 0x76], al
mov eax, dword [esp + 0x7e8]
mov dword [esp + 0x7dc], eax
mov eax, dword [esp + 0x870]
mov dword [esp + 0x868], eax
mov al, byte [esp + 0x7ac]
mov byte [esp + 0x77], al
mov eax, dword [esp + 0x7f4]
mov dword [esp + 0x7e8], eax
mov eax, dword [esp + 0x874]
mov dword [esp + 0x870], eax
mov al, byte [esp + 0x78]
mov byte [esp + 0x7ac], al
mov eax, dword [esp + 0x804]
mov dword [esp + 0x7f4], eax
mov eax, dword [esp + 0x87c]
mov dword [esp + 0x874], eax
mov al, byte [esp + 0x7c4]
mov byte [esp + 0x78], al
mov eax, dword [esp + 0x810]
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0x880]
mov dword [esp + 0x87c], eax
mov al, byte [esp + 0x7d4]
mov byte [esp + 0x7c4], al
mov eax, dword [esp + 0x820]
mov dword [esp + 0x810], eax
mov eax, dword [esp + 0x890]
mov dword [esp + 0x880], eax
mov al, byte [esp + 0x7e0]
mov byte [esp + 0x7d4], al
mov eax, dword [esp + 0x82c]
mov dword [esp + 0x820], eax
mov eax, dword [esp + 0x89c]
mov dword [esp + 0x890], eax
mov al, byte [esp + 0x7ec]
mov byte [esp + 0x7e0], al
mov eax, dword [esp + 0x838]
mov dword [esp + 0x82c], eax
mov eax, dword [esp + 0x8a8]
mov dword [esp + 0x89c], eax
mov al, byte [esp + 0x7fc]
mov byte [esp + 0x7ec], al
mov eax, dword [esp + 0x560]
mov dword [esp + 0x554], eax
mov eax, dword [esp + 0x510]
mov dword [esp + 0x560], eax
mov eax, dword [esp + 0x848]
mov dword [esp + 0x838], eax
mov eax, dword [esp + 0x8ac]
mov dword [esp + 0x8a8], eax
mov al, byte [esp + 0x808]
mov byte [esp + 0x7fc], al
mov eax, dword [esp + 0x850]
mov dword [esp + 0x848], eax
mov eax, dword [esp + 0x8b8]
mov dword [esp + 0x8ac], eax
mov al, byte [esp + 0x814]
mov byte [esp + 0x808], al
mov eax, dword [esp + 0x924]
mov dword [esp + 0x91c], eax
mov eax, dword [esp + 0x858]
mov dword [esp + 0x850], eax
mov eax, dword [esp + 0x8c0]
mov dword [esp + 0x8b8], eax
mov al, byte [esp + 0x824]
mov byte [esp + 0x814], al
mov eax, dword [esp + 0x928]
mov dword [esp + 0x924], eax
mov eax, dword [esp + 0x930]
mov dword [esp + 0x92c], eax
mov eax, dword [esp + 0x864]
mov dword [esp + 0x858], eax
mov eax, dword [esp + 0x8c8]
mov dword [esp + 0x8c0], eax
mov al, byte [esp + 0x830]
mov byte [esp + 0x824], al
mov eax, dword [esp + 0x86c]
mov dword [esp + 0x864], eax
mov eax, dword [esp + 0x8cc]
mov dword [esp + 0x8c8], eax
mov al, byte [esp + 0x840]
mov byte [esp + 0x830], al
mov al, byte [esp + 0x1b]
mov byte [esp + 0x7f], al
mov eax, dword [esp + 0x518]
mov dword [esp + 0x920], eax
mov eax, dword [esp + 0x878]
mov dword [esp + 0x86c], eax
mov eax, dword [esp + 0x8d4]
mov dword [esp + 0x8cc], eax
mov al, byte [esp + 0x79]
mov byte [esp + 0x840], al
mov eax, dword [esp + 0x934]
mov dword [esp + 0x928], eax
mov eax, dword [esp + 0x514]
mov dword [esp + 0x930], eax
mov eax, dword [esp + 0x1464]
mov dword [esp + 0x934], eax
mov eax, dword [esp + 0x884]
mov dword [esp + 0x878], eax
mov eax, dword [esp + 0x8dc]
mov dword [esp + 0x8d4], eax
mov al, byte [esp + 0x7a]
mov byte [esp + 0x79], al
mov eax, dword [esp + 0x894]
mov dword [esp + 0x884], eax
mov eax, dword [esp + 0x8e4]
mov dword [esp + 0x8dc], eax
mov al, byte [esp + 0x7b]
mov byte [esp + 0x7a], al
mov eax, dword [esp + 0x8a0]
mov dword [esp + 0x894], eax
mov eax, dword [esp + 0x8e8]
mov dword [esp + 0x8e4], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0x7b], al
mov eax, dword [esp + 0x8b0]
mov dword [esp + 0x8a0], eax
mov eax, dword [esp + 0x8f0]
mov dword [esp + 0x8e8], eax
mov al, byte [esp + 0x7d]
mov byte [esp + 0x7c], al
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x8b0], eax
mov eax, dword [esp + 0x900]
mov dword [esp + 0x8f0], eax
mov al, byte [esp + 0x7e]
mov byte [esp + 0x7d], al
mov eax, dword [esp + 0x8c4]
mov dword [esp + 0x8bc], eax
mov eax, dword [esp + 0x904]
mov dword [esp + 0x900], eax
mov al, byte [esp + 0x888]
mov byte [esp + 0x7e], al
mov eax, dword [esp + 0x8d0]
mov dword [esp + 0x8c4], eax
mov eax, dword [esp + 0x908]
mov dword [esp + 0x904], eax
mov al, byte [esp + 0x898]
mov byte [esp + 0x888], al
mov eax, dword [esp + 0x8d8]
mov dword [esp + 0x8d0], eax
mov eax, dword [esp + 0x90c]
mov dword [esp + 0x908], eax
mov al, byte [esp + 0x8a4]
mov byte [esp + 0x898], al
mov eax, dword [esp + 0x8e0]
mov dword [esp + 0x8d8], eax
mov eax, dword [esp + 0x910]
mov dword [esp + 0x90c], eax
mov al, byte [esp + 0x8b4]
mov byte [esp + 0x8a4], al
mov eax, dword [esp + 0x8ec]
mov dword [esp + 0x8e0], eax
mov eax, dword [esp + 0x914]
mov dword [esp + 0x910], eax
mov al, byte [esp + 0x37]
mov byte [esp + 0x8b4], al
mov eax, dword [esp + 0x8f4]
mov dword [esp + 0x8ec], eax
mov eax, dword [esp + 0x528]
mov dword [esp + 0x528], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x914], eax
mov eax, dword [esp + 0x8fc]
mov dword [esp + 0x8f4], eax
mov eax, dword [esp + 0x8f8]
mov dword [esp + 0x8fc], eax
mov eax, dword [esp + 0x1468]
mov dword [esp + 0x8f8], eax
mov eax, dword [esp + 0x540]
mov dword [esp + 0x88c], eax
mov eax, dword [esp + 0x51c]
mov dword [esp + 0x540], eax
mov al, byte [esp + 0x53c]
mov byte [esp + 0x37], al
jmp 0x510188
mov ecx, eax
jmp 0x51cf77
mov edx, dword [esp + 0x20]
mov ecx, ebx
push 0x768008
jmp 0x51ba51
mov ecx, dword [esp + 0x4f8]
mov edx, ebx
push 0x768a54
jmp 0x51ba51
lea eax, [esp + 0x12c8]
lea edx, [esp + 0x18a0]
lea ecx, [esp + 0x970]
mov dword [edx], eax
xor eax, eax
mov dword [edx + 4], 0x5390e4
mov dword [ecx], str.internal_error:_entered_unreachable_code:_expected_literal__got
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x768940
mov dword [ecx + 0xc], eax
jmp 0x51d033
mov ecx, 8
mov edx, 0x6a0
jmp 0x51d0aa
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_syncmpmclist.rs
mov edx, 0x2b
push 0x767b74
call fcn.006522d0
jmp 0x51ba56
xor edx, edx
lea eax, [esp + 0x1408]
lea ecx, [esp + 0x970]
inc edx
mov dword [ecx], str.sparse_set_capacity_cannot_excced
mov dword [eax], 0x76afdc
mov dword [eax + 4], 0x42c77c
mov dword [ecx + 4], edx
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov edx, 0x76b1f4
call fcn.00652150
ud2
mov ecx, 8
mov edx, 0x6b0
jmp 0x51d0aa
mov edi, dword [esp + 0x38]
mov dword [esp + 0x18a4], 0
mov ecx, str.invalid_StateID_value
mov edx, 0x15
mov eax, edi
sar eax, 0x1f
and eax, edi
dec eax
mov dword [esp + 0x18a0], eax
push 0x76bf70
push 0x76740c
lea eax, [esp + 0x18a8]
push eax
call fcn.006525c0
add esp, 0xc
ud2
mov edx, dword [esp + 0x524]
push 0x76d6a4
call fcn.00652180
jmp 0x51ba56
mov ecx, 8
mov edx, 0x940
call fcn.00651860
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_syncmpmclist.rs
mov edx, 0x2b
push 0x767bd0
jmp 0x51cff0
lea edx, [esp + 0x1618]
lea ecx, [esp + 0x18a0]
mov dword [edx], 0
call fcn.00655653
ud2
lea eax, [esp + 0x1408]
lea edx, [esp + 0x18a0]
lea ecx, [esp + 0x970]
mov dword [edx], eax
xor eax, eax
mov dword [edx + 4], 0x5390e4
mov dword [ecx], str.internal_error:_entered_unreachable_code:_expected_literal_or_concat__got
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x7689a4
jmp 0x51cfcd
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_syncmpmclist.rs
mov edx, 0x2b
push 0x767e20
jmp 0x51cff0
push 0x76d694
jmp 0x51d096