Function at 0x10034430
Capabilities:
Encrypt data using des
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xab0
mov eax, dword [esp + 0xacc]
mov cx, word [esp + 0xac8]
mov edx, dword [esp + 0xac4]
xor esi, esi
lea edi, [esp + 0x940]
lea ebx, [esp + 0x978]
lea ebp, [esp + 0x9b0]
mov dword [esp + 0x93c], eax
mov word [esp + 0x93a], cx
mov dword [esp + 0x934], edx
mov dword [esp + 0x930], ebp
mov dword [esp + 0x92c], edi
mov dword [esp + 0x928], ebx
mov dword [esp + 0x924], esi
jmp 0x10035f86
xor eax, eax
mov cx, ax
mov dx, 0xffff
mov si, dx
or si, 0xffff
mov di, dx
and di, 0xffff
sub si, di
mov di, dx
or di, 0xffff
mov bx, dx
add bx, 0xffff
mov bp, dx
and bp, 0xffff
sub bx, bp
sub bx, bp
mov bp, dx
xor bp, 0xffff
add bp, 1
sub bp, 1
or bx, bp
and di, bx
xor si, 0xffff
mov bx, cx
sub bx, di
sub bx, 1
or si, bx
xor si, 0xffff
mov di, si
or di, 0xffff
mov bx, cx
sub bx, si
sub bx, 1
mov si, dx
add si, 0xffff
mov bp, dx
and bp, 0xffff
sub si, bp
sub si, bp
or bx, si
and di, bx
mov si, dx
add si, 0xffff
mov bx, dx
or bx, 0xffff
mov bp, dx
xor bp, 0xffff
mov ax, cx
sub ax, 0xffff
sub ax, 1
or bp, ax
and bx, bp
mov ax, dx
or ax, 0xffff
mov bp, dx
xor bp, 0xffff
add bp, 1
sub bp, 1
mov word [esp + 0x922], ax
mov ax, cx
sub ax, 0xffff
sub ax, 1
or bp, ax
mov ax, word [esp + 0x922]
and ax, bp
xor bx, 0xffff
xor ax, 0xffff
and bx, ax
xor bx, 0xffff
mov ax, cx
sub ax, bx
sub ax, 1
mov bp, cx
sub bp, 0xffff
sub bp, 1
and ax, 0xffff
and bx, bp
or ax, bx
sub si, ax
sub si, ax
mov ax, dx
xor ax, 0xffff
mov bx, dx
xor bx, 0xffff
and ax, bx
xor ax, 0xffff
mov bx, dx
xor bx, 0xffff
mov bp, dx
xor bp, 0xffff
or bx, bp
xor bx, 0xffff
sub ax, bx
mov bx, si
or bx, 0xffff
mov bp, cx
sub bp, si
sub bp, 1
mov si, dx
add si, 0xffff
mov word [esp + 0x920], ax
mov ax, dx
and ax, 0xffff
sub si, ax
sub si, ax
or bp, si
and bx, bp
mov ax, word [esp + 0x920]
or ax, 0xffff
mov si, word [esp + 0x920]
and si, 0xffff
mov bp, si
add bp, 0xffff
and si, 0xffff
sub bp, si
sub bp, si
and ax, bp
mov si, bx
add si, 0xffff
and bx, 0xffff
sub si, bx
sub si, bx
mov bx, cx
sub bx, ax
sub bx, 1
add bx, 1
sub bx, 1
or si, bx
mov ax, si
add ax, 0xffff
and si, 0xffff
sub ax, si
sub ax, si
add ax, 1
sub ax, 1
mov si, ax
or si, 0xffff
xor ax, 0xffff
mov bx, dx
add bx, 0xffff
mov bp, dx
and bp, 0xffff
sub bx, bp
sub bx, bp
or ax, bx
and si, ax
mov ax, cx
sub ax, di
sub ax, 1
mov di, cx
sub di, si
sub di, 1
xor ax, 0xffff
xor di, 0xffff
and ax, di
xor ax, 0xffff
mov si, ax
add si, 0xffff
xor ax, 0xffff
xor dx, 0xffff
or ax, dx
sub cx, ax
sub cx, 1
sub si, cx
sub si, cx
add si, 1
sub si, 1
add si, 1
sub si, 1
add si, 1
mov ax, word [esp + 0x93a]
cmp ax, si
je 0x10034731
xor eax, eax
mov dword [esp + 0x91c], eax
jmp 0x100366b0
xor eax, eax
mov dword [esp + 0x918], eax
jmp 0x1003473f
mov eax, dword [esp + 0x918]
xor ecx, ecx
lea edx, [esp + 0x9b0]
mov esi, 0xffffffff
mov edi, esi
and edi, 0x42033a33
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
mov edi, esi
add edi, 0x42033a33
mov ebp, esi
and ebp, 0x42033a33
sub edi, ebp
sub edi, ebp
mov ebp, ecx
sub ebp, 0xffffffff
sub ebp, 1
and edi, ebp
mov ebp, ecx
sub ebp, edi
sub ebp, 1
and ebx, ebp
mov edi, esi
or edi, 0x42033a3c
mov ebp, esi
and ebp, 0x42033a3c
sub edi, ebp
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
or ebp, ebx
xor ebp, 0xffffffff
mov edi, ebp
or edi, 0xffffffff
and ebp, 0xffffffff
sub edi, ebp
mov ebx, esi
add ebx, 0x42033a33
mov ebp, esi
and ebp, 0x42033a33
sub ebx, ebp
sub ebx, ebp
mov ebp, ecx
sub ebp, 0x42033a3c
sub ebp, 1
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
mov dword [esp + 0x914], eax
mov eax, ecx
sub eax, ebx
sub eax, 1
mov ebx, ecx
sub ebx, 0xffffffff
sub ebx, 1
or eax, ebx
mov ebx, ecx
sub ebx, eax
sub ebx, 1
sub ebp, ebx
sub ebp, ebx
mov eax, ecx
sub eax, ebp
sub eax, 1
mov ebx, ecx
sub ebx, edi
sub ebx, 1
mov ebp, esi
add ebp, 0xffffffff
mov dword [esp + 0x910], eax
mov eax, esi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ebx, 0xffffffff
and edi, ebp
or ebx, edi
mov eax, ecx
mov edi, dword [esp + 0x910]
sub eax, edi
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, ebx
add eax, 0xffffffff
mov edi, ecx
sub edi, ebx
sub edi, 1
mov ebx, ecx
sub ebx, 0xffffffff
sub ebx, 1
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
or edi, ebx
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
add ebx, 1
sub ebx, 1
sub eax, ebx
sub eax, ebx
add eax, 1
sub eax, 1
mov edi, dword [esp + 0x914]
sub eax, edi
mov ebx, ecx
sub ebx, 0xd2537a5b
sub ebx, 1
mov ebp, esi
xor ebp, 0xd2537a5a
mov edi, esi
xor edi, 0xffffffff
and ebp, edi
xor ebp, 0xffffffff
mov edi, esi
xor edi, 0xd2537a5a
mov dword [esp + 0x90c], eax
mov eax, ecx
sub eax, 0xffffffff
sub eax, 1
or edi, eax
xor edi, 0xffffffff
add edi, 1
sub edi, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x908], eax
mov eax, ecx
sub eax, edi
sub eax, 1
mov edi, esi
xor edi, 0xffffffff
or eax, edi
mov edi, ecx
sub edi, eax
sub edi, 1
mov eax, dword [esp + 0x908]
sub eax, edi
sub eax, edi
add eax, 1
sub eax, 1
mov edi, ebp
add edi, 0xffffffff
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
mov ebp, ecx
sub ebp, eax
sub ebp, 1
or edi, ebp
mov eax, ecx
sub eax, edi
sub eax, 1
add eax, 1
sub eax, 1
mov edi, ebx
or edi, 0xffffffff
and ebx, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
mov ebx, esi
add ebx, 0xd2537a5a
mov ebp, esi
and ebp, 0xd2537a5a
sub ebx, ebp
sub ebx, ebp
mov ebp, ecx
sub ebp, 0xffffffff
sub ebp, 1
and ebx, 0xffffffff
and ebp, 0xd2537a5a
or ebx, ebp
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
xor edi, 0xffffffff
mov ebp, esi
xor ebp, 0xffffffff
or edi, ebp
xor edi, 0xffffffff
sub ebx, edi
sub ebx, edi
mov edi, ecx
sub edi, 0xd2537a5b
sub edi, 1
mov ebp, ecx
sub ebp, eax
sub ebp, 1
xor edi, 0xffffffff
xor ebp, 0xffffffff
and edi, ebp
xor edi, 0xffffffff
mov eax, ecx
sub eax, edi
sub eax, 1
mov edi, ebx
or edi, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
mov ebx, ecx
sub ebx, 0xffffffff
sub ebx, 1
or ebp, ebx
and edi, ebp
mov ebx, eax
or ebx, 0xffffffff
xor eax, 0xffffffff
mov ebp, esi
add ebp, 0xffffffff
mov dword [esp + 0x904], eax
mov eax, esi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x904]
or eax, ebp
and ebx, eax
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov edi, ebx
add edi, 0xffffffff
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
or eax, edi
xor eax, 0xffffffff
mov edi, eax
or edi, 0xffffffff
and eax, 0xffffffff
mov ebx, ecx
sub ebx, eax
sub ebx, 1
and edi, ebx
mov dword [esp + 0x900], ecx
mov ecx, edi
mov eax, dword [esp + 0x90c]
shl eax, cl
mov edi, esi
add edi, 0x43aab9ae
mov ebx, esi
and ebx, 0x43aab9ae
sub edi, ebx
sub edi, ebx
mov ebx, esi
or ebx, 0x43aab9af
mov ebp, esi
xor ebp, 0x43aab9af
mov ecx, esi
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
or ebp, ecx
and ebx, ebp
mov ecx, dword [esp + 0x900]
sub ecx, edi
sub ecx, 1
mov edi, dword [esp + 0x900]
sub edi, ebx
sub edi, 1
or ecx, edi
xor ecx, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
mov ecx, dword [esp + 0x900]
sub ecx, 0x43aab9ae
sub ecx, 1
mov ebx, esi
add ebx, 0x43aab9af
mov ebp, dword [esp + 0x900]
sub ebp, 0x43aab9af
sub ebp, 1
mov dword [esp + 0x8fc], eax
mov eax, dword [esp + 0x900]
sub eax, 0xffffffff
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
xor ebp, 0xffffffff
mov dword [esp + 0x8f8], eax
mov eax, dword [esp + 0x900]
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebp, dword [esp + 0x8f8]
sub ebp, eax
sub ebp, eax
sub ebx, ebp
sub ebx, ebp
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
or ebx, eax
mov eax, dword [esp + 0x900]
sub eax, ebx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov ebx, dword [esp + 0x900]
sub ebx, eax
sub ebx, 1
add ebx, 1
sub ebx, 1
and ecx, ebx
mov eax, dword [esp + 0x900]
sub eax, edi
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov edi, ecx
xor edi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
mov ebp, esi
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
and edi, 0xffffffff
and ecx, ebx
or edi, ecx
xor eax, 0xffffffff
xor edi, 0xffffffff
and eax, edi
xor eax, 0xffffffff
mov ecx, dword [esp + 0x900]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x8fc]
xor eax, 0xffffffff
mov edi, esi
xor edi, 0xffffffff
add edi, 1
sub edi, 1
add edi, 1
sub edi, 1
or eax, edi
mov edi, dword [esp + 0x900]
sub edi, eax
sub edi, 1
add edi, 1
sub edi, 1
mov eax, edi
or eax, 0xffffffff
mov ebx, dword [esp + 0x900]
sub ebx, edi
sub ebx, 1
mov edi, dword [esp + 0x900]
sub edi, 0xffffffff
sub edi, 1
or ebx, edi
and eax, ebx
mov edi, dword [esp + 0x8fc]
or edi, 0xffffffff
mov ebx, dword [esp + 0x8fc]
and ebx, 0xffffffff
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
and edi, ebx
add edi, 1
sub edi, 1
mov ebx, dword [esp + 0x900]
sub ebx, 0xffffffff
sub ebx, 1
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
mov edi, dword [esp + 0x900]
sub edi, ebx
sub edi, 1
or ebp, edi
mov edi, ebp
add edi, 0xffffffff
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
mov edi, dword [esp + 0x900]
sub edi, eax
sub edi, 1
mov eax, dword [esp + 0x900]
sub eax, ebx
sub eax, 1
or edi, eax
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov edi, dword [esp + 0x900]
sub edi, ecx
sub edi, 1
mov ebx, esi
xor ebx, 0xffffffff
or edi, ebx
mov ebx, dword [esp + 0x900]
sub ebx, edi
sub ebx, 1
mov edi, dword [esp + 0x900]
sub edi, ebx
sub edi, 1
mov ebp, esi
add ebp, 0xffffffff
mov dword [esp + 0x8f4], eax
mov eax, esi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and edi, 0xffffffff
and ebx, ebp
or edi, ebx
mov eax, ecx
or eax, 0xffffffff
mov ebx, dword [esp + 0x900]
sub ebx, ecx
sub ebx, 1
mov ecx, esi
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
or ebx, ecx
and eax, ebx
add esi, 0xffffffff
mov ecx, dword [esp + 0x900]
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
mov ebx, dword [esp + 0x900]
sub ebx, 0xffffffff
sub ebx, 1
or ecx, ebx
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
sub esi, ebx
sub esi, ebx
mov ecx, dword [esp + 0x900]
sub ecx, eax
sub ecx, 1
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
or ecx, eax
mov eax, dword [esp + 0x900]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x900]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x900]
sub eax, edi
sub eax, 1
mov esi, dword [esp + 0x900]
sub esi, ecx
sub esi, 1
or eax, esi
xor eax, 0xffffffff
mov ecx, dword [esp + 0x8f4]
add ecx, 0xffffffff
mov esi, dword [esp + 0x8f4]
add esi, 0xffffffff
mov edi, dword [esp + 0x8f4]
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0x900]
sub edi, 0xffffffff
sub edi, 1
or esi, edi
xor esi, 0xffffffff
add esi, 1
sub esi, 1
sub ecx, esi
sub ecx, esi
add ecx, 1
sub ecx, 1
mov esi, eax
or esi, 0xffffffff
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
mov eax, dword [esp + 0x900]
sub eax, 0xffffffff
sub eax, 1
or edi, eax
and esi, edi
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov eax, dword [esp + 0x900]
sub eax, ecx
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov esi, dword [esp + 0x900]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x900]
sub eax, 0xffffffff
sub eax, 1
or esi, eax
xor esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov eax, ecx
shl eax, 2
mov esi, edx
add esi, eax
mov dword [esp + ecx*4 + 0x9b0], 0
mov eax, dword [esp + 0x8fc]
shl eax, 2
add edx, eax
mov eax, dword [esp + 0x8fc]
mov dword [esp + eax*4 + 0x9b0], 0
mov ecx, dword [esp + 0x914]
movzx edi, byte [ecx + 0x1007c870]
mov ebx, dword [esp + 0x900]
mov dword [esp + 0x8f0], edx
mov dword [esp + 0x8ec], esi
mov dword [esp + 0x8e8], edi
mov dword [esp + 0x8e4], ebx
jmp 0x10035a00
xor eax, eax
mov ecx, 0xffffffff
mov edx, eax
sub edx, 0x43b9f44e
sub edx, 1
add edx, 1
sub edx, 1
mov esi, ecx
add esi, 0x43b9f44f
mov edi, ecx
and edi, 0x43b9f44f
xor edi, 0xffffffff
mov ebx, ecx
add ebx, 0x43b9f44f
mov ebp, ecx
and ebp, 0x43b9f44f
sub ebx, ebp
sub ebx, ebp
mov ebp, ecx
add ebp, 0xffffffff
mov dword [esp + 0x8e0], eax
mov eax, ecx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ebx, ebp
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
and edi, ebx
mov eax, ecx
or eax, 0xffffffff
mov ebx, ecx
and ebx, 0xffffffff
xor ebx, 0xffffffff
and eax, ebx
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov eax, edi
add eax, 0xffffffff
mov ebx, dword [esp + 0x8e0]
sub ebx, edi
sub ebx, 1
mov edi, ecx
add edi, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
or ebx, edi
mov edi, dword [esp + 0x8e0]
sub edi, ebx
sub edi, 1
sub eax, edi
sub eax, edi
sub esi, eax
sub esi, eax
mov eax, edx
add eax, 0xffffffff
xor edx, 0xffffffff
mov edi, ecx
xor edi, 0xffffffff
or edx, edi
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
sub eax, edi
sub eax, edi
mov edx, ecx
or edx, 0x43b9f44f
mov edi, ecx
and edi, 0x43b9f44f
mov ebx, dword [esp + 0x8e0]
sub ebx, edi
sub ebx, 1
and edx, ebx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
mov edi, dword [esp + 0x8e0]
sub edi, eax
sub edi, 1
and edx, edi
mov eax, dword [esp + 0x8e0]
sub eax, 0x43b9f44e
sub eax, 1
mov edi, esi
add edi, 0xffffffff
mov ebx, dword [esp + 0x8e0]
sub ebx, esi
sub ebx, 1
mov esi, ecx
add esi, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
or ebx, esi
xor ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
xor eax, 0xffffffff
xor edi, 0xffffffff
and eax, edi
xor eax, 0xffffffff
mov esi, eax
or esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
mov eax, edx
or eax, 0xffffffff
xor edx, 0xffffffff
mov edi, ecx
xor edi, 0xffffffff
or edx, edi
and eax, edx
mov edx, esi
xor edx, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
mov ebx, ecx
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
and edx, 0xffffffff
and esi, edi
or edx, esi
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x8e0]
sub eax, edx
sub eax, 1
or esi, eax
mov eax, dword [esp + 0x8e0]
sub eax, esi
sub eax, 1
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
and edx, esi
mov eax, dword [esp + 0x914]
add eax, edx
mov edx, ecx
or edx, 0xfffffff0
mov esi, ecx
and esi, 0xfffffff0
sub edx, esi
mov esi, ecx
or esi, 0xffffffff
mov edi, ecx
and edi, 0xffffffff
sub esi, edi
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
or edi, edx
mov edx, edi
add edx, 0xffffffff
and edi, 0xffffffff
sub edx, edi
sub edx, edi
add edx, 1
sub edx, 1
mov esi, edx
xor esi, 0xffffffff
mov edi, dword [esp + 0x8e0]
sub edi, 0xffffffff
sub edi, 1
and esi, 0xffffffff
and edx, edi
or esi, edx
mov edx, ecx
or edx, 0xfffffff0
mov edi, ecx
and edi, 0xfffffff0
mov ebx, dword [esp + 0x8e0]
sub ebx, edi
sub ebx, 1
and edx, ebx
mov edi, ecx
or edi, 0xffffffff
mov ebx, ecx
and ebx, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
add edi, 1
sub edi, 1
xor edx, 0xffffffff
xor edi, 0xffffffff
and edx, edi
xor edx, 0xffffffff
mov edi, edx
or edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
mov edx, edi
add edx, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
mov ebp, dword [esp + 0x8e0]
sub ebp, edi
sub ebp, 1
mov edi, ecx
add edi, 0xffffffff
mov dword [esp + 0x8dc], eax
mov eax, ecx
and eax, 0xffffffff
sub edi, eax
sub edi, eax
or ebp, edi
xor ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or ecx, 0xffffffff
mov eax, dword [esp + 0x8e0]
sub eax, 0xffffffff
sub eax, 1
mov edi, dword [esp + 0x8e0]
sub edi, 0xffffffff
sub edi, 1
or eax, edi
and ecx, eax
xor ebx, 0xffffffff
xor ecx, 0xffffffff
and ebx, ecx
xor ebx, 0xffffffff
mov eax, dword [esp + 0x8e0]
sub eax, ebx
sub eax, 1
sub edx, eax
sub edx, eax
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
mov ecx, dword [esp + 0x8e0]
sub ecx, edx
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
mov eax, dword [esp + 0x8dc]
cmp eax, ecx
mov dword [esp + 0x918], eax
je 0x10037bcb
jmp 0x1003473f
mov eax, dword [esp + 0x8d8]
mov ecx, dword [esp + 0x8d4]
mov edx, dword [esp + 0x8d0]
movzx esi, byte [eax + 0x1007c880]
cmp byte [esp + esi + 0x940], 0
mov esi, ecx
mov dword [esp + 0x8cc], eax
mov dword [esp + 0x8c8], ecx
mov dword [esp + 0x8c4], edx
mov dword [esp + 0x8c0], esi
je 0x1003546d
xor eax, eax
mov ecx, 0xffffffff
mov edx, dword [esp + 0x8cc]
mov esi, dword [edx*4 + 0x100743d8]
mov edi, dword [esp + 0x8c8]
xor edi, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, eax
mov ebp, dword [esp + 0x8c8]
sub ebx, ebp
sub ebx, 1
mov edx, ecx
add edx, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub edx, ebp
sub edx, ebp
or ebx, edx
xor ebx, 0xffffffff
sub edi, ebx
mov edx, esi
xor edx, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
and edx, ebx
xor edx, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
mov esi, eax
sub esi, 0xffffffff
sub esi, 1
or ebx, esi
mov esi, ebx
add esi, 0xffffffff
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
mov ebx, esi
or ebx, 0xffffffff
mov ebp, esi
add ebp, 0xffffffff
and esi, 0xffffffff
sub ebp, esi
sub ebp, esi
mov esi, ecx
xor esi, 0xffffffff
add esi, 1
sub esi, 1
or ebp, esi
and ebx, ebp
add ebx, 1
sub ebx, 1
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
mov edx, eax
sub edx, ebx
sub edx, 1
or esi, edx
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
mov esi, edi
and esi, 0xffffffff
mov ebx, eax
sub ebx, esi
sub ebx, 1
xor edi, 0xffffffff
mov esi, eax
sub esi, 0xffffffff
sub esi, 1
and edi, esi
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
and ebx, esi
mov esi, eax
sub esi, edx
sub esi, 1
add esi, 1
sub esi, 1
xor ebx, 0xffffffff
xor esi, 0xffffffff
and ebx, esi
xor ebx, 0xffffffff
mov edx, eax
sub edx, ebx
sub edx, 1
mov esi, edx
xor esi, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
mov ebx, ecx
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
or esi, edi
mov edi, eax
sub edi, esi
sub edi, 1
mov esi, edi
or esi, 0xffffffff
and edi, 0xffffffff
mov ebx, eax
sub ebx, edi
sub ebx, 1
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
and esi, ebx
mov edi, edx
add edi, 0xffffffff
mov ebx, eax
sub ebx, edx
sub ebx, 1
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
or ebx, edx
mov ecx, eax
sub ecx, ebx
sub ecx, 1
sub edi, ecx
sub edi, ecx
mov ecx, eax
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, eax
sub edx, edi
sub edx, 1
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
or edx, edi
mov ecx, eax
sub ecx, edx
sub ecx, 1
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub eax, esi
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x8f0]
mov dword [eax], ecx
mov dword [esp + 0x8c0], ecx
mov eax, dword [esp + 0x8c0]
xor ecx, ecx
sub ecx, 0xffffffe8
sub ecx, 1
add ecx, 1
mov edx, dword [esp + 0x8cc]
add edx, ecx
movzx ecx, byte [edx + 0x1007c880]
cmp byte [esp + ecx + 0x940], 0
mov ecx, dword [esp + 0x8c4]
mov dword [esp + 0x8bc], eax
mov dword [esp + 0x8b8], ecx
je 0x100355d7
xor eax, eax
mov ecx, 0xffffffff
mov edx, dword [esp + 0x8cc]
mov esi, dword [edx*4 + 0x100743d8]
mov edi, dword [esp + 0x8c4]
xor edi, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, eax
mov ebp, dword [esp + 0x8c4]
sub ebx, ebp
sub ebx, 1
mov edx, ecx
xor edx, 0xffffffff
or ebx, edx
mov edx, eax
sub edx, ebx
sub edx, 1
sub edi, edx
mov edx, esi
xor edx, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
and edx, ebx
xor edx, 0xffffffff
mov ebx, eax
sub ebx, esi
sub ebx, 1
mov esi, eax
sub esi, 0xffffffff
sub esi, 1
or ebx, esi
mov esi, ebx
add esi, 0xffffffff
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
mov ebx, esi
add ebx, 0xffffffff
xor esi, 0xffffffff
mov ebp, ecx
xor ebp, 0xffffffff
or esi, ebp
mov ebp, eax
sub ebp, esi
sub ebp, 1
sub ebx, ebp
sub ebx, ebp
mov esi, eax
sub esi, edx
sub esi, 1
mov edx, eax
sub edx, ebx
sub edx, 1
add edx, 1
sub edx, 1
or esi, edx
mov edx, eax
sub edx, esi
sub edx, 1
mov esi, eax
sub esi, edi
sub esi, 1
mov edi, eax
sub edi, edx
sub edi, 1
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edx, eax
sub edx, esi
sub edx, 1
mov esi, edx
xor esi, 0xffffffff
xor ecx, 0xffffffff
and esi, ecx
xor esi, 0xffffffff
mov ecx, eax
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
or ecx, edx
xor ecx, 0xffffffff
mov edx, eax
sub edx, ecx
sub edx, 1
xor esi, 0xffffffff
sub eax, edx
sub eax, 1
or esi, eax
xor esi, 0xffffffff
mov eax, dword [esp + 0x8ec]
mov dword [eax], esi
mov dword [esp + 0x8b8], esi
mov eax, dword [esp + 0x8b8]
xor ecx, ecx
mov edx, ecx
sub edx, 0xffffffff
mov esi, dword [esp + 0x8cc]
add esi, edx
sub ecx, 0xffffffe8
cmp esi, ecx
mov ecx, dword [esp + 0x8bc]
mov dword [esp + 0x8d4], ecx
mov dword [esp + 0x8d0], eax
mov dword [esp + 0x8d8], esi
je 0x10034ec4
jmp 0x1003522c
mov eax, dword [esp + 0x8b4]
xor ecx, ecx
mov edx, 0xffffffff
mov esi, dword [esp + 0x8e8]
add esi, eax
mov edi, ecx
sub edi, 0x3b875a2a
sub edi, 1
mov ebx, ecx
sub ebx, 0x3b875a12
sub ebx, 1
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x8b0], eax
mov eax, ecx
sub eax, edi
sub eax, 1
mov edi, edx
add edi, 0xffffffff
mov dword [esp + 0x8ac], eax
mov eax, edx
and eax, 0xffffffff
sub edi, eax
sub edi, eax
mov eax, dword [esp + 0x8ac]
or eax, edi
xor eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, ecx
sub eax, 0x3b875a12
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
mov edi, ebp
add edi, 0xffffffff
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
mov ebp, ecx
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
or edi, ebp
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
add ebp, 1
sub ebp, 1
sub eax, ebp
sub eax, ebp
mov edi, edx
add edi, 0x3b875a2a
mov ebp, edx
add ebp, 0x3b875a2a
mov dword [esp + 0x8a8], eax
mov eax, edx
and eax, 0x3b875a2a
sub ebp, eax
sub ebp, eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x8a4], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x8a0], eax
mov eax, dword [esp + 0x8a4]
mov dword [esp + 0x89c], ecx
mov ecx, dword [esp + 0x8a0]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
sub edi, eax
sub edi, eax
mov eax, ebx
add eax, 0xffffffff
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
mov ebp, dword [esp + 0x89c]
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
xor ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov eax, edi
or eax, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
mov edi, dword [esp + 0x89c]
sub edi, 0xffffffff
sub edi, 1
or ebx, edi
and eax, ebx
mov edi, dword [esp + 0x8a8]
xor edi, 0xffffffff
mov ebx, dword [esp + 0x89c]
sub ebx, 0xffffffff
sub ebx, 1
and edi, 0xffffffff
mov ebp, dword [esp + 0x8a8]
and ebp, ebx
or edi, ebp
mov ebx, eax
or ebx, 0xffffffff
xor eax, 0xffffffff
mov ebp, edx
add ebp, 0xffffffff
mov ecx, edx
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
add ebp, 1
sub ebp, 1
or eax, ebp
and ebx, eax
xor edi, 0xffffffff
mov eax, dword [esp + 0x89c]
sub eax, ebx
sub eax, 1
or edi, eax
xor edi, 0xffffffff
mov eax, edi
or eax, 0xffffffff
mov ecx, dword [esp + 0x89c]
sub ecx, edi
sub ecx, 1
mov edi, dword [esp + 0x89c]
sub edi, 0xffffffff
sub edi, 1
or ecx, edi
and eax, ecx
mov ecx, edx
add ecx, 0x1b
mov edi, edx
xor edi, 0x1b
mov ebx, edx
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, dword [esp + 0x89c]
sub ebx, 0x1b
sub ebx, 1
mov ebp, edx
add ebp, 0xffffffff
mov dword [esp + 0x898], eax
mov eax, edx
xor eax, 0xffffffff
mov dword [esp + 0x894], eax
mov eax, dword [esp + 0x89c]
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x890], eax
mov eax, dword [esp + 0x894]
mov dword [esp + 0x88c], ecx
mov ecx, dword [esp + 0x890]
or eax, ecx
xor eax, 0xffffffff
sub ebp, eax
sub ebp, eax
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
add ecx, 1
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
mov edi, edx
or edi, 0xffffffff
mov ebx, edx
and ebx, 0xffffffff
mov ebp, dword [esp + 0x89c]
sub ebp, ebx
sub ebp, 1
add ebp, 1
sub ebp, 1
and edi, ebp
mov ebx, dword [esp + 0x89c]
sub ebx, 0xffffffff
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, dword [esp + 0x89c]
sub ebx, edi
sub ebx, 1
sub ecx, ebx
sub ecx, ebx
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
mov eax, ecx
and eax, 0xffffffff
mov ebx, dword [esp + 0x89c]
sub ebx, eax
sub ebx, 1
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
and ebx, ecx
xor edi, 0xffffffff
xor ebx, 0xffffffff
or edi, ebx
mov eax, dword [esp + 0x89c]
sub eax, edi
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov edi, eax
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
xor edx, 0xffffffff
and ecx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x89c]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x88c]
sub ecx, eax
sub ecx, eax
mov eax, esi
add eax, ecx
mov ecx, dword [esp + 0x898]
cmp esi, ecx
cmovb eax, esi
mov al, byte [esp + eax + 0x978]
mov edx, dword [esp + 0x8b0]
mov byte [esp + edx + 0x940], al
mov esi, dword [esp + 0x89c]
sub esi, 0xfffffffe
sub esi, 1
add edx, esi
mov esi, dword [esp + 0x89c]
sub esi, 0xffffffc8
sub esi, 1
add esi, 1
cmp edx, esi
mov dword [esp + 0x8b4], edx
jne 0x1003561a
xor eax, eax
mov ecx, eax
mov edx, eax
mov dword [esp + 0x8d4], edx
mov dword [esp + 0x8d0], ecx
mov dword [esp + 0x8d8], eax
jmp 0x1003522c
mov eax, dword [esp + 0x8e4]
xor ecx, ecx
mov edx, 0xffffffff
mov esi, 0xaa4b21e4
mov edi, dword [esp + 0x8e8]
add edi, eax
mov ebx, ecx
sub ebx, 0x8cb87b2f
sub ebx, 1
mov ebp, ecx
sub ebp, 0x8cb87b33
sub ebp, 1
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
mov dword [esp + 0x888], eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, edx
add ebx, 0xffffffff
mov dword [esp + 0x884], eax
mov eax, edx
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x884]
or eax, ebx
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
sub ebp, ebx
sub ebp, ebx
mov eax, ecx
sub eax, ebp
sub eax, 1
mov ebx, ecx
sub ebx, 0xffffffff
sub ebx, 1
mov dword [esp + 0x880], eax
add eax, 0xffffffff
mov dword [esp + 0x87c], eax
mov eax, dword [esp + 0x880]
and eax, 0xffffffff
mov dword [esp + 0x878], eax
mov eax, dword [esp + 0x87c]
mov dword [esp + 0x874], ecx
mov ecx, dword [esp + 0x878]
sub eax, ecx
sub eax, ecx
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x870], eax
mov eax, edx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x870]
or eax, ecx
xor eax, 0xffffffff
xor ebp, 0xffffffff
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
or ebp, ebx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
add ecx, 1
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0x8cb87b2f
mov ebx, edx
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov ebx, edx
xor ebx, 0x8cb87b2f
mov ebp, dword [esp + 0x874]
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, dword [esp + 0x874]
sub ebp, ebx
sub ebp, 1
mov ebx, ebp
add ebx, 0xffffffff
xor ebp, 0xffffffff
add ebp, 1
sub ebp, 1
mov dword [esp + 0x86c], eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x868], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x864], eax
mov eax, dword [esp + 0x868]
mov dword [esp + 0x860], ecx
mov ecx, dword [esp + 0x864]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, dword [esp + 0x874]
sub eax, ebp
sub eax, 1
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x874]
mov ebp, dword [esp + 0x860]
sub eax, ebp
sub eax, 1
xor ebx, 0xffffffff
or eax, ebx
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
add ebx, 1
sub ebx, 1
mov eax, edx
add eax, 0x8cb87b33
mov ebp, dword [esp + 0x874]
sub ebp, 0x8cb87b33
sub ebp, 1
mov ecx, edx
and ecx, 0xffffffff
mov dword [esp + 0x85c], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x858], eax
mov eax, edx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x854], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x850], eax
mov eax, dword [esp + 0x854]
mov dword [esp + 0x84c], ecx
mov ecx, dword [esp + 0x850]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x84c]
and ecx, eax
mov eax, dword [esp + 0x874]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x858]
and ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
mov ecx, dword [esp + 0x874]
sub ecx, ebp
sub ecx, 1
mov ebp, dword [esp + 0x874]
sub ebp, 0xffffffff
sub ebp, 1
or ecx, ebp
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
sub eax, ebp
sub eax, ebp
mov ecx, dword [esp + 0x85c]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x874]
sub eax, ebx
sub eax, 1
add eax, 1
sub eax, 1
mov ebx, ecx
and ebx, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
mov ebx, dword [esp + 0x874]
sub ebx, ecx
sub ebx, 1
add ebx, 1
sub ebx, 1
mov ecx, dword [esp + 0x874]
sub ecx, 0xffffffff
sub ecx, 1
and ebx, ecx
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
and ebp, ecx
add ebp, 1
sub ebp, 1
xor eax, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov ebx, dword [esp + 0x874]
sub ebx, eax
sub ebx, 1
mov eax, dword [esp + 0x874]
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
xor ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
mov eax, ecx
xor eax, 0xffffffff
mov ebx, edx
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
mov ecx, dword [esp + 0x874]
sub ecx, 0xffffffff
sub ecx, 1
or ebx, ecx
mov ecx, dword [esp + 0x874]
sub ecx, ebx
sub ecx, 1
mov ebx, ecx
add ebx, 0xffffffff
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
mov ecx, edx
xor ecx, 0xffffffff
or ebp, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
sub ebx, ecx
sub ebx, ecx
mov ecx, dword [esp + 0x874]
sub ecx, eax
sub ecx, 1
xor ebx, 0xffffffff
or ecx, ebx
mov eax, dword [esp + 0x874]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x86c]
add ecx, 0xffffffff
mov ebx, dword [esp + 0x86c]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x86c]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
mov ebp, dword [esp + 0x874]
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
sub ecx, ebp
sub ecx, ebp
mov ebx, eax
or ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
xor ecx, 0xffffffff
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x874]
sub ecx, 0x1c
mov ebx, edi
add ebx, ecx
cmp edi, eax
cmovb ebx, edi
mov al, byte [esp + ebx + 0x978]
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x940], al
add esi, 0xaa4b21e5
mov edi, dword [esp + 0x874]
sub edi, 0xaa4b21e5
sub edi, 1
mov ebx, dword [esp + 0x874]
sub ebx, 0xaa4b21e4
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, dword [esp + 0x874]
sub ebx, edi
sub ebx, 1
sub esi, ebx
sub esi, ebx
add ecx, esi
mov esi, edx
add esi, 0xffffffe3
mov edi, edx
and edi, 0xffffffe3
sub esi, edi
sub esi, edi
mov edi, edx
and edi, 0xffffffff
xor edi, 0xffffffff
mov ebx, edx
add ebx, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
add ebx, 1
sub ebx, 1
mov ebp, edx
add ebp, 0xffffffff
mov eax, edx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ebx, ebp
xor ebx, 0xffffffff
and edi, ebx
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
xor edi, 0xffffffff
or eax, edi
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
mov eax, esi
or eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
mov esi, edx
or esi, 0xffffffe3
and edx, 0xffffffe3
mov edi, dword [esp + 0x874]
sub edi, edx
sub edi, 1
and esi, edi
add esi, 1
sub esi, 1
mov edx, dword [esp + 0x874]
sub edx, 0xffffffff
sub edx, 1
xor esi, 0xffffffff
xor edx, 0xffffffff
and esi, edx
xor esi, 0xffffffff
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
sub eax, edx
cmp ecx, eax
mov dword [esp + 0x8e4], ecx
jne 0x10035a00
mov eax, 0x1c
mov dword [esp + 0x8b4], eax
jmp 0x1003561a
mov eax, dword [esp + 0x924]
xor ecx, ecx
mov edx, 0xffffffff
movzx esi, byte [eax + 0x10078438]
mov edi, ecx
sub edi, 0xfffffff9
mov ebx, esi
add ebx, 0xffffffff
mov ebp, ecx
sub ebp, esi
sub ebp, 1
mov dword [esp + 0x848], eax
mov eax, ecx
sub eax, 0xffffffff
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ecx
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
sub ebx, eax
sub ebx, eax
mov eax, edi
add eax, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
mov dword [esp + 0x844], eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x840], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x83c], eax
mov eax, dword [esp + 0x840]
mov dword [esp + 0x838], ecx
mov ecx, dword [esp + 0x83c]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, dword [esp + 0x838]
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, dword [esp + 0x844]
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x838]
sub eax, 0xffffffff
sub eax, 1
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
mov ebp, dword [esp + 0x838]
sub ebp, 0xffffffff
sub ebp, 1
or ecx, ebp
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
or ebp, edi
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ebx
and eax, 0xffffffff
mov edi, dword [esp + 0x838]
sub edi, eax
sub edi, 1
xor ebx, 0xffffffff
mov eax, dword [esp + 0x838]
sub eax, 0xffffffff
sub eax, 1
and ebx, eax
mov eax, dword [esp + 0x838]
sub eax, ebx
sub eax, 1
add eax, 1
sub eax, 1
and edi, eax
mov eax, ecx
or eax, 0xffffffff
xor ecx, 0xffffffff
mov ebx, edx
add ebx, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or ecx, ebx
and eax, ecx
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
mov edi, dword [esp + 0x838]
sub edi, eax
sub edi, 1
or ecx, edi
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, eax
and ecx, 0xffffffff
mov edi, dword [esp + 0x838]
sub edi, ecx
sub edi, 1
add edi, 1
sub edi, 1
xor eax, 0xffffffff
mov ecx, dword [esp + 0x838]
sub ecx, 0xffffffff
sub ecx, 1
and eax, ecx
xor eax, 0xffffffff
and edi, eax
mov eax, edi
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
mov edi, edx
xor edi, 0xffffffff
or ebx, edi
mov edi, ebx
add edi, 0xffffffff
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
sub ecx, edi
sub ecx, edi
mov edi, dword [esp + 0x838]
sub edi, 0xffffffff
sub edi, 1
xor ecx, 0xffffffff
xor edi, 0xffffffff
and ecx, edi
xor ecx, 0xffffffff
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
xor ecx, 0xffffffff
or edi, ecx
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
add eax, 1
sub eax, 1
mov ecx, edx
add ecx, 0xfffffffd
mov edi, edx
and edi, 0xfffffffd
sub ecx, edi
sub ecx, edi
mov edi, edx
add edi, 0xffffffff
mov ebx, edx
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov ebx, dword [esp + 0x838]
sub ebx, edi
sub ebx, 1
or ecx, ebx
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
mov ecx, edi
xor ecx, 0xffffffff
mov ebx, dword [esp + 0x838]
sub ebx, 0xffffffff
sub ebx, 1
and ecx, 0xffffffff
and edi, ebx
or ecx, edi
mov edi, edx
or edi, 0xfffffffd
mov ebx, edx
add ebx, 0xfffffffd
mov ebp, edx
and ebp, 0xfffffffd
sub ebx, ebp
sub ebx, ebp
mov ebp, edx
add ebp, 0xffffffff
mov dword [esp + 0x834], eax
mov eax, edx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or ebx, ebp
and edi, ebx
mov eax, edx
add eax, 0xffffffff
mov ebx, edx
add ebx, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
mov ebp, edx
add ebp, 0xffffffff
mov dword [esp + 0x830], eax
mov eax, edx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or ebx, ebp
xor ebx, 0xffffffff
mov eax, dword [esp + 0x830]
sub eax, ebx
sub eax, ebx
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov edi, eax
xor edi, 0xffffffff
mov ebx, edx
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
xor eax, 0xffffffff
mov ebx, edx
add ebx, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or eax, ebx
mov ebx, dword [esp + 0x838]
sub ebx, eax
sub ebx, 1
mov eax, ebx
add eax, 0xffffffff
mov ebp, dword [esp + 0x838]
sub ebp, ebx
sub ebp, 1
mov ebx, dword [esp + 0x838]
sub ebx, 0xffffffff
sub ebx, 1
or ebp, ebx
mov ebx, ebp
add ebx, 0xffffffff
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
sub eax, ebx
sub eax, ebx
mov ebx, dword [esp + 0x838]
sub ebx, edi
sub ebx, 1
mov edi, dword [esp + 0x838]
sub edi, eax
sub edi, 1
or ebx, edi
mov eax, dword [esp + 0x838]
sub eax, ebx
sub eax, 1
mov edi, dword [esp + 0x838]
sub edi, ecx
sub edi, 1
add edi, 1
sub edi, 1
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
mov ebx, edx
xor ebx, 0xffffffff
or eax, ebx
xor eax, 0xffffffff
sub ecx, eax
sub ecx, eax
xor edi, 0xffffffff
xor ecx, 0xffffffff
and edi, ecx
xor edi, 0xffffffff
mov eax, edi
or eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
add eax, 1
sub eax, 1
add eax, 1
mov ecx, eax
shr esi, cl
mov eax, dword [esp + 0x934]
movzx esi, byte [eax + esi]
mov edi, dword [esp + 0x834]
mov ebx, dword [edi*4 + 0x100742b8]
mov ebp, dword [esp + 0x838]
sub ebp, esi
sub ebp, 1
mov esi, dword [esp + 0x838]
sub esi, ebx
sub esi, 1
mov eax, ebp
or eax, 0xffffffff
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
add ecx, 1
sub ecx, 1
mov ebp, dword [esp + 0x838]
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
or ecx, ebp
and eax, ecx
mov ecx, esi
or ecx, 0xffffffff
mov ebp, esi
add ebp, 0xffffffff
and esi, 0xffffffff
sub ebp, esi
sub ebp, esi
mov esi, edx
xor esi, 0xffffffff
add esi, 1
sub esi, 1
or ebp, esi
and ecx, ebp
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x838]
sub eax, ecx
sub eax, 1
or esi, eax
xor esi, 0xffffffff
mov eax, esi
or eax, 0xffffffff
xor esi, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
or esi, ecx
and eax, esi
mov ecx, eax
or ecx, 0xffffffff
mov esi, dword [esp + 0x838]
sub esi, eax
sub esi, 1
mov ebp, dword [esp + 0x838]
sub ebp, 0xffffffff
sub ebp, 1
or esi, ebp
and ecx, esi
mov esi, edx
add esi, 0xffffffff
mov ebp, edx
add ebp, 0xffffffff
mov edi, edx
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
mov edi, dword [esp + 0x838]
sub edi, 0xffffffff
sub edi, 1
or ebp, edi
mov edi, ebp
add edi, 0xffffffff
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
add edi, 1
sub edi, 1
sub esi, edi
sub esi, edi
xor ecx, 0xffffffff
mov edi, dword [esp + 0x838]
sub edi, 0xffffffff
sub edi, 1
or ecx, edi
mov edi, dword [esp + 0x838]
sub edi, ecx
sub edi, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
cmp edi, ebx
sete al
and al, 1
mov ecx, dword [esp + 0x848]
mov byte [esp + ecx + 0x978], al
mov esi, edx
add esi, 0xffffffff
mov edi, dword [esp + 0x838]
sub edi, 0xffffffff
sub edi, 1
mov ebx, edx
xor ebx, 0xffffffff
mov ebp, edx
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov ebp, edx
xor ebp, 0xffffffff
mov eax, edx
xor eax, 0xffffffff
or ebp, eax
xor ebp, 0xffffffff
mov eax, dword [esp + 0x838]
sub eax, ebp
sub eax, 1
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
mov ebx, dword [esp + 0x838]
sub ebx, eax
sub ebx, 1
or ebp, ebx
mov eax, dword [esp + 0x838]
sub eax, ebp
sub eax, 1
mov ebx, edi
or ebx, 0xffffffff
xor edi, 0xffffffff
mov ebp, edx
xor ebp, 0xffffffff
or edi, ebp
and ebx, edi
mov edi, eax
and edi, 0xffffffff
mov ebp, dword [esp + 0x838]
sub ebp, edi
sub ebp, 1
xor eax, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
and eax, edi
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
and ebp, edi
xor ebx, 0xffffffff
mov eax, dword [esp + 0x838]
sub eax, ebp
sub eax, 1
or ebx, eax
mov eax, dword [esp + 0x838]
sub eax, ebx
sub eax, 1
add eax, 1
sub eax, 1
mov edi, dword [esp + 0x838]
sub edi, eax
sub edi, 1
mov ebx, dword [esp + 0x838]
sub ebx, 0xffffffff
sub ebx, 1
add ebx, 1
sub ebx, 1
and edi, 0xffffffff
and eax, ebx
or edi, eax
mov eax, edi
add eax, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
xor edi, 0xffffffff
mov ebp, edx
xor ebp, 0xffffffff
or edi, ebp
xor edi, 0xffffffff
add edi, 1
sub edi, 1
sub ebx, edi
sub ebx, edi
mov edi, edx
add edi, 0xffffffff
mov ebp, edx
xor ebp, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
or ebp, ecx
mov ecx, dword [esp + 0x838]
sub ecx, ebp
sub ecx, 1
sub edi, ecx
sub edi, ecx
xor ebx, 0xffffffff
xor edi, 0xffffffff
and ebx, edi
xor ebx, 0xffffffff
mov ecx, dword [esp + 0x838]
sub ecx, ebx
sub ecx, 1
sub eax, ecx
sub eax, ecx
sub esi, eax
sub esi, eax
add esi, 1
mov eax, dword [esp + 0x848]
add eax, esi
mov ecx, dword [esp + 0x838]
sub ecx, 0xffffffc8
cmp eax, ecx
mov dword [esp + 0x924], eax
je 0x1003449e
jmp 0x10035f86
mov eax, dword [esp + 0x91c]
xor ecx, ecx
lea edx, [esp + 0x9b0]
mov esi, 0xffffffff
mov edi, 0x17fdd7dc
mov ebx, ecx
sub ebx, 0xffffffff
mov dword [esp + 0x82c], ecx
mov ecx, ebx
mov ebx, eax
shl ebx, cl
add edi, 0x17fdd7dd
mov ebp, esi
add ebp, 0x17fdd7dd
mov ecx, esi
and ecx, 0x17fdd7dd
sub ebp, ecx
sub ebp, ecx
mov ecx, dword [esp + 0x82c]
sub ecx, 0xffffffff
sub ecx, 1
and ebp, 0xffffffff
and ecx, 0x17fdd7dd
or ebp, ecx
mov ecx, dword [esp + 0x82c]
sub ecx, 0x17fdd7dc
sub ecx, 1
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov ecx, dword [esp + 0x82c]
sub ecx, ebp
sub ecx, 1
add ecx, 1
sub ecx, 1
sub edi, ecx
sub edi, ecx
mov ecx, dword [esp + 0x82c]
sub ecx, ebx
sub ecx, 1
mov ebp, esi
add ebp, 0xffffffff
mov dword [esp + 0x828], eax
mov eax, esi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or ecx, ebp
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
mov ebp, dword [esp + 0x82c]
sub ebp, 0xffffffff
sub ebp, 1
or eax, ebp
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
sub ecx, ebp
sub ecx, ebp
mov eax, ebx
and eax, 0xffffffff
mov ebp, dword [esp + 0x82c]
sub ebp, eax
sub ebp, 1
mov eax, dword [esp + 0x82c]
sub eax, ebx
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x824], eax
mov eax, dword [esp + 0x82c]
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x820], eax
mov eax, dword [esp + 0x824]
mov dword [esp + 0x81c], ecx
mov ecx, dword [esp + 0x820]
and eax, ecx
xor eax, 0xffffffff
and ebp, eax
mov eax, dword [esp + 0x82c]
sub eax, 0xffffffff
sub eax, 1
mov ecx, dword [esp + 0x82c]
sub ecx, ebp
sub ecx, 1
add ecx, 1
sub ecx, 1
mov ebp, dword [esp + 0x82c]
sub ebp, eax
sub ebp, 1
add ebp, 1
sub ebp, 1
or ecx, ebp
xor ecx, 0xffffffff
mov eax, dword [esp + 0x82c]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x82c]
mov ebp, dword [esp + 0x81c]
sub ecx, ebp
sub ecx, 1
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
or ecx, ebp
mov eax, dword [esp + 0x82c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
mov ebp, esi
xor ebp, 0xffffffff
and ecx, ebp
xor ecx, 0xffffffff
mov ebp, edi
or ebp, 0xffffffff
and edi, 0xffffffff
mov dword [esp + 0x818], eax
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
and ebp, eax
mov eax, dword [esp + 0x82c]
sub eax, 0xffffffff
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, dword [esp + 0x82c]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x82c]
sub ecx, ebp
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x82c]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x82c]
mov edi, dword [esp + 0x818]
sub eax, edi
sub eax, 1
mov edi, dword [esp + 0x82c]
sub edi, ecx
sub edi, 1
xor eax, 0xffffffff
xor edi, 0xffffffff
and eax, edi
xor eax, 0xffffffff
mov ecx, dword [esp + 0x82c]
sub ecx, eax
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
mov edi, dword [esp + 0x82c]
sub edi, ecx
sub edi, 1
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
or edi, ecx
mov ecx, dword [esp + 0x82c]
sub ecx, edi
sub ecx, 1
sub eax, ecx
sub eax, ecx
mov ecx, eax
shl ecx, 2
mov esi, edx
add esi, ecx
mov dword [esp + eax*4 + 0x9b0], 0
mov eax, ebx
shl eax, 2
add edx, eax
mov dword [esp + ebx*4 + 0x9b0], 0
mov eax, dword [esp + 0x828]
movzx ecx, byte [eax + 0x1007c870]
mov edi, dword [esp + 0x82c]
mov dword [esp + 0x814], esi
mov dword [esp + 0x810], edx
mov dword [esp + 0x80c], ecx
mov dword [esp + 0x808], edi
mov eax, dword [esp + 0x808]
xor ecx, ecx
mov edx, 0xffffffff
mov esi, dword [esp + 0x80c]
add esi, eax
mov edi, ecx
sub edi, 0xffffffe4
sub edi, 1
add edi, 1
mov ebx, edx
and ebx, 0xcbe0256c
mov ebp, ecx
sub ebp, ebx
sub ebp, 1
mov ebx, ecx
sub ebx, 0xcbe0256c
sub ebx, 1
mov dword [esp + 0x804], eax
mov eax, ecx
sub eax, 0xffffffff
sub eax, 1
and ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
and ebp, eax
mov eax, edx
or eax, 0x341fda88
mov ebx, edx
xor ebx, 0x341fda88
add ebx, 1
sub ebx, 1
mov dword [esp + 0x800], eax
mov eax, ecx
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, dword [esp + 0x800]
and eax, ebx
mov ebx, ecx
sub ebx, ebp
sub ebx, 1
xor eax, 0xffffffff
add eax, 1
sub eax, 1
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, eax
or ebx, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
add eax, 1
sub eax, 1
and ebx, eax
mov eax, ecx
sub eax, 0xcbe0256c
sub eax, 1
mov ebp, ecx
sub ebp, 0x341fda88
sub ebp, 1
xor eax, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ebp, ecx
sub ebp, eax
sub ebp, 1
mov eax, ebp
and eax, 0xffffffff
mov dword [esp + 0x7fc], eax
add eax, 0xffffffff
mov dword [esp + 0x7f8], eax
mov eax, dword [esp + 0x7fc]
and eax, 0xffffffff
mov dword [esp + 0x7f4], eax
mov eax, dword [esp + 0x7f8]
mov dword [esp + 0x7f0], ecx
mov ecx, dword [esp + 0x7f4]
sub eax, ecx
sub eax, ecx
mov ecx, ebp
xor ecx, 0xffffffff
mov dword [esp + 0x7ec], eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x7e8], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x7e4], eax
mov eax, dword [esp + 0x7e8]
mov dword [esp + 0x7e0], ecx
mov ecx, dword [esp + 0x7e4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x7e0]
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x7ec]
and eax, ecx
mov ecx, dword [esp + 0x7f0]
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x7dc], eax
mov eax, dword [esp + 0x7f0]
mov dword [esp + 0x7d8], ecx
mov ecx, dword [esp + 0x7dc]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x7f0]
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x7f0]
sub ecx, ebp
sub ecx, 1
mov ebp, dword [esp + 0x7f0]
mov dword [esp + 0x7d4], eax
mov eax, dword [esp + 0x7d8]
sub ebp, eax
sub ebp, 1
or ecx, ebp
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x7d4]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, ebx
xor ecx, 0xffffffff
mov ebp, dword [esp + 0x7f0]
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
and ecx, 0xffffffff
and ebx, ebp
or ecx, ebx
mov ebx, dword [esp + 0x7f0]
sub ebx, eax
sub ebx, 1
xor ecx, 0xffffffff
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov ebx, dword [esp + 0x7f0]
sub ebx, ecx
sub ebx, 1
mov ecx, edx
xor ecx, 0xffffffff
or ebx, ecx
xor ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
add eax, 1
sub eax, 1
mov ecx, esi
add ecx, eax
cmp esi, edi
cmovb ecx, esi
mov al, byte [esp + ecx + 0x978]
mov ecx, dword [esp + 0x804]
mov byte [esp + ecx + 0x940], al
mov esi, dword [esp + 0x7f0]
sub esi, 0xffffffff
add ecx, esi
mov esi, edx
or esi, 0x130c0f0d
mov edi, dword [esp + 0x7f0]
sub edi, 0x130c0f0d
sub edi, 1
mov ebx, edx
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
or edi, ebx
and esi, edi
mov edi, edx
or edi, 0x130c0f11
mov ebx, edx
and ebx, 0x130c0f11
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
and edi, ebp
xor esi, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
or esi, ebx
xor esi, 0xffffffff
mov edi, esi
and edi, 0xffffffff
mov ebx, dword [esp + 0x7f0]
sub ebx, edi
sub ebx, 1
xor esi, 0xffffffff
mov edi, dword [esp + 0x7f0]
sub edi, 0xffffffff
sub edi, 1
and esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
and ebx, edi
mov esi, dword [esp + 0x7f0]
sub esi, 0x130c0f0d
sub esi, 1
mov edi, edx
add edi, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
or esi, edi
mov edi, dword [esp + 0x7f0]
sub edi, esi
sub edi, 1
mov esi, edi
or esi, 0xffffffff
xor edi, 0xffffffff
mov ebp, edx
add ebp, 0xffffffff
mov eax, edx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or edi, ebp
and esi, edi
mov eax, dword [esp + 0x7f0]
sub eax, 0x130c0f0d
sub eax, 1
mov edi, dword [esp + 0x7f0]
sub edi, 0xffffffff
sub edi, 1
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
mov eax, dword [esp + 0x7f0]
sub eax, edi
sub eax, 1
or ebp, eax
mov eax, dword [esp + 0x7f0]
sub eax, ebp
sub eax, 1
mov edi, eax
add edi, 0xffffffff
mov ebp, dword [esp + 0x7f0]
sub ebp, eax
sub ebp, 1
mov eax, edx
xor eax, 0xffffffff
or ebp, eax
xor ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
mov eax, dword [esp + 0x7f0]
sub eax, esi
sub eax, 1
xor edi, 0xffffffff
or eax, edi
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x7f0]
sub eax, 0x130c0f11
sub eax, 1
mov edi, dword [esp + 0x7f0]
sub edi, 0xffffffff
sub edi, 1
or eax, edi
mov edi, dword [esp + 0x7f0]
sub edi, eax
sub edi, 1
mov eax, edi
add eax, 0xffffffff
mov ebp, dword [esp + 0x7f0]
sub ebp, edi
sub ebp, 1
mov edi, edx
xor edi, 0xffffffff
or ebp, edi
xor ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov edi, edx
add edi, 0x130c0f11
mov ebp, dword [esp + 0x7f0]
sub ebp, 0x130c0f11
sub ebp, 1
mov dword [esp + 0x7d0], eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x7cc], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x7c8], eax
mov eax, dword [esp + 0x7cc]
mov dword [esp + 0x7c4], ecx
mov ecx, dword [esp + 0x7c8]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
sub edi, eax
sub edi, eax
mov eax, edx
add eax, 0xffffffff
mov ebp, dword [esp + 0x7f0]
sub ebp, 0xffffffff
sub ebp, 1
mov ecx, edx
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
or ebp, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
add ecx, 1
sub ecx, 1
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
mov edi, dword [esp + 0x7f0]
sub edi, eax
sub edi, 1
add edi, 1
sub edi, 1
or ecx, edi
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
mov ecx, edx
add ecx, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
or edi, ecx
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x7f0]
mov edi, dword [esp + 0x7d0]
sub ecx, edi
sub ecx, 1
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
or ecx, edi
xor ecx, 0xffffffff
mov eax, dword [esp + 0x7f0]
sub eax, esi
sub eax, 1
add eax, 1
sub eax, 1
mov edi, edx
add edi, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
add edi, 1
sub edi, 1
and eax, 0xffffffff
and esi, edi
or eax, esi
mov esi, ecx
or esi, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
mov ecx, edx
add ecx, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
or edi, ecx
and esi, edi
mov ecx, dword [esp + 0x7f0]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x7f0]
sub eax, esi
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ebx
add eax, 0xffffffff
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
xor edx, 0xffffffff
or ebx, edx
mov edx, dword [esp + 0x7f0]
sub edx, ebx
sub edx, 1
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x7f0]
sub edx, ecx
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x7f0]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x7c4]
cmp eax, ecx
mov dword [esp + 0x808], eax
jne 0x100369ab
mov eax, 0x1c
mov dword [esp + 0x7c0], eax
jmp 0x10037000
mov eax, dword [esp + 0x7c0]
xor ecx, ecx
mov edx, 0xffffffff
mov esi, 0x6d7f6f0c
mov edi, dword [esp + 0x80c]
add edi, eax
mov ebx, ecx
sub ebx, 0xffffffc8
sub ebx, 1
add ebx, 1
mov ebp, edx
and ebp, 0x63d8e587
xor ebp, 0xffffffff
mov dword [esp + 0x7bc], eax
mov eax, ecx
sub eax, 0x63d8e587
sub eax, 1
mov dword [esp + 0x7b8], eax
mov eax, edx
xor eax, 0xffffffff
mov dword [esp + 0x7b4], eax
mov eax, dword [esp + 0x7b8]
mov dword [esp + 0x7b0], ecx
mov ecx, dword [esp + 0x7b4]
and eax, ecx
mov ecx, dword [esp + 0x7b0]
sub ecx, eax
sub ecx, 1
and ebp, ecx
mov eax, edx
or eax, 0x9c271a63
mov ecx, edx
and ecx, 0x9c271a63
mov dword [esp + 0x7ac], eax
mov eax, dword [esp + 0x7b0]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x7ac]
and ecx, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
or eax, ebp
mov ecx, dword [esp + 0x7b0]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x7b0]
sub eax, ecx
sub eax, 1
mov ebp, dword [esp + 0x7b0]
sub ebp, 0xffffffff
sub ebp, 1
and eax, 0xffffffff
and ecx, ebp
or eax, ecx
mov ecx, dword [esp + 0x7b0]
sub ecx, 0x63d8e587
sub ecx, 1
mov ebp, edx
add ebp, 0x9c271a63
mov dword [esp + 0x7a8], eax
mov eax, edx
add eax, 0x9c271a63
mov dword [esp + 0x7a4], eax
mov eax, dword [esp + 0x7b0]
sub eax, 0x9c271a63
sub eax, 1
mov dword [esp + 0x7a0], eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x79c], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x798], eax
mov eax, dword [esp + 0x79c]
mov dword [esp + 0x794], ecx
mov ecx, dword [esp + 0x798]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x7a0]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x7a4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x7b0]
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
mov dword [esp + 0x790], eax
add eax, 0xffffffff
mov dword [esp + 0x78c], eax
mov eax, dword [esp + 0x790]
and eax, 0xffffffff
mov dword [esp + 0x788], eax
mov eax, dword [esp + 0x78c]
mov dword [esp + 0x784], ecx
mov ecx, dword [esp + 0x788]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x780], eax
mov eax, edx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x780]
or eax, ecx
mov ecx, dword [esp + 0x784]
and ecx, eax
add ecx, 1
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov eax, dword [esp + 0x794]
and eax, 0xffffffff
mov ecx, dword [esp + 0x7b0]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x7b0]
mov dword [esp + 0x77c], ecx
mov ecx, dword [esp + 0x794]
sub eax, ecx
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x778], eax
mov eax, edx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x778]
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x77c]
and ecx, eax
mov eax, ebp
or eax, 0xffffffff
and ebp, 0xffffffff
mov dword [esp + 0x774], eax
mov eax, dword [esp + 0x7b0]
sub eax, ebp
sub eax, 1
mov ebp, dword [esp + 0x774]
and ebp, eax
mov eax, dword [esp + 0x7b0]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x7b0]
sub ecx, ebp
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov ebp, dword [esp + 0x7b0]
sub ebp, ecx
sub ebp, 1
add ebp, 1
sub ebp, 1
and eax, ebp
mov ecx, dword [esp + 0x7a8]
add ecx, 0xffffffff
mov ebp, dword [esp + 0x7b0]
mov dword [esp + 0x770], eax
mov eax, dword [esp + 0x7a8]
sub ebp, eax
sub ebp, 1
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x76c], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x768], eax
mov eax, dword [esp + 0x76c]
mov dword [esp + 0x764], ecx
mov ecx, dword [esp + 0x768]
sub eax, ecx
sub eax, ecx
or ebp, eax
xor ebp, 0xffffffff
mov eax, dword [esp + 0x764]
sub eax, ebp
sub eax, ebp
mov ebp, dword [esp + 0x770]
add ebp, 0xffffffff
mov ecx, dword [esp + 0x7b0]
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0x770]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x7b0]
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, dword [esp + 0x7b0]
sub eax, ecx
sub eax, 1
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x760]
xor eax, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ecx, dword [esp + 0x7b0]
sub ecx, eax
sub ecx, 1
mov eax, edi
add eax, ecx
cmp edi, ebx
cmovb eax, edi
mov al, byte [esp + eax + 0x978]
mov ecx, dword [esp + 0x7bc]
mov byte [esp + ecx + 0x940], al
add esi, 0x6d7f6f0d
mov edi, edx
add edi, 0x6d7f6f0d
mov ebx, dword [esp + 0x7b0]
sub ebx, 0x6d7f6f0d
sub ebx, 1
mov ebp, dword [esp + 0x7b0]
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
sub edi, ebp
sub edi, ebp
mov ebx, dword [esp + 0x7b0]
sub ebx, 0x6d7f6f0c
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, dword [esp + 0x7b0]
sub ebx, edi
sub ebx, 1
sub esi, ebx
sub esi, ebx
add ecx, esi
mov esi, edx
or esi, 0x11690426
mov edi, edx
and edi, 0x11690426
sub esi, edi
mov edi, edx
or edi, 0x1169041e
mov ebx, edx
and ebx, 0x1169041e
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
and edi, ebp
mov ebx, dword [esp + 0x7b0]
sub ebx, esi
sub ebx, 1
mov esi, dword [esp + 0x7b0]
sub esi, edi
sub esi, 1
or ebx, esi
mov esi, ebx
add esi, 0xffffffff
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
mov edi, esi
or edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
mov esi, dword [esp + 0x7b0]
sub esi, 0x11690426
sub esi, 1
add esi, 1
sub esi, 1
mov ebx, dword [esp + 0x7b0]
sub ebx, 0x1169041e
sub ebx, 1
xor esi, 0xffffffff
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
xor esi, 0xffffffff
mov ebp, edx
add ebp, 0xffffffff
and edx, 0xffffffff
sub ebp, edx
sub ebp, edx
or esi, ebp
mov edx, dword [esp + 0x7b0]
sub edx, esi
sub edx, 1
sub ebx, edx
sub ebx, edx
sub edi, ebx
cmp ecx, edi
mov dword [esp + 0x7c0], ecx
jne 0x10037000
xor eax, eax
mov ecx, eax
mov edx, eax
mov dword [esp + 0x75c], edx
mov dword [esp + 0x758], ecx
mov dword [esp + 0x754], eax
jmp 0x1003752e
mov eax, dword [esp + 0x754]
mov ecx, dword [esp + 0x75c]
mov edx, dword [esp + 0x758]
movzx esi, byte [eax + 0x1007c880]
cmp byte [esp + esi + 0x940], 0
mov esi, ecx
mov dword [esp + 0x750], eax
mov dword [esp + 0x74c], ecx
mov dword [esp + 0x748], edx
mov dword [esp + 0x744], esi
je 0x10037762
xor eax, eax
mov ecx, 0xffffffff
mov edx, dword [esp + 0x750]
mov esi, dword [edx*4 + 0x100743d8]
mov edi, eax
mov ebx, dword [esp + 0x74c]
sub edi, ebx
sub edi, 1
mov ebp, eax
sub ebp, 0xffffffff
sub ebp, 1
or edi, ebp
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
mov edi, eax
sub edi, ebp
sub edi, 1
mov ebp, eax
sub ebp, ebx
sub ebp, 1
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
xor ebp, 0xffffffff
add ebp, 1
sub ebp, 1
add ebp, 1
sub ebp, 1
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
or ebp, ebx
mov edx, eax
sub edx, ebp
sub edx, 1
mov ebx, edx
add ebx, 0xffffffff
xor edx, 0xffffffff
mov ebp, eax
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
or edx, ebp
xor edx, 0xffffffff
sub ebx, edx
sub ebx, edx
xor edi, 0xffffffff
mov edx, ebx
add edx, 0xffffffff
and ebx, 0xffffffff
sub edx, ebx
sub edx, ebx
or edi, edx
mov edx, eax
sub edx, edi
sub edx, 1
add edx, 1
sub edx, 1
mov edi, esi
add edi, 0xffffffff
mov ebx, esi
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
mov ebx, ecx
add ebx, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or edi, ebx
mov ebx, eax
sub ebx, edi
sub ebx, 1
mov edi, eax
sub edi, ebx
sub edi, 1
mov ebx, eax
sub ebx, esi
sub ebx, 1
mov esi, ecx
or esi, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub esi, ebp
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
add ebp, 1
sub ebp, 1
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
or ebp, ebx
xor ebp, 0xffffffff
mov esi, eax
sub esi, ebp
sub esi, 1
xor edi, 0xffffffff
mov ebx, eax
sub ebx, esi
sub ebx, 1
or edi, ebx
mov esi, eax
sub esi, edi
sub esi, 1
mov edi, eax
sub edi, edx
sub edi, 1
mov edx, esi
add edx, 0xffffffff
xor esi, 0xffffffff
mov ebx, eax
sub ebx, 0xffffffff
sub ebx, 1
or esi, ebx
xor esi, 0xffffffff
sub edx, esi
sub edx, esi
xor edi, 0xffffffff
xor edx, 0xffffffff
and edi, edx
xor edi, 0xffffffff
mov edx, edi
or edx, 0xffffffff
and edi, 0xffffffff
mov esi, eax
sub esi, edi
sub esi, 1
and edx, esi
mov esi, edx
xor esi, 0xffffffff
mov edi, ecx
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
xor ecx, 0xffffffff
or edi, ecx
mov ecx, eax
sub ecx, edi
sub ecx, 1
mov edx, ecx
add edx, 0xffffffff
mov edi, eax
sub edi, ecx
sub edi, 1
mov ecx, eax
sub ecx, 0xffffffff
sub ecx, 1
or edi, ecx
mov ecx, eax
sub ecx, edi
sub ecx, 1
sub edx, ecx
sub edx, ecx
add edx, 1
sub edx, 1
sub eax, esi
sub eax, 1
xor edx, 0xffffffff
add edx, 1
sub edx, 1
or eax, edx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x810]
mov dword [ecx], eax
mov dword [esp + 0x744], eax
mov eax, dword [esp + 0x744]
xor ecx, ecx
sub ecx, 0xffffffe7
sub ecx, 1
mov edx, dword [esp + 0x750]
add edx, ecx
movzx ecx, byte [edx + 0x1007c880]
cmp byte [esp + ecx + 0x940], 0
mov ecx, dword [esp + 0x748]
mov dword [esp + 0x740], eax
mov dword [esp + 0x73c], ecx
je 0x10037972
xor eax, eax
mov ecx, 0xffffffff
mov edx, dword [esp + 0x750]
mov esi, dword [edx*4 + 0x100743d8]
mov edi, dword [esp + 0x748]
xor edi, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, dword [esp + 0x748]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x748]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
add ebx, 1
sub ebx, 1
mov ebp, ecx
add ebp, 0xffffffff
mov edx, ecx
and edx, 0xffffffff
sub ebp, edx
sub ebp, edx
or ebx, ebp
mov edx, eax
sub edx, ebx
sub edx, 1
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
mov edx, eax
sub edx, edi
sub edx, 1
mov edi, ebx
add edi, 0xffffffff
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
add edi, 1
sub edi, 1
add edi, 1
sub edi, 1
or edx, edi
mov edi, eax
sub edi, edx
sub edi, 1
mov edx, esi
and edx, 0xffffffff
xor edx, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
mov ebp, esi
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
mov ebp, eax
sub ebp, 0xffffffff
sub ebp, 1
and ebx, ebp
xor ebx, 0xffffffff
and edx, ebx
add edx, 1
sub edx, 1
mov ebx, eax
sub ebx, 0xffffffff
sub ebx, 1
xor edx, 0xffffffff
mov ebp, eax
sub ebp, 0xffffffff
sub ebp, 1
or edx, ebp
xor edx, 0xffffffff
mov ebp, eax
sub ebp, esi
sub ebp, 1
mov esi, eax
sub esi, ebx
sub esi, 1
or ebp, esi
mov esi, ebp
add esi, 0xffffffff
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, eax
sub esi, edi
sub esi, 1
mov edi, edx
add edi, 0xffffffff
mov ebx, eax
sub ebx, edx
sub ebx, 1
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
or ebx, edx
mov edx, eax
sub edx, ebx
sub edx, 1
sub edi, edx
sub edi, edx
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edx, eax
sub edx, esi
sub edx, 1
add edx, 1
sub edx, 1
mov esi, eax
sub esi, edx
sub esi, 1
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
add edi, 1
sub edi, 1
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
mov esi, ecx
add esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
sub esi, ecx
add esi, 1
sub esi, 1
or ebx, esi
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
mov esi, eax
sub esi, edx
sub esi, 1
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
mov edx, edi
add edx, 0xffffffff
and edi, 0xffffffff
sub edx, edi
sub edx, edi
or esi, edx
sub eax, esi
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x814]
mov dword [eax], ecx
mov dword [esp + 0x73c], ecx
mov eax, dword [esp + 0x73c]
xor ecx, ecx
mov edx, 0xffffffff
mov esi, ecx
sub esi, 0xfffffffe
sub esi, 1
mov edi, dword [esp + 0x750]
add edi, esi
mov esi, edx
add esi, 0xffffffe7
mov ebx, ecx
sub ebx, 0xffffffe7
sub ebx, 1
mov ebp, edx
xor ebp, 0xffffffff
mov dword [esp + 0x738], eax
mov eax, edx
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ecx
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x734], eax
mov eax, edx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0x730], eax
mov eax, dword [esp + 0x734]
mov dword [esp + 0x72c], ecx
mov ecx, dword [esp + 0x730]
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x728], eax
add eax, 0xffffffff
mov dword [esp + 0x724], eax
mov eax, dword [esp + 0x728]
and eax, 0xffffffff
mov dword [esp + 0x720], eax
mov eax, dword [esp + 0x724]
mov dword [esp + 0x71c], ecx
mov ecx, dword [esp + 0x720]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x72c]
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x71c]
sub eax, ecx
sub eax, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
mov ebp, dword [esp + 0x72c]
sub ebp, eax
sub ebp, 1
or ecx, ebp
mov eax, dword [esp + 0x72c]
sub eax, ecx
sub eax, 1
mov ecx, ebx
and ecx, 0xffffffff
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
mov ecx, dword [esp + 0x72c]
sub ecx, ebx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov ebx, dword [esp + 0x72c]
sub ebx, 0xffffffff
sub ebx, 1
and ecx, ebx
xor ecx, 0xffffffff
and ebp, ecx
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebx, dword [esp + 0x72c]
sub ebx, ecx
sub ebx, 1
or eax, ebx
mov ecx, dword [esp + 0x72c]
sub ecx, eax
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
mov ebx, ecx
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
and eax, 0xffffffff
and ecx, ebx
or eax, ecx
mov ecx, dword [esp + 0x72c]
sub ecx, eax
sub ecx, 1
sub esi, ecx
sub esi, ecx
cmp edi, esi
mov eax, dword [esp + 0x738]
mov ecx, dword [esp + 0x740]
mov dword [esp + 0x75c], ecx
mov dword [esp + 0x758], eax
mov dword [esp + 0x754], edi
jne 0x1003752e
xor eax, eax
mov ecx, 0xffffffff
mov edx, 0x99d626e9
mov esi, eax
sub esi, 0xffffffff
sub esi, 1
add esi, 1
sub esi, 1
add esi, 1
mov edi, dword [esp + 0x828]
add edi, esi
add edx, 0x99d626f9
mov esi, ecx
add esi, 0x99d626f9
and ecx, 0x99d626f9
sub esi, ecx
sub esi, ecx
mov ecx, eax
sub ecx, 0x99d626e9
sub ecx, 1
xor esi, 0xffffffff
xor ecx, 0xffffffff
and esi, ecx
xor esi, 0xffffffff
sub eax, esi
sub eax, 1
sub edx, eax
sub edx, eax
cmp edi, edx
mov dword [esp + 0x91c], edi
je 0x10037bd0
jmp 0x100366b0
jmp 0x10037bd5
jmp 0x10037bd5
xor eax, eax
lea ecx, [esp + 0xa30]
lea edx, [esp + 0x9b0]
mov esi, ecx
mov dword [esp + 0x718], esi
mov dword [esp + 0x714], edx
mov dword [esp + 0x710], eax
mov dword [esp + 0x70c], ecx
mov eax, dword [esp + 0x70c]
mov ecx, dword [esp + 0x714]
mov edx, dword [esp + 0x710]
xor esi, esi
mov edi, 0xffffffff
mov ebx, dword [ecx]
mov ebp, edi
add ebp, 0xe967693e
mov dword [esp + 0x708], eax
mov eax, edi
and eax, 0xe967693e
sub ebp, eax
sub ebp, eax
mov eax, edi
and eax, 0xe9676938
xor eax, 0xffffffff
mov dword [esp + 0x704], eax
mov eax, esi
sub eax, 0xe9676938
sub eax, 1
mov dword [esp + 0x700], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x6fc], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x6f8], eax
mov eax, dword [esp + 0x6fc]
mov dword [esp + 0x6f4], ecx
mov ecx, dword [esp + 0x6f8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x700]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x704]
and ecx, eax
xor ebp, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ecx, eax
xor ecx, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
and ecx, 0xffffffff
and eax, ebp
or ecx, eax
mov eax, esi
sub eax, 0xe967693e
sub eax, 1
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x6f0], eax
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x6f0]
or eax, ebp
xor eax, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x6ec], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x6e8], eax
mov eax, dword [esp + 0x6ec]
mov dword [esp + 0x6e4], ecx
mov ecx, dword [esp + 0x6e8]
or eax, ecx
xor eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, esi
sub eax, 0xe967693e
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x6e0], eax
mov eax, esi
mov dword [esp + 0x6dc], ecx
mov ecx, dword [esp + 0x6e0]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x6dc]
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0x6d8], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x6d4], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x6d0], eax
mov eax, dword [esp + 0x6d4]
mov dword [esp + 0x6cc], ecx
mov ecx, dword [esp + 0x6d0]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x6cc]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x6d8]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, ebp
sub ecx, 1
mov ebp, esi
sub ebp, eax
sub ebp, 1
or ecx, ebp
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xe9676938
sub ecx, 1
mov ebp, eax
or ebp, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x6c8], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x6c4], eax
mov eax, dword [esp + 0x6c8]
mov dword [esp + 0x6c0], ecx
mov ecx, dword [esp + 0x6c4]
or eax, ecx
and ebp, eax
mov eax, dword [esp + 0x6c0]
or eax, 0xffffffff
mov ecx, dword [esp + 0x6c0]
and ecx, 0xffffffff
mov dword [esp + 0x6bc], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x6bc]
and ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
or ebp, ecx
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
and eax, 0xffffffff
and ebp, ecx
or eax, ebp
mov ecx, dword [esp + 0x6e4]
add ecx, 0xffffffff
mov ebp, esi
mov dword [esp + 0x6b8], eax
mov eax, dword [esp + 0x6e4]
sub ebp, eax
sub ebp, 1
mov eax, edi
xor eax, 0xffffffff
or ebp, eax
xor ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
mov eax, esi
mov ebp, dword [esp + 0x6b8]
sub eax, ebp
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
mov eax, ebx
shl eax, cl
mov ebp, esi
sub ebp, 0xc1000000
sub ebp, 1
add ebp, 1
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ebp
sub eax, 1
mov dword [esp + 0x6b4], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x6b0], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x6ac], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x6a8], eax
mov eax, dword [esp + 0x6ac]
mov dword [esp + 0x6a4], ecx
mov ecx, dword [esp + 0x6a8]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x6b0]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x6a0], eax
mov eax, dword [esp + 0x6b4]
sub ecx, eax
sub ecx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x69c], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x698], eax
mov eax, dword [esp + 0x69c]
mov dword [esp + 0x694], ecx
mov ecx, dword [esp + 0x698]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x694]
or ecx, eax
xor ecx, 0xffffffff
xor ebp, 0xffffffff
mov eax, dword [esp + 0x6a0]
xor eax, 0xffffffff
or ebp, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
xor ebp, 0xffffffff
and ecx, ebp
xor ecx, 0xffffffff
mov eax, dword [esp + 0x6a4]
or eax, 0xffffffff
mov ebp, dword [esp + 0x6a4]
add ebp, 0xffffffff
mov dword [esp + 0x690], eax
mov eax, dword [esp + 0x6a4]
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
mov eax, dword [esp + 0x690]
and eax, ebp
mov ebp, ecx
or ebp, 0xffffffff
mov dword [esp + 0x68c], eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
and ebp, eax
mov eax, dword [esp + 0x68c]
add eax, 0xffffffff
mov ecx, dword [esp + 0x68c]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffffff
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or ebp, ecx
and eax, ebp
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, edi
add eax, 0xfffffff5
mov ebp, edi
add ebp, 0xfffffff5
mov dword [esp + 0x688], eax
mov eax, edi
add eax, 0xfffffff5
mov dword [esp + 0x684], eax
mov eax, edi
and eax, 0xfffffff5
mov dword [esp + 0x680], eax
mov eax, dword [esp + 0x684]
mov dword [esp + 0x67c], ecx
mov ecx, dword [esp + 0x680]
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x678], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x678]
or eax, ecx
xor eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
and eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ebp
sub eax, 1
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
and eax, ebp
xor eax, 0xffffffff
and ecx, eax
mov eax, dword [esp + 0x688]
sub eax, ecx
sub eax, ecx
mov ecx, eax
mov eax, ebx
shl eax, cl
mov ebp, esi
sub ebp, 0xd075ccb5
sub ebp, 1
mov ecx, esi
sub ecx, 0xd04accb5
sub ecx, 1
mov dword [esp + 0x674], eax
mov eax, ebp
add eax, 0xffffffff
mov dword [esp + 0x670], eax
mov eax, esi
sub eax, ebp
sub eax, 1
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x66c], eax
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x66c]
or eax, ebp
xor eax, 0xffffffff
mov ebp, dword [esp + 0x670]
sub ebp, eax
sub ebp, eax
mov eax, edi
or eax, 0xd04accb5
mov dword [esp + 0x668], eax
mov eax, edi
and eax, 0xd04accb5
mov dword [esp + 0x664], eax
add eax, 0xffffffff
mov dword [esp + 0x660], eax
mov eax, dword [esp + 0x664]
and eax, 0xffffffff
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0x660]
mov dword [esp + 0x658], ecx
mov ecx, dword [esp + 0x65c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x668]
and ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
xor ebp, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x654], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or ebp, ecx
xor ebp, 0xffffffff
mov eax, dword [esp + 0x654]
sub eax, ebp
sub eax, ebp
mov ecx, esi
sub ecx, 0xd075ccb5
sub ecx, 1
mov ebp, esi
mov dword [esp + 0x650], eax
mov eax, dword [esp + 0x658]
sub ebp, eax
sub ebp, 1
xor ecx, 0xffffffff
xor ebp, 0xffffffff
and ecx, ebp
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x650]
add ecx, 0xffffffff
mov ebp, dword [esp + 0x650]
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x64c], eax
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ecx, 0xffffffff
mov eax, dword [esp + 0x650]
and eax, ebp
or ecx, eax
mov eax, dword [esp + 0x64c]
add eax, 0xffffffff
mov ebp, dword [esp + 0x64c]
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
xor ecx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or ecx, ebp
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x648], eax
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ecx, 0xffffffff
mov eax, dword [esp + 0x648]
and eax, ebp
or ecx, eax
mov eax, dword [esp + 0x674]
add eax, 0xffffffff
mov ebp, dword [esp + 0x674]
or ebp, 0xffffffff
mov dword [esp + 0x644], eax
mov eax, dword [esp + 0x674]
and eax, 0xffffffff
sub ebp, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x640], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x63c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x638], eax
mov eax, dword [esp + 0x63c]
mov dword [esp + 0x634], ecx
mov ecx, dword [esp + 0x638]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x640]
sub eax, ecx
sub eax, ecx
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
mov ecx, dword [esp + 0x644]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x634]
xor eax, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ebp, dword [esp + 0x634]
add ebp, 0xffffffff
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x634]
xor eax, 0xffffffff
mov dword [esp + 0x62c], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x628], eax
mov eax, dword [esp + 0x62c]
mov dword [esp + 0x624], ecx
mov ecx, dword [esp + 0x628]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov eax, edi
add eax, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x620], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x61c], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x618], eax
mov eax, dword [esp + 0x61c]
mov dword [esp + 0x614], ecx
mov ecx, dword [esp + 0x618]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x614]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x620]
sub ecx, eax
sub ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, dword [esp + 0x630]
add eax, 0xffffffff
mov ecx, dword [esp + 0x630]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
xor ebp, 0xffffffff
or eax, ebp
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x624]
or eax, 0xffffffff
mov ebp, dword [esp + 0x624]
and ebp, 0xffffffff
mov dword [esp + 0x610], eax
mov eax, esi
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, dword [esp + 0x610]
and ebp, eax
mov eax, ecx
xor eax, 0xffffffff
mov dword [esp + 0x60c], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x60c]
and eax, 0xffffffff
mov dword [esp + 0x604], eax
mov eax, dword [esp + 0x608]
and ecx, eax
mov eax, dword [esp + 0x604]
or eax, ecx
mov ecx, esi
sub ecx, ebp
sub ecx, 1
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or ecx, ebp
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ecx, ebp
mov eax, ecx
add eax, 0xffffffff
mov ebp, ecx
or ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov ecx, ebp
add ecx, 0xffffffff
xor ebp, 0xffffffff
mov dword [esp + 0x600], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
mov eax, esi
sub eax, ebp
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x600]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x67c]
xor ecx, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
and ecx, ebp
xor ecx, 0xffffffff
mov ebp, esi
mov dword [esp + 0x5fc], eax
mov eax, dword [esp + 0x67c]
sub ebp, eax
sub ebp, 1
add ebp, 1
sub ebp, 1
add ebp, 1
sub ebp, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x5f8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x5f4], eax
mov eax, dword [esp + 0x5f8]
mov dword [esp + 0x5f0], ecx
mov ecx, dword [esp + 0x5f4]
sub eax, ecx
sub eax, ecx
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x5f0]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, ebp
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x5fc]
xor eax, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ebp, dword [esp + 0x5fc]
xor ebp, 0xffffffff
mov dword [esp + 0x5ec], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x5e8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x5e4], eax
mov eax, dword [esp + 0x5e8]
mov dword [esp + 0x5e0], ecx
mov ecx, dword [esp + 0x5e4]
sub eax, ecx
sub eax, ecx
or ebp, eax
xor ebp, 0xffffffff
add ebp, 1
sub ebp, 1
mov eax, dword [esp + 0x5ec]
sub eax, ebp
mov ebp, dword [esp + 0x5e0]
and ebp, 0xffffffff
mov ecx, esi
sub ecx, ebp
sub ecx, 1
mov ebp, esi
mov dword [esp + 0x5dc], eax
mov eax, dword [esp + 0x5e0]
sub ebp, eax
sub ebp, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x5d8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x5d4], eax
mov eax, dword [esp + 0x5d8]
mov dword [esp + 0x5d0], ecx
mov ecx, dword [esp + 0x5d4]
sub eax, ecx
sub eax, ecx
and ebp, eax
mov eax, esi
sub eax, ebp
sub eax, 1
mov ebp, dword [esp + 0x5d0]
and ebp, eax
mov eax, dword [esp + 0x5dc]
add eax, 0xffffffff
mov ecx, dword [esp + 0x5dc]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x5cc], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x5cc]
and eax, 0xffffffff
mov dword [esp + 0x5c8], eax
mov eax, dword [esp + 0x5dc]
and eax, ecx
mov ecx, dword [esp + 0x5c8]
or ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov ebp, esi
sub ebp, eax
sub ebp, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
mov eax, esi
sub eax, ebp
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x6f4]
mov ebp, dword [eax + 4]
mov eax, edi
add eax, 0xb0da05e8
mov dword [esp + 0x5c4], eax
mov eax, edi
and eax, 0xb0da05e8
mov dword [esp + 0x5c0], eax
mov eax, dword [esp + 0x5c4]
mov dword [esp + 0x5bc], ecx
mov ecx, dword [esp + 0x5c0]
sub eax, ecx
sub eax, ecx
mov ecx, edi
and ecx, 0xb0da05e2
mov dword [esp + 0x5b8], eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xb0da05e2
mov dword [esp + 0x5b4], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x5b4]
and ecx, eax
mov eax, esi
mov dword [esp + 0x5b0], ecx
mov ecx, dword [esp + 0x5b8]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x5b0]
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
mov dword [esp + 0x5ac], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x5ac]
and eax, 0xffffffff
mov dword [esp + 0x5a4], eax
mov eax, dword [esp + 0x5a8]
and ecx, eax
mov eax, dword [esp + 0x5a4]
or eax, ecx
mov ecx, esi
sub ecx, 0xb0da05e8
sub ecx, 1
add ecx, 1
sub ecx, 1
mov dword [esp + 0x5a0], eax
mov eax, edi
add eax, 0xb0da05e2
mov dword [esp + 0x59c], eax
mov eax, edi
xor eax, 0xb0da05e2
mov dword [esp + 0x598], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x594], eax
mov eax, dword [esp + 0x598]
mov dword [esp + 0x590], ecx
mov ecx, dword [esp + 0x594]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x59c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x590]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xffffffff
mov dword [esp + 0x58c], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
mov ecx, dword [esp + 0x58c]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x588], eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x584], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edi
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x584]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x588]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x580], eax
mov eax, dword [esp + 0x5a0]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x580]
add eax, 0xffffffff
mov dword [esp + 0x57c], eax
mov eax, esi
mov dword [esp + 0x578], ecx
mov ecx, dword [esp + 0x580]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x57c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x578]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
mov eax, ebp
shr eax, cl
mov ecx, edi
add ecx, 0xffffc0ff
mov dword [esp + 0x574], eax
mov eax, edi
add eax, 0xffffc0ff
mov dword [esp + 0x570], eax
mov eax, edi
xor eax, 0xffffc0ff
mov dword [esp + 0x56c], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x568], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x564], eax
mov eax, dword [esp + 0x568]
mov dword [esp + 0x560], ecx
mov ecx, dword [esp + 0x564]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x56c]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x570]
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x55c], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x55c]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x558], eax
add eax, 0xffffffff
mov dword [esp + 0x554], eax
mov eax, dword [esp + 0x558]
and eax, 0xffffffff
mov dword [esp + 0x550], eax
mov eax, dword [esp + 0x554]
mov dword [esp + 0x54c], ecx
mov ecx, dword [esp + 0x550]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x54c]
and ecx, eax
mov eax, dword [esp + 0x560]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x574]
xor ecx, 0xffffffff
mov dword [esp + 0x548], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
mov dword [esp + 0x544], ecx
mov ecx, dword [esp + 0x574]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x544]
xor ecx, 0xffffffff
mov dword [esp + 0x540], eax
mov eax, esi
mov dword [esp + 0x53c], ecx
mov ecx, dword [esp + 0x540]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x53c]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x548]
xor ecx, 0xffffffff
mov dword [esp + 0x538], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
mov dword [esp + 0x534], ecx
mov ecx, dword [esp + 0x548]
sub eax, ecx
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x534]
sub ecx, eax
mov eax, dword [esp + 0x538]
or eax, 0xffffffff
mov dword [esp + 0x530], eax
mov eax, esi
mov dword [esp + 0x52c], ecx
mov ecx, dword [esp + 0x538]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x530]
and ecx, eax
mov eax, dword [esp + 0x52c]
and eax, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x528], eax
mov eax, esi
mov dword [esp + 0x524], ecx
mov ecx, dword [esp + 0x52c]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x528]
and ecx, eax
mov eax, esi
mov dword [esp + 0x520], ecx
mov ecx, dword [esp + 0x524]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x520]
add ecx, 0xffffffff
mov dword [esp + 0x51c], eax
mov eax, dword [esp + 0x520]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x51c]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x518], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x518]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x5bc]
add ecx, 0xffffffff
mov dword [esp + 0x514], eax
mov eax, esi
mov dword [esp + 0x510], ecx
mov ecx, dword [esp + 0x5bc]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x510]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x514]
add ecx, 0xffffffff
mov dword [esp + 0x50c], eax
mov eax, dword [esp + 0x514]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x508], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x504], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x500], eax
mov eax, dword [esp + 0x504]
mov dword [esp + 0x4fc], ecx
mov ecx, dword [esp + 0x500]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x508]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x4f8], eax
mov eax, dword [esp + 0x4fc]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x514]
xor ecx, 0xffffffff
mov dword [esp + 0x4f4], eax
mov eax, esi
mov dword [esp + 0x4f0], ecx
mov ecx, dword [esp + 0x4f8]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x4f0]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x4f4]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
mov dword [esp + 0x4ec], eax
mov eax, dword [esp + 0x50c]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, 0xffffffff
mov dword [esp + 0x4e8], eax
mov eax, dword [esp + 0x50c]
mov dword [esp + 0x4e4], ecx
mov ecx, dword [esp + 0x4e8]
and eax, ecx
mov ecx, dword [esp + 0x4e4]
or ecx, eax
mov eax, esi
mov dword [esp + 0x4e0], ecx
mov ecx, dword [esp + 0x4ec]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x4e0]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x4dc], eax
mov eax, esi
mov dword [esp + 0x4d8], ecx
mov ecx, dword [esp + 0x4dc]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x4d4], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x4d4]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x4d8]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0x4d0], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x4cc], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4c4], ecx
mov ecx, dword [esp + 0x4c8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x4d0]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x4dc]
xor ecx, 0xffffffff
mov dword [esp + 0x4c0], eax
mov eax, esi
mov dword [esp + 0x4bc], ecx
mov ecx, dword [esp + 0x4c4]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x4bc]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x4c0]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, 0xfffffffa
sub eax, 1
add eax, 1
mov dword [esp + 0x4b8], ecx
mov ecx, eax
mov eax, ebp
shr eax, cl
mov ecx, edi
and ecx, 0xffffffc1
mov dword [esp + 0x4b4], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffc1
sub ecx, 1
mov dword [esp + 0x4b0], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x4ac], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4a4], ecx
mov ecx, dword [esp + 0x4a8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x4a4]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x4b0]
and ecx, eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x4a0], eax
mov eax, esi
mov dword [esp + 0x49c], ecx
mov ecx, dword [esp + 0x4a0]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
mov dword [esp + 0x498], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x494], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0x494]
mov dword [esp + 0x48c], ecx
mov ecx, dword [esp + 0x490]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x48c]
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x498]
and eax, ecx
mov ecx, dword [esp + 0x49c]
add ecx, 0xffffffff
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x49c]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x488]
add eax, 0xffffffff
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x488]
and eax, 0xffffffff
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0x484]
mov dword [esp + 0x47c], ecx
mov ecx, dword [esp + 0x480]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x47c]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x478], eax
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, 0xffffffff
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], ecx
mov ecx, dword [esp + 0x474]
and eax, ecx
mov ecx, dword [esp + 0x470]
or ecx, eax
mov eax, edi
or eax, 0xffffffc1
mov dword [esp + 0x46c], eax
mov eax, edi
and eax, 0xffffffc1
mov dword [esp + 0x468], eax
mov eax, esi
mov dword [esp + 0x464], ecx
mov ecx, dword [esp + 0x468]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x46c]
and ecx, eax
add ecx, 1
sub ecx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x460], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x45c], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x454], ecx
mov ecx, dword [esp + 0x458]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x460]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x454]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x464]
sub ecx, eax
add ecx, 1
mov eax, dword [esp + 0x4b4]
add eax, 0xffffffff
mov dword [esp + 0x450], eax
mov eax, esi
mov dword [esp + 0x44c], ecx
mov ecx, dword [esp + 0x4b4]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x448], eax
mov eax, esi
mov dword [esp + 0x444], ecx
mov ecx, dword [esp + 0x448]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x444]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x450]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
mov dword [esp + 0x440], ecx
mov ecx, dword [esp + 0x44c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x440]
add ecx, 0xffffffff
mov dword [esp + 0x43c], eax
mov eax, dword [esp + 0x440]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x43c]
or eax, 0xffffffff
mov dword [esp + 0x438], eax
mov eax, dword [esp + 0x43c]
and eax, 0xffffffff
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x438]
mov dword [esp + 0x430], ecx
mov ecx, dword [esp + 0x434]
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x42c], eax
mov eax, dword [esp + 0x430]
sub ecx, eax
sub ecx, 1
mov eax, esi
mov dword [esp + 0x428], ecx
mov ecx, dword [esp + 0x42c]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x428]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x424], eax
mov eax, esi
mov dword [esp + 0x420], ecx
mov ecx, dword [esp + 0x424]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x420]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x41c], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x418], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, 0xffffffff
and eax, 0xffffffff
or ecx, eax
mov eax, dword [esp + 0x418]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x41c]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x4b8]
add ecx, 0xffffffff
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x4b8]
add eax, 0xffffffff
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x4b8]
and eax, 0xffffffff
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x40c]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x408]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x414]
add eax, 0xffffffff
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x414]
xor eax, 0xffffffff
mov dword [esp + 0x400], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x3fc]
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x404]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x3f8]
and eax, 0xffffffff
mov dword [esp + 0x3f4], eax
add eax, 0xffffffff
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
and eax, 0xffffffff
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x3ec]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3f8]
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x3e4]
and ecx, eax
mov eax, dword [esp + 0x3e8]
add eax, 0xffffffff
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3e8]
xor eax, 0xffffffff
mov dword [esp + 0x3dc], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x3d8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3d4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x3dc]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x3e0]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x3d0]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, ecx
xor eax, 0xffffffff
mov dword [esp + 0x3cc], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3c8]
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x3c4]
or ecx, 0xffffffff
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3c4]
and eax, 0xffffffff
mov dword [esp + 0x3bc], eax
add eax, 0xffffffff
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
and eax, 0xffffffff
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x3b4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x3b0]
and ecx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x3ac], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x3a8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3a4]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x3ac]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x3a0]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x3c0]
add eax, 0xffffffff
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3c0]
and eax, 0xffffffff
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x398]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x394]
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x708]
mov dword [eax], ecx
mov ecx, edi
or ecx, 0xfffffff3
mov eax, edi
and eax, 0xfffffff3
sub ecx, eax
mov eax, edi
or eax, 0xffffffff
mov dword [esp + 0x390], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x38c], eax
mov eax, esi
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x38c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x390]
and ecx, eax
mov eax, esi
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x388]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x384]
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, edi
and eax, 0xfffffff3
xor eax, 0xffffffff
mov dword [esp + 0x380], eax
mov eax, edi
add eax, 0xfffffff3
mov dword [esp + 0x37c], eax
mov eax, edi
and eax, 0xfffffff3
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x374], ecx
mov ecx, dword [esp + 0x378]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x380]
and ecx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x374]
or eax, 0xffffffff
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x374]
add eax, 0xffffffff
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x374]
and eax, 0xffffffff
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x364], ecx
mov ecx, dword [esp + 0x368]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x370]
and ecx, eax
mov eax, dword [esp + 0x364]
add eax, 0xffffffff
mov dword [esp + 0x360], eax
mov eax, esi
mov dword [esp + 0x35c], ecx
mov ecx, dword [esp + 0x364]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x360]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x35c]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov dword [esp + 0x358], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x358]
and eax, 0xffffffff
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x354]
and ecx, eax
mov eax, dword [esp + 0x350]
or eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, eax
mov eax, ebx
shl eax, cl
mov ecx, edi
or ecx, 0x593cf4ac
mov dword [esp + 0x34c], eax
mov eax, edi
add eax, 0x593cf4ac
mov dword [esp + 0x348], eax
mov eax, edi
and eax, 0x593cf4ac
mov dword [esp + 0x344], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x344]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x340]
and ecx, eax
mov eax, esi
sub eax, 0x663cf4ac
sub eax, 1
mov dword [esp + 0x33c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x33c]
and eax, 0xffffffff
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x338]
and eax, 0x663cf4ac
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x32c], ecx
mov ecx, dword [esp + 0x330]
or eax, ecx
mov ecx, dword [esp + 0x32c]
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0x328], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, 0xffffffff
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x324]
and eax, ecx
mov ecx, dword [esp + 0x320]
or ecx, eax
mov eax, esi
sub eax, 0x593cf4ac
sub eax, 1
mov dword [esp + 0x31c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x318], eax
mov eax, esi
mov dword [esp + 0x314], ecx
mov ecx, dword [esp + 0x31c]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, 0x593cf4ac
sub ecx, 1
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x318]
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x310]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, 0x663cf4ac
sub eax, 1
mov dword [esp + 0x30c], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x30c]
or ecx, 0xffffffff
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x30c]
and eax, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, esi
mov dword [esp + 0x304], ecx
mov ecx, dword [esp + 0x308]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x304]
add ecx, 0xffffffff
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x304]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x300]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
mov dword [esp + 0x2fc], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x2fc]
and eax, 0xffffffff
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x2f8]
and ecx, eax
mov eax, dword [esp + 0x2f4]
or eax, ecx
mov ecx, esi
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x314]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x2f0]
add eax, 0xffffffff
mov dword [esp + 0x2ec], eax
mov eax, esi
mov dword [esp + 0x2e8], ecx
mov ecx, dword [esp + 0x2f0]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x2ec]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x2e8]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x2e4], eax
mov eax, esi
mov dword [esp + 0x2e0], ecx
mov ecx, dword [esp + 0x2e4]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x2e0]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x34c]
add eax, 0xffffffff
mov dword [esp + 0x2dc], eax
mov eax, esi
mov dword [esp + 0x2d8], ecx
mov ecx, dword [esp + 0x34c]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x2d4], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x2d4]
and eax, 0xffffffff
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x34c]
and eax, ecx
mov ecx, dword [esp + 0x2d0]
or ecx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x2cc], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x2c8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x2c0], ecx
mov ecx, dword [esp + 0x2c4]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x2cc]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x2c0]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x2dc]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x2d8]
xor ecx, 0xffffffff
mov dword [esp + 0x2bc], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x2b8], eax
mov eax, esi
mov dword [esp + 0x2b4], ecx
mov ecx, dword [esp + 0x2b8]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x2b4]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x2d8]
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x2ac], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x2ac]
add ecx, 0xffffffff
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x2ac]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x2a8]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x2a4], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x2a4]
and ecx, eax
mov eax, dword [esp + 0x2b0]
add eax, 0xffffffff
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x2b0]
and eax, 0xffffffff
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x298], ecx
mov ecx, dword [esp + 0x29c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x298]
add ecx, 0xffffffff
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0x298]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x294]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x2bc]
or eax, 0xffffffff
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x2bc]
and eax, 0xffffffff
mov dword [esp + 0x28c], eax
add eax, 0xffffffff
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x28c]
and eax, 0xffffffff
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x288]
mov dword [esp + 0x280], ecx
mov ecx, dword [esp + 0x284]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x290]
and ecx, eax
mov eax, dword [esp + 0x280]
or eax, 0xffffffff
mov dword [esp + 0x27c], eax
mov eax, esi
mov dword [esp + 0x278], ecx
mov ecx, dword [esp + 0x280]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x274], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x274]
or eax, ecx
mov ecx, dword [esp + 0x27c]
and ecx, eax
mov eax, esi
mov dword [esp + 0x270], ecx
mov ecx, dword [esp + 0x278]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x270]
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x26c], eax
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
xor eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x26c]
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x268]
and eax, ecx
mov ecx, dword [esp + 0x264]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, edi
or ecx, 0x6b60a22e
mov dword [esp + 0x260], eax
mov eax, edi
and eax, 0x6b60a22e
xor eax, 0xffffffff
and ecx, eax
mov eax, edi
or eax, 0x6b60a23e
mov dword [esp + 0x25c], eax
mov eax, edi
and eax, 0x6b60a23e
xor eax, 0xffffffff
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x254], ecx
mov ecx, dword [esp + 0x258]
and eax, ecx
mov ecx, dword [esp + 0x254]
xor ecx, 0xffffffff
mov dword [esp + 0x250], eax
add eax, 0xffffffff
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x250]
and eax, 0xffffffff
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x244], ecx
mov ecx, dword [esp + 0x248]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x244]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
mov dword [esp + 0x240], eax
mov eax, esi
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x240]
sub eax, ecx
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
mov ecx, dword [esp + 0x23c]
and ecx, eax
mov eax, esi
sub eax, 0x6b60a22e
sub eax, 1
mov dword [esp + 0x238], eax
mov eax, edi
xor eax, 0x6b60a23e
mov dword [esp + 0x234], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x234]
mov dword [esp + 0x22c], ecx
mov ecx, dword [esp + 0x230]
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, 0x6b60a23e
sub ecx, 1
mov dword [esp + 0x228], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x224], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x220]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x21c]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x228]
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x238]
or ecx, 0xffffffff
mov dword [esp + 0x218], eax
mov eax, esi
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x238]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x210], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x210]
or eax, ecx
mov ecx, dword [esp + 0x214]
and ecx, eax
mov eax, dword [esp + 0x218]
add eax, 0xffffffff
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x218]
and eax, 0xffffffff
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x204], ecx
mov ecx, dword [esp + 0x208]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x204]
add ecx, 0xffffffff
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x204]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x200]
add eax, 0xffffffff
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x200]
and eax, 0xffffffff
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x1f8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x1f4]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, dword [esp + 0x22c]
or eax, 0xffffffff
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x22c]
and eax, 0xffffffff
mov dword [esp + 0x1ec], eax
add eax, 0xffffffff
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x1ec]
and eax, 0xffffffff
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x1e4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x1f0]
and ecx, eax
mov eax, esi
mov dword [esp + 0x1dc], ecx
mov ecx, dword [esp + 0x1e0]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x1dc]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
shl ebx, cl
mov eax, esi
sub eax, 0xffc10000
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x1d8], eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, esi
sub ebx, 0xffffffff
sub ebx, 1
xor eax, 0xffffffff
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
mov dword [esp + 0x1d4], eax
mov eax, edi
xor eax, 0xffffffff
and ebx, 0xffffffff
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0x1d0]
and eax, ecx
or ebx, eax
mov eax, dword [esp + 0x1cc]
sub eax, ebx
sub eax, ebx
mov ecx, esi
mov ebx, dword [esp + 0x1d8]
sub ecx, ebx
sub ecx, 1
mov ebx, eax
or ebx, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
mov eax, ecx
or eax, 0xffffffff
mov dword [esp + 0x1c8], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x1c8]
and ecx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, esi
sub ebx, ecx
sub ebx, 1
add ebx, 1
sub ebx, 1
or eax, ebx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
xor ecx, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
mov dword [esp + 0x1c4], eax
mov eax, edi
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
or ecx, ebx
mov eax, dword [esp + 0x1c4]
and eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x260]
xor eax, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ebx, esi
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x260]
sub ebx, eax
sub ebx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x1bc], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x1b8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x1b4]
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x1ac], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x1ac]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x1bc]
sub eax, ecx
sub eax, ecx
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x1c0]
xor eax, 0xffffffff
mov ecx, esi
sub ecx, ebx
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x1b0]
add eax, 0xffffffff
mov ebx, esi
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1b0]
sub ebx, eax
sub ebx, 1
mov eax, edi
xor eax, 0xffffffff
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, dword [esp + 0x1a8]
sub ebx, eax
sub ebx, eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x1a4], eax
mov eax, esi
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x1a4]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x19c], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x19c]
and eax, ecx
mov ecx, esi
sub ecx, ebx
sub ecx, 1
mov ebx, esi
sub ebx, 0xffffffff
sub ebx, 1
or ecx, ebx
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
mov ecx, dword [esp + 0x1b0]
xor ecx, 0xffffffff
mov dword [esp + 0x198], eax
mov eax, esi
mov dword [esp + 0x194], ecx
mov ecx, dword [esp + 0x198]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x194]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x1a0]
add eax, 0xffffffff
mov ecx, dword [esp + 0x1a0]
add ecx, 0xffffffff
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x1a0]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x190]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, ebx
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
xor ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
mov eax, ecx
xor eax, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ebx, esi
sub ebx, ecx
sub ebx, 1
mov ecx, edi
or ecx, 0xffffffff
mov dword [esp + 0x18c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x188], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x184]
or eax, ecx
mov ecx, dword [esp + 0x180]
and ecx, eax
xor ebx, 0xffffffff
xor ecx, 0xffffffff
and ebx, ecx
xor ebx, 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x18c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
xor ebx, 0xffffffff
or eax, ebx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, edi
or eax, 0x12aac143
mov ebx, edi
and ebx, 0x12aac143
sub eax, ebx
mov ebx, edi
and ebx, 0x12aac147
mov dword [esp + 0x17c], eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, esi
sub ebx, 0x12aac147
sub ebx, 1
mov dword [esp + 0x178], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ebx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, dword [esp + 0x178]
and ebx, eax
mov eax, esi
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x17c]
sub eax, ecx
sub eax, 1
xor ebx, 0xffffffff
or eax, ebx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x170], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or ebx, ecx
mov eax, dword [esp + 0x170]
and eax, ebx
mov ecx, edi
add ecx, 0x12aac143
mov ebx, esi
sub ebx, 0x12aac143
sub ebx, 1
mov dword [esp + 0x16c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, ebx
add eax, 0xffffffff
xor ebx, 0xffffffff
mov dword [esp + 0x168], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, dword [esp + 0x168]
sub ebx, eax
sub ebx, eax
sub ecx, ebx
sub ecx, ebx
mov eax, esi
sub eax, 0x12aac147
sub eax, 1
mov ebx, ecx
or ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
or eax, ebx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, dword [esp + 0x16c]
add eax, 0xffffffff
mov ebx, dword [esp + 0x16c]
xor ebx, 0xffffffff
mov dword [esp + 0x164], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x164]
sub eax, ebx
sub eax, ebx
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
xor eax, 0xffffffff
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ebp
shr eax, cl
mov ebx, edi
add ebx, 0xffffc0ff
mov ecx, esi
sub ecx, 0xffffc0ff
sub ecx, 1
mov dword [esp + 0x160], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x15c], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x154], ecx
mov ecx, dword [esp + 0x158]
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x150], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x150]
xor eax, 0xffffffff
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x154]
or eax, 0xffffffff
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x154]
and eax, 0xffffffff
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x148]
sub eax, ecx
mov ecx, dword [esp + 0x144]
and ecx, 0xffffffff
mov dword [esp + 0x140], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x144]
add ecx, 0xffffffff
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x144]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x138], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x134]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x130]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x13c]
and ecx, eax
mov eax, dword [esp + 0x140]
add eax, 0xffffffff
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x140]
and eax, 0xffffffff
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x124], ecx
mov ecx, dword [esp + 0x128]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x124]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x120]
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
mov dword [esp + 0x11c], eax
mov eax, esi
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x11c]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x114], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x114]
or eax, ecx
mov ecx, dword [esp + 0x118]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x110], eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x110]
sub eax, ecx
sub eax, ecx
sub ebx, eax
sub ebx, eax
mov eax, esi
mov ecx, dword [esp + 0x160]
sub eax, ecx
sub eax, 1
mov ecx, edi
or ecx, 0xffffffff
mov dword [esp + 0x10c], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
mov eax, dword [esp + 0x10c]
xor eax, 0xffffffff
mov dword [esp + 0x108], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x104]
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x160]
xor ecx, 0xffffffff
mov dword [esp + 0xfc], eax
mov eax, esi
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x100]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xf8]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0xfc]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, ebx
sub ecx, 1
mov ebx, eax
or ebx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0xf4], eax
add eax, 0xffffffff
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xf4]
and eax, 0xffffffff
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0xec]
sub eax, ecx
sub eax, ecx
and ebx, eax
mov eax, dword [esp + 0xe8]
or eax, 0xffffffff
mov ecx, dword [esp + 0xe8]
xor ecx, 0xffffffff
mov dword [esp + 0xe4], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0xe0], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0xdc]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xd8]
or ecx, eax
mov eax, dword [esp + 0xe4]
and eax, ecx
mov ecx, esi
sub ecx, ebx
sub ecx, 1
add ecx, 1
sub ecx, 1
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
and ecx, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
add ebx, 1
sub ebx, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
and ebx, eax
mov eax, ebx
add eax, 0xffffffff
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0xd4], eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, esi
sub ebx, 0xffffffff
sub ebx, 1
or eax, ebx
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
sub ecx, ebx
sub ecx, ebx
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xd4]
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0x906d00bf
mov ebx, edi
add ebx, 0x906d00bf
mov dword [esp + 0xd0], eax
mov eax, edi
and eax, 0x906d00bf
sub ebx, eax
sub ebx, eax
mov eax, edi
xor eax, 0xffffffff
or ebx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, dword [esp + 0xd0]
sub ebx, eax
sub ebx, eax
mov eax, edi
add eax, 0x906d0080
mov dword [esp + 0xcc], eax
mov eax, esi
sub eax, 0x906d0080
sub eax, 1
mov dword [esp + 0xc8], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc4]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xcc]
sub eax, ecx
sub eax, ecx
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, esi
sub eax, ebx
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov ebx, eax
add ebx, 0xffffffff
mov dword [esp + 0xbc], eax
add eax, 0xffffffff
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xbc]
and eax, 0xffffffff
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xb4]
sub eax, ecx
sub eax, ecx
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
sub ebx, ecx
sub ebx, ecx
mov eax, edi
add eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0xac], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
or ecx, eax
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0xac]
sub eax, ecx
sub eax, ecx
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, ebx
add eax, 0xffffffff
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
mov ebx, esi
sub ebx, 0xffffffff
sub ebx, 1
or ecx, ebx
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
sub eax, ebx
sub eax, ebx
mov ecx, dword [esp + 0xb0]
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0x906d00bf
mov ebx, esi
sub ebx, 0x906d00bf
sub ebx, 1
mov dword [esp + 0xa8], eax
mov eax, edi
or eax, 0xffffffff
mov dword [esp + 0xa4], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0xa0], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x9c]
or eax, ecx
mov ecx, dword [esp + 0xa4]
and ecx, eax
xor ebx, 0xffffffff
xor ecx, 0xffffffff
and ebx, ecx
xor ebx, 0xffffffff
mov eax, esi
sub eax, ebx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xa8]
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0x906d0080
mov ebx, edi
add ebx, 0x906d0080
mov dword [esp + 0x94], eax
mov eax, edi
and eax, 0x906d0080
sub ebx, eax
sub ebx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, dword [esp + 0x94]
sub ebx, eax
sub ebx, eax
mov eax, ecx
and eax, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x90], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x8c]
and eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x90]
and eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x88], eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, edi
xor ebx, 0xffffffff
or eax, ebx
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
sub ecx, ebx
sub ecx, ebx
mov eax, dword [esp + 0x88]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
mov dword [esp + 0x84], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub ebx, ecx
sub ebx, ecx
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, esi
sub eax, ebx
sub eax, 1
mov ecx, dword [esp + 0x84]
sub ecx, eax
sub ecx, eax
mov eax, esi
mov ebx, dword [esp + 0x98]
sub eax, ebx
sub eax, 1
mov ebx, ecx
add ebx, 0xffffffff
mov dword [esp + 0x80], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub ebx, ecx
sub ebx, ecx
add ebx, 1
sub ebx, 1
mov eax, dword [esp + 0x80]
xor eax, 0xffffffff
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ebp
sub eax, 1
mov ebx, esi
sub ebx, ecx
sub ebx, 1
mov ecx, eax
and ecx, 0xffffffff
mov ebp, esi
sub ebp, ecx
sub ebp, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
and ebp, eax
mov eax, ebx
or eax, 0xffffffff
and ebx, 0xffffffff
mov ecx, esi
sub ecx, ebx
sub ecx, 1
and eax, ecx
xor ebp, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
or ebp, ecx
mov eax, esi
sub eax, ebp
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x708]
add ecx, 8
mov ebx, dword [esp + 0x174]
xor ebx, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov ebp, esi
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x174]
sub ebp, eax
sub ebp, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x78], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x74]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, esi
sub eax, ebp
sub eax, 1
mov ebp, eax
add ebp, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
sub ebp, eax
sub ebp, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ecx, esi
sub ecx, ebp
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x7c]
xor eax, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ebx, dword [esp + 0x7c]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x7c]
xor ebp, 0xffffffff
mov dword [esp + 0x6c], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x68], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x64]
sub eax, ecx
sub eax, ecx
or ebp, eax
xor ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
mov eax, edi
and eax, 0xffffffff
xor eax, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and ebp, ecx
xor ebp, 0xffffffff
and eax, ebp
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x6c]
sub eax, ecx
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x60]
add ecx, 0xffffffff
mov ebx, dword [esp + 0x60]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x60]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, esi
sub ebp, ebx
sub ebp, 1
sub ecx, ebp
sub ecx, ebp
mov ebx, esi
sub ebx, eax
sub ebx, 1
xor ecx, 0xffffffff
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
xor ecx, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
xor ebx, 0xffffffff
or eax, ebx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
xor ebx, 0xffffffff
or eax, ebx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xc0]
add eax, 0xffffffff
mov ebx, dword [esp + 0xc0]
xor ebx, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
or ebx, ebp
mov ebp, esi
sub ebp, ebx
sub ebp, 1
sub eax, ebp
sub eax, ebp
mov ebx, ecx
or ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
mov ecx, eax
add ecx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x5c], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x58]
sub eax, ecx
sub eax, ecx
or ebp, eax
xor ebp, 0xffffffff
mov eax, dword [esp + 0x54]
sub eax, ebp
sub eax, ebp
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, eax
xor ebx, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, edi
add eax, 0xffffffff
mov ecx, edi
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
or ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
mov ecx, esi
sub ecx, ebp
sub ecx, 1
mov ebp, edi
xor ebp, 0xffffffff
or ecx, ebp
mov ebp, esi
sub ebp, ecx
sub ebp, 1
sub eax, ebp
sub eax, ebp
xor ebx, 0xffffffff
xor eax, 0xffffffff
or ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x708]
mov dword [eax + 4], ebx
mov ecx, esi
sub ecx, 0xf722d092
sub ecx, 1
mov ebx, edi
add ebx, 0xf722d093
mov ebp, esi
sub ebp, 0xf722d093
sub ebp, 1
mov eax, edi
xor eax, 0xffffffff
add eax, 1
sub eax, 1
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
sub ebx, eax
sub ebx, eax
xor ecx, 0xffffffff
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov ebx, esi
sub ebx, ecx
sub ebx, 1
mov ecx, edi
xor ecx, 0xffffffff
or ebx, ecx
mov ecx, esi
sub ecx, ebx
sub ecx, 1
sub eax, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
add ebx, 1
sub ebx, 1
mov eax, edi
add eax, 0xffffffff
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
mov dword [esp + 0x50], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
mov eax, esi
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, dword [esp + 0x50]
sub ebp, eax
sub ebp, eax
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov eax, esi
sub eax, ebx
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xf722d092
sub eax, 1
mov ebx, esi
sub ebx, 0xf722d093
sub ebx, 1
mov ebp, esi
sub ebp, eax
sub ebp, 1
mov eax, esi
sub eax, ebx
sub eax, 1
mov dword [esp + 0x4c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
and eax, 0xffffffff
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
and ebx, eax
mov eax, dword [esp + 0x44]
or eax, ebx
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
or eax, 0xffffffff
and ebp, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
mov ebx, eax
add ebx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x40], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x38]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x40]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
sub ebp, eax
sub ebp, eax
mov eax, edi
or eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
mov dword [esp + 0x30], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x28]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x24]
or ecx, eax
mov eax, dword [esp + 0x30]
and eax, ecx
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
or eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x34]
add eax, 0xffffffff
mov ecx, dword [esp + 0x34]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, ebx
or ecx, 0xffffffff
and ebx, 0xffffffff
mov ebp, esi
sub ebp, ebx
sub ebp, 1
and ecx, ebp
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
add edx, ecx
mov eax, dword [esp + 0x6f4]
add eax, 8
mov ecx, edi
or ecx, 0xfffffff0
mov ebx, edi
and ebx, 0xfffffff0
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
and ecx, ebp
mov ebx, edi
or ebx, 0xffffffff
mov ebp, edi
and ebp, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
mov ebp, esi
sub ebp, ecx
sub ebp, 1
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
or ebp, ecx
mov ecx, esi
sub ecx, ebp
sub ecx, 1
mov ebx, ecx
or ebx, 0xffffffff
xor ecx, 0xffffffff
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x20], eax
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
or ecx, ebp
and ebx, ecx
mov eax, edi
add eax, 0xfffffff0
mov ecx, edi
xor ecx, 0xfffffff0
mov ebp, edi
xor ebp, 0xffffffff
or ecx, ebp
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
sub eax, ebp
sub eax, ebp
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
and ecx, 0xffffffff
and ebp, 0xffffffff
or ecx, ebp
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x1c], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x18], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov eax, esi
mov ecx, dword [esp + 0x1c]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
mov edi, dword [esp + 0x10]
sub eax, edi
sub eax, 1
mov edi, ebp
add edi, 0xffffffff
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
or eax, edi
mov edi, esi
sub edi, eax
sub edi, 1
xor ecx, 0xffffffff
xor edi, 0xffffffff
and ecx, edi
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, ebx
sub eax, 1
mov edi, esi
sub edi, ecx
sub edi, 1
xor eax, 0xffffffff
xor edi, 0xffffffff
and eax, edi
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
sub esi, 0xffffffff
sub esi, 1
or edi, esi
and ecx, edi
add ecx, 1
cmp edx, ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x710], edx
mov dword [esp + 0x714], eax
mov dword [esp + 0x70c], ecx
jne 0x10037c03
mov eax, 0x80
mov ecx, dword [esp + 0x93c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x718]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x80
mov dword [esp + 0xc], eax
call fcn.10067e10
add esp, 0xab0
pop esi
pop edi
pop ebx
pop ebp
ret