Function at 0x10029bc0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x6ec
mov eax, 2
mov ecx, dword fs:[0x18]
cmp ecx, 0
mov dword [esp + 0x4c0], ecx
mov dword [esp + 0x4bc], eax
je 0x100322a1
mov eax, 2
mov ecx, dword [esp + 0x4c0]
mov edx, dword [ecx + 0x30]
cmp edx, 0
mov dword [esp + 0x4b8], edx
mov dword [esp + 0x4bc], eax
je 0x100322a1
mov eax, 2
mov ecx, dword [esp + 0x4b8]
mov edx, dword [ecx + 0xc]
mov esi, edx
add esi, 0x14
mov edx, dword [edx + 0x14]
cmp edx, esi
mov dword [esp + 0x4b4], edx
mov dword [esp + 0x4b0], esi
mov dword [esp + 0x4bc], eax
je 0x100322a1
lea eax, [esp + 0x4c4]
mov ecx, dword [esp + 0x4b4]
mov dword [esp + 0x4ac], eax
mov dword [esp + 0x4a8], ecx
mov eax, dword [esp + 0x4a8]
xor ecx, ecx
mov dx, cx
mov ecx, dword [eax + 0x28]
mov si, word [eax + 0x24]
cmp si, 0
mov dword [esp + 0x4a4], eax
mov word [esp + 0x4a2], si
mov dword [esp + 0x49c], ecx
mov word [esp + 0x49a], dx
je 0x10029cd3
xor eax, eax
mov cx, word [esp + 0x4a2]
movzx edx, cx
mov dword [esp + 0x494], edx
mov dword [esp + 0x490], eax
jmp 0x1002af62
mov ax, word [esp + 0x4a2]
mov word [esp + 0x49a], ax
jmp 0x10029cd3
mov ax, word [esp + 0x49a]
mov ecx, 1
xor edx, edx
xor esi, esi
mov di, si
mov bx, 0xffff
mov bp, bx
or bp, 0xf717
mov si, bx
and si, 0xf717
sub bp, si
mov si, bx
add si, 0xf716
mov word [esp + 0x48e], ax
mov ax, di
sub ax, 0xf716
sub ax, 1
add ax, 1
sub ax, 1
mov word [esp + 0x48c], ax
mov ax, bx
xor ax, 0xffff
mov word [esp + 0x48a], ax
mov ax, word [esp + 0x48c]
mov word [esp + 0x488], si
mov si, word [esp + 0x48a]
or ax, si
mov si, ax
add si, 0xffff
and ax, 0xffff
sub si, ax
sub si, ax
mov ax, word [esp + 0x488]
sub ax, si
sub ax, si
xor bp, 0xffff
xor ax, 0xffff
and bp, ax
xor bp, 0xffff
mov ax, bp
and ax, 0xffff
mov si, di
sub si, ax
sub si, 1
add si, 1
sub si, 1
mov ax, bp
add ax, 0xffff
and bp, 0xffff
sub ax, bp
sub ax, bp
mov bp, di
sub bp, 0xffff
sub bp, 1
and ax, bp
mov bp, di
sub bp, ax
sub bp, 1
and si, bp
mov ax, di
sub ax, si
sub ax, 1
mov si, di
sub si, 0xf717
sub si, 1
mov bp, bx
add bp, 0xf716
mov word [esp + 0x486], ax
mov ax, bx
xor ax, 0xf716
mov word [esp + 0x484], ax
mov ax, di
sub ax, 0xffff
sub ax, 1
mov word [esp + 0x482], ax
mov ax, word [esp + 0x484]
mov word [esp + 0x480], si
mov si, word [esp + 0x482]
or ax, si
mov si, ax
add si, 0xffff
and ax, 0xffff
sub si, ax
sub si, ax
sub bp, si
sub bp, si
add bp, 1
sub bp, 1
mov ax, word [esp + 0x480]
and ax, 0xffff
mov si, ax
add si, 0xffff
and ax, 0xffff
sub si, ax
sub si, ax
mov ax, di
mov word [esp + 0x47e], si
mov si, word [esp + 0x480]
sub ax, si
sub ax, 1
mov si, bx
add si, 0xffff
mov word [esp + 0x47c], ax
mov ax, bx
and ax, 0xffff
sub si, ax
sub si, ax
mov ax, word [esp + 0x47c]
and ax, si
xor ax, 0xffff
mov si, word [esp + 0x47e]
and si, ax
mov ax, bp
xor ax, 0xffff
mov word [esp + 0x47a], ax
mov ax, di
sub ax, 0xffff
sub ax, 1
mov word [esp + 0x478], ax
mov ax, word [esp + 0x47a]
and ax, 0xffff
mov word [esp + 0x476], ax
mov ax, word [esp + 0x478]
and bp, ax
mov ax, word [esp + 0x476]
or ax, bp
xor si, 0xffff
xor ax, 0xffff
and si, ax
xor si, 0xffff
mov ax, di
sub ax, si
sub ax, 1
mov si, ax
add si, 0xffff
mov bp, ax
and bp, 0xffff
sub si, bp
sub si, bp
mov bp, di
sub bp, 0xffff
sub bp, 1
or si, bp
mov bp, di
sub bp, si
sub bp, 1
add bp, 1
sub bp, 1
add bp, 1
sub bp, 1
mov si, di
sub si, bp
sub si, 1
mov bp, di
sub bp, ax
sub bp, 1
mov ax, di
sub ax, 0xffff
sub ax, 1
mov word [esp + 0x474], ax
mov ax, bp
add ax, 0xffff
and bp, 0xffff
sub ax, bp
sub ax, bp
mov bp, di
mov word [esp + 0x472], ax
mov ax, word [esp + 0x474]
sub bp, ax
sub bp, 1
mov ax, word [esp + 0x472]
or ax, bp
xor ax, 0xffff
mov bp, ax
add bp, 0xffff
mov word [esp + 0x470], ax
add ax, 0xffff
mov word [esp + 0x46e], ax
mov ax, word [esp + 0x470]
and ax, 0xffff
mov word [esp + 0x46c], ax
mov ax, word [esp + 0x46e]
mov word [esp + 0x46a], si
mov si, word [esp + 0x46c]
sub ax, si
sub ax, si
mov si, bx
add si, 0xffff
and bx, 0xffff
sub si, bx
sub si, bx
or ax, si
mov si, ax
add si, 0xffff
and ax, 0xffff
sub si, ax
sub si, ax
add si, 1
sub si, 1
sub bp, si
sub bp, si
mov ax, word [esp + 0x46a]
xor ax, 0xffff
mov si, di
sub si, bp
sub si, 1
or ax, si
mov si, di
sub si, ax
sub si, 1
add si, 1
sub si, 1
mov ax, word [esp + 0x486]
and ax, 0xffff
mov bx, di
sub bx, ax
sub bx, 1
mov ax, di
mov bp, word [esp + 0x486]
sub ax, bp
sub ax, 1
mov bp, di
sub bp, 0xffff
sub bp, 1
and ax, bp
mov bp, di
sub bp, ax
sub bp, 1
and bx, bp
add bx, 1
sub bx, 1
mov ax, di
sub ax, si
sub ax, 1
xor bx, 0xffff
xor ax, 0xffff
and bx, ax
xor bx, 0xffff
sub di, bx
sub di, 1
mov dword [esp + 0x464], ecx
mov cx, di
mov ax, word [esp + 0x48e]
shr ax, cl
movzx ecx, ax
mov byte [esp + ecx + 0x4c4], 0
mov ecx, dword [esp + 0x464]
mov esi, edx
mov dword [esp + 0x460], esi
mov dword [esp + 0x45c], ecx
mov dword [esp + 0x458], edx
mov eax, dword [esp + 0x458]
mov ecx, dword [esp + 0x460]
mov edx, dword [esp + 0x45c]
xor esi, esi
mov dword [esp + 0x454], eax
mov dword [esp + 0x450], ecx
mov dword [esp + 0x44c], edx
mov dword [esp + 0x448], esi
mov eax, dword [esp + 0x448]
xor ecx, ecx
mov edx, 0xffffffff
mov bl, byte [esp + eax + 0x4c4]
mov esi, edx
and esi, 0xad93fa2f
xor esi, 0xffffffff
mov edi, edx
xor edi, 0xad93fa2f
mov ebp, edx
xor ebp, 0xffffffff
and edi, ebp
mov ebp, ecx
sub ebp, edi
sub ebp, 1
and esi, ebp
mov edi, edx
add edi, 0xad93fa2e
mov ebp, edx
and ebp, 0xad93fa2e
sub edi, ebp
sub edi, ebp
mov ebp, esi
add ebp, 0xffffffff
and esi, 0xffffffff
sub ebp, esi
sub ebp, esi
mov esi, ecx
sub esi, edi
sub esi, 1
or ebp, esi
mov esi, ebp
add esi, 0xffffffff
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
mov edi, esi
or edi, 0xffffffff
and esi, 0xffffffff
mov ebp, ecx
sub ebp, esi
sub ebp, 1
and edi, ebp
mov esi, ecx
sub esi, 0xad93fa2f
sub esi, 1
mov ebp, edx
or ebp, 0xad93fa2e
and edx, 0xad93fa2e
sub ebp, edx
xor esi, 0xffffffff
xor ebp, 0xffffffff
and esi, ebp
xor esi, 0xffffffff
sub ecx, esi
sub ecx, 1
sub edi, ecx
mov ecx, eax
add ecx, edi
cmp bl, 0
mov dword [esp + 0x444], eax
mov dword [esp + 0x448], ecx
jne 0x1002a141
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x454]
cmp eax, ecx
je 0x1002ab0d
mov eax, 0xffffffff
xor ecx, ecx
mov edx, 0xb2dc0a23
xor ebx, ebx
mov bh, 0xff
mov dword [esp + 0x440], eax
mov al, 0xed
mov esi, ecx
sub esi, 0x45d771ba
sub esi, 1
mov edi, ecx
sub edi, 0x45d771bb
sub edi, 1
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, esi
add edi, 0xffffffff
mov ebp, esi
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
mov ebp, dword [esp + 0x440]
add ebp, 0xffffffff
mov byte [esp + 0x43f], al
mov eax, dword [esp + 0x440]
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and edi, 0xffffffff
and esi, ebp
or edi, esi
mov eax, ecx
sub eax, edi
sub eax, 1
add eax, 1
sub eax, 1
mov esi, dword [esp + 0x440]
add esi, 0x45d771ba
mov edi, dword [esp + 0x440]
and edi, 0x45d771ba
xor edi, 0xffffffff
mov ebp, ecx
sub ebp, 0x45d771ba
sub ebp, 1
mov dword [esp + 0x438], eax
mov eax, dword [esp + 0x440]
add eax, 0xffffffff
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x440]
and eax, 0xffffffff
mov dword [esp + 0x430], eax
mov eax, dword [esp + 0x434]
mov dword [esp + 0x42c], ecx
mov ecx, dword [esp + 0x430]
sub eax, ecx
sub eax, ecx
and ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
and edi, eax
mov eax, dword [esp + 0x440]
add eax, 0xffffffff
mov ebp, dword [esp + 0x440]
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
add eax, 1
sub eax, 1
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov eax, edi
or eax, 0xffffffff
and edi, 0xffffffff
xor edi, 0xffffffff
and eax, edi
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x440]
add eax, 0x45d771bb
mov edi, dword [esp + 0x440]
or edi, 0x45d771bb
mov ebp, dword [esp + 0x42c]
sub ebp, 0x45d771bb
sub ebp, 1
mov ecx, dword [esp + 0x440]
xor ecx, 0xffffffff
or ebp, ecx
and edi, ebp
add edi, 1
sub edi, 1
add edi, 1
sub edi, 1
mov ecx, dword [esp + 0x42c]
sub ecx, 0xffffffff
sub ecx, 1
xor edi, 0xffffffff
xor ecx, 0xffffffff
and edi, ecx
xor edi, 0xffffffff
mov ecx, dword [esp + 0x42c]
sub ecx, edi
sub ecx, 1
add ecx, 1
sub ecx, 1
sub eax, ecx
sub eax, ecx
mov ecx, esi
or ecx, 0xffffffff
mov edi, dword [esp + 0x42c]
sub edi, esi
sub edi, 1
mov esi, dword [esp + 0x42c]
sub esi, 0xffffffff
sub esi, 1
or edi, esi
and ecx, edi
add ecx, 1
sub ecx, 1
mov esi, eax
add esi, 0xffffffff
mov edi, dword [esp + 0x42c]
sub edi, eax
sub edi, 1
mov eax, dword [esp + 0x42c]
sub eax, 0xffffffff
sub eax, 1
or edi, eax
mov eax, dword [esp + 0x42c]
sub eax, edi
sub eax, 1
sub esi, eax
sub esi, eax
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov esi, dword [esp + 0x42c]
sub esi, ecx
sub esi, 1
add esi, 1
sub esi, 1
mov ecx, dword [esp + 0x42c]
sub ecx, 0xffffffff
sub ecx, 1
or esi, ecx
xor esi, 0xffffffff
sub eax, esi
sub eax, esi
mov ecx, eax
add ecx, 0xffffffff
mov esi, eax
add esi, 0xffffffff
mov edi, dword [esp + 0x42c]
sub edi, eax
sub edi, 1
mov eax, dword [esp + 0x440]
xor eax, 0xffffffff
or edi, eax
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x440]
add eax, 0xffffffff
mov edi, dword [esp + 0x440]
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov edi, dword [esp + 0x440]
add edi, 0xffffffff
mov ebp, dword [esp + 0x440]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
and eax, 0xffffffff
and edi, 0xffffffff
or eax, edi
xor esi, 0xffffffff
xor eax, 0xffffffff
and esi, eax
xor esi, 0xffffffff
mov eax, dword [esp + 0x42c]
sub eax, esi
sub eax, 1
add eax, 1
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x42c]
mov esi, dword [esp + 0x438]
sub eax, esi
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov esi, dword [esp + 0x42c]
sub esi, ecx
sub esi, 1
xor eax, 0xffffffff
xor esi, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov esi, dword [esp + 0x42c]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x440]
xor eax, 0xffffffff
or esi, eax
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x454]
add eax, ecx
mov ecx, dword [esp + 0x454]
mov cl, byte [esp + ecx + 0x4c4]
mov ch, bh
add ch, 0xab
mov dword [esp + 0x428], eax
mov al, bh
and al, 0xab
sub ch, al
sub ch, al
mov al, bh
and al, 0x14
mov ah, al
add ah, 0xff
and al, 0xff
sub ah, al
sub ah, al
mov al, bl
sub al, 0x14
sub al, 1
mov byte [esp + 0x427], al
mov al, bh
xor al, 0xff
mov byte [esp + 0x426], al
mov al, byte [esp + 0x427]
mov byte [esp + 0x425], cl
mov cl, byte [esp + 0x426]
and al, cl
xor al, 0xff
and ah, al
xor ch, 0xff
xor ah, 0xff
or ch, ah
xor ch, 0xff
mov al, ch
and al, 0xff
mov cl, bl
sub cl, al
sub cl, 1
mov al, ch
add al, 0xff
and ch, 0xff
sub al, ch
sub al, ch
mov ah, bh
xor ah, 0xff
add ah, 1
sub ah, 1
and al, ah
mov ah, bl
sub ah, al
sub ah, 1
add ah, 1
sub ah, 1
and cl, ah
mov al, bl
sub al, 0xab
sub al, 1
mov ah, bh
add ah, 0x14
mov ch, bh
add ch, 0x14
mov byte [esp + 0x424], al
mov al, bh
and al, 0x14
sub ch, al
sub ch, al
mov al, bh
add al, 0xff
mov byte [esp + 0x423], al
mov al, bh
and al, 0xff
mov byte [esp + 0x422], al
mov al, byte [esp + 0x423]
mov byte [esp + 0x421], cl
mov cl, byte [esp + 0x422]
sub al, cl
sub al, cl
or ch, al
mov al, bl
sub al, ch
sub al, 1
sub ah, al
sub ah, al
mov al, byte [esp + 0x424]
xor al, 0xff
mov ch, bh
xor ch, 0xff
and al, 0xff
mov cl, byte [esp + 0x424]
and cl, ch
or al, cl
mov cl, ah
or cl, 0xff
and ah, 0xff
sub cl, ah
mov ah, al
add ah, 0xff
and al, 0xff
sub ah, al
sub ah, al
mov al, cl
add al, 0xff
and cl, 0xff
sub al, cl
sub al, cl
add al, 1
sub al, 1
or ah, al
xor ah, 0xff
add ah, 1
sub ah, 1
add ah, 1
sub ah, 1
mov al, ah
or al, 0xff
and ah, 0xff
sub al, ah
mov cl, bl
mov ah, byte [esp + 0x421]
sub cl, ah
sub cl, 1
mov ah, al
add ah, 0xff
and al, 0xff
sub ah, al
sub ah, al
add ah, 1
sub ah, 1
xor cl, 0xff
xor ah, 0xff
and cl, ah
xor cl, 0xff
mov al, cl
add al, 0xff
and cl, 0xff
sub al, cl
sub al, cl
mov cl, byte [esp + 0x425]
add cl, al
mov al, bl
sub al, 0xe6
sub al, 1
add al, 1
mov ah, byte [esp + 0x43f]
add ah, 0xcd
mov ch, bh
or ch, 0xcd
and bh, 0xcd
xor bh, 0xff
and ch, bh
mov bh, bl
sub bh, 0xed
sub bh, 1
xor ch, 0xff
xor bh, 0xff
and ch, bh
xor ch, 0xff
mov bh, ch
or bh, 0xff
mov byte [esp + 0x420], al
mov al, bl
sub al, ch
sub al, 1
add al, 1
sub al, 1
sub bl, 0xff
sub bl, 1
or al, bl
and bh, al
sub ah, bh
sub ah, bh
mov al, byte [esp + 0x425]
add al, ah
mov ah, byte [esp + 0x420]
cmp cl, ah
mov dword [esp + 0x41c], edx
mov byte [esp + 0x41b], al
jb 0x1002a792
mov al, byte [esp + 0x425]
mov byte [esp + 0x41b], al
mov al, byte [esp + 0x41b]
movsx ecx, al
mov edx, dword [esp + 0x44c]
add ecx, edx
mov esi, dword [esp + 0x41c]
add esi, 0xb2dcf5d2
mov edi, dword [esp + 0x42c]
sub edi, 0xb2dcf5d2
sub edi, 1
mov ebx, dword [esp + 0x42c]
sub ebx, 0xb2dc0a23
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, dword [esp + 0x42c]
sub ebx, edi
sub ebx, 1
sub esi, ebx
sub esi, ebx
mov eax, ecx
xor edx, edx
div esi
mov ecx, edx
mov esi, dword [esp + 0x450]
add ecx, esi
mov edi, dword [esp + 0x440]
and edi, 0xa434aeab
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
mov edi, dword [esp + 0x440]
add edi, 0xa434aeab
mov ebp, dword [esp + 0x440]
and ebp, 0xa434aeab
sub edi, ebp
sub edi, ebp
mov ebp, dword [esp + 0x440]
add ebp, 0xffffffff
mov esi, dword [esp + 0x440]
and esi, 0xffffffff
sub ebp, esi
sub ebp, esi
and edi, ebp
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
and ebx, esi
mov esi, dword [esp + 0x440]
and esi, 0xa434515a
xor esi, 0xffffffff
mov edi, dword [esp + 0x42c]
sub edi, 0xa434515a
sub edi, 1
mov ebp, dword [esp + 0x42c]
sub ebp, 0xffffffff
sub ebp, 1
and edi, ebp
xor edi, 0xffffffff
and esi, edi
mov edi, ebx
add edi, 0xffffffff
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
mov ebx, dword [esp + 0x42c]
sub ebx, esi
sub ebx, 1
or edi, ebx
mov esi, dword [esp + 0x42c]
sub esi, edi
sub esi, 1
mov edi, esi
or edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
mov esi, dword [esp + 0x42c]
sub esi, 0xa434aeab
sub esi, 1
mov ebx, dword [esp + 0x440]
add ebx, 0xa434515a
mov ebp, dword [esp + 0x42c]
sub ebp, 0xa434515a
sub ebp, 1
mov dword [esp + 0x414], ecx
mov ecx, dword [esp + 0x440]
add ecx, 0xffffffff
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x440]
and ecx, 0xffffffff
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x408], edx
mov edx, dword [esp + 0x40c]
sub ecx, edx
sub ecx, edx
or ebp, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
sub ebx, ecx
sub ebx, ecx
xor esi, 0xffffffff
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov ecx, esi
and ecx, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov esi, dword [esp + 0x42c]
sub esi, 0xffffffff
sub esi, 1
and ecx, esi
mov esi, ecx
add esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
sub esi, ecx
and ebx, esi
mov ecx, ebx
add ecx, 0xffffffff
mov esi, dword [esp + 0x42c]
sub esi, ebx
sub esi, 1
mov ebx, dword [esp + 0x440]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x42c]
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
mov edx, dword [esp + 0x440]
add edx, 0xffffffff
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x440]
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
or ebp, edx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
add ecx, 1
sub ecx, 1
sub ebx, ecx
sub ebx, ecx
xor esi, 0xffffffff
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov ecx, dword [esp + 0x42c]
sub ecx, esi
sub ecx, 1
mov edx, dword [esp + 0x404]
sub edx, ecx
sub edx, ecx
mov ecx, edi
and ecx, 0xffffffff
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
add esi, 1
sub esi, 1
mov edi, dword [esp + 0x42c]
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 ecx, edi
mov esi, edx
or esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
mov esi, dword [esp + 0x42c]
sub esi, ecx
sub esi, 1
mov ecx, dword [esp + 0x440]
add ecx, 0xffffffff
mov edi, dword [esp + 0x440]
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
or esi, ecx
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
sub edx, ecx
sub edx, ecx
mov ecx, dword [esp + 0x414]
mov eax, ecx
xor esi, esi
mov dword [esp + 0x400], edx
mov edx, esi
mov esi, dword [esp + 0x400]
div esi
mov edi, dword [esp + 0x408]
mov ebx, dword [esp + 0x428]
mov dword [esp + 0x45c], edi
mov dword [esp + 0x460], edx
mov dword [esp + 0x458], ebx
jmp 0x1002a10e
xor eax, eax
mov ecx, 0xffffffff
mov edx, ecx
add edx, 0xffffffef
mov esi, ecx
add esi, 0xffffffef
mov edi, ecx
add edi, 0xffffffef
mov ebx, eax
sub ebx, 0xffffffef
sub ebx, 1
mov ebp, ecx
xor ebp, 0xffffffff
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, eax
sub ebx, 0xffffffff
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, eax
sub ebx, edi
sub ebx, 1
sub esi, ebx
sub esi, ebx
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
mov ebx, esi
or ebx, 0xffffffff
mov ebp, eax
sub ebp, esi
sub ebp, 1
add ebp, 1
sub ebp, 1
mov esi, ecx
xor esi, 0xffffffff
or ebp, esi
and ebx, ebp
mov esi, edi
or esi, 0xffffffff
and edi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
mov edi, ebx
add edi, 0xffffffff
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
mov ebx, eax
sub ebx, esi
sub ebx, 1
or edi, ebx
xor edi, 0xffffffff
mov esi, edi
or esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
mov edi, eax
sub edi, esi
sub edi, 1
sub edx, edi
sub edx, edi
mov dword [esp + 0x3fc], ecx
mov ecx, edx
mov edx, dword [esp + 0x450]
shl edx, cl
mov esi, edx
xor esi, 0xffffffff
mov edi, dword [esp + 0x3fc]
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, edx
or edi, 0xffffffff
xor edx, 0xffffffff
mov ebx, eax
sub ebx, 0xffffffff
sub ebx, 1
add ebx, 1
sub ebx, 1
or edx, ebx
and edi, edx
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
xor edi, 0xffffffff
xor edx, 0xffffffff
and edi, edx
xor edi, 0xffffffff
xor esi, 0xffffffff
xor edi, 0xffffffff
or esi, edi
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
mov esi, dword [esp + 0x44c]
add esi, 0xffffffff
mov edi, dword [esp + 0x44c]
xor edi, 0xffffffff
mov ebx, eax
sub ebx, 0xffffffff
sub ebx, 1
or edi, ebx
xor edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, edx
or edi, 0xffffffff
and edx, 0xffffffff
xor edx, 0xffffffff
add edx, 1
sub edx, 1
and edi, edx
mov edx, esi
add edx, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
mov esi, dword [esp + 0x3fc]
add esi, 0xffffffff
mov ebp, dword [esp + 0x3fc]
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
or ebx, esi
mov esi, eax
sub esi, ebx
sub esi, 1
sub edx, esi
sub edx, esi
xor edi, 0xffffffff
xor edx, 0xffffffff
and edi, edx
xor edi, 0xffffffff
mov edx, edi
add edx, 0xffffffff
mov esi, eax
sub esi, edi
sub esi, 1
mov edi, dword [esp + 0x3fc]
xor edi, 0xffffffff
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
sub edx, edi
sub edx, edi
mov esi, edx
xor esi, 0xffffffff
mov edi, dword [esp + 0x3fc]
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
xor edx, 0xffffffff
add edx, 1
sub edx, 1
mov edi, dword [esp + 0x3fc]
xor edi, 0xffffffff
add edi, 1
sub edi, 1
or edx, edi
mov edi, eax
sub edi, edx
sub edi, 1
sub esi, edi
mov edx, eax
sub edx, 0xe0265603
sub edx, 1
add edx, 1
sub edx, 1
mov edi, dword [esp + 0x3fc]
add edi, 0xffffffff
mov ebx, dword [esp + 0x3fc]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
and edx, 0xffffffff
and edi, 0xe0265603
or edx, edi
mov edi, dword [esp + 0x3fc]
and edi, 0xf229558a
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
add ebx, 1
sub ebx, 1
mov edi, eax
sub edi, 0xf229558a
sub edi, 1
mov ebp, dword [esp + 0x3fc]
add ebp, 0xffffffff
mov ecx, dword [esp + 0x3fc]
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
add ebp, 1
sub ebp, 1
and edi, ebp
xor edi, 0xffffffff
and ebx, edi
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, eax
sub edx, ebx
sub edx, 1
or ecx, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, eax
sub edx, 0xe0265603
sub edx, 1
mov edi, dword [esp + 0x3fc]
xor edi, 0xf229558a
mov ebx, dword [esp + 0x3fc]
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, dword [esp + 0x3fc]
add ebx, 0xf229558a
mov ebp, dword [esp + 0x3fc]
add ebp, 0xf229558a
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3fc]
and eax, 0xf229558a
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x3f8]
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 ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x3f8]
sub eax, 0xffffffff
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x3f8]
sub eax, edi
sub eax, 1
add eax, 1
sub eax, 1
xor ebx, 0xffffffff
or eax, ebx
mov edi, dword [esp + 0x3f8]
sub edi, eax
sub edi, 1
mov eax, edx
and eax, 0xffffffff
mov ebx, dword [esp + 0x3f8]
sub ebx, eax
sub ebx, 1
mov eax, dword [esp + 0x3f8]
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x3fc]
xor edx, 0xffffffff
and eax, edx
mov edx, dword [esp + 0x3f8]
sub edx, eax
sub edx, 1
and ebx, edx
mov eax, edi
or eax, 0xffffffff
mov edx, edi
add edx, 0xffffffff
and edi, 0xffffffff
sub edx, edi
sub edx, edi
mov edi, dword [esp + 0x3f8]
sub edi, 0xffffffff
sub edi, 1
or edx, edi
and eax, edx
mov edx, dword [esp + 0x3f8]
sub edx, ebx
sub edx, 1
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
or edx, edi
xor edx, 0xffffffff
add edx, 1
sub edx, 1
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x3f8]
sub edx, ecx
sub edx, 1
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov ecx, dword [esp + 0x3f8]
sub ecx, eax
sub ecx, 1
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, dword [esp + 0x3f8]
sub eax, edx
sub eax, 1
cmp esi, eax
je 0x1002b729
jmp 0x1002b705
mov eax, dword [esp + 0x490]
mov ecx, 0xffffffff
xor edx, edx
mov esi, dword [esp + 0x49c]
mov bl, byte [esi + eax]
mov edi, ecx
and edi, 0xfffffffe
mov ebp, edx
sub ebp, edi
sub ebp, 1
add ebp, 1
sub ebp, 1
mov edi, edx
sub edi, 0xfffffffe
sub edi, 1
mov esi, ecx
xor esi, 0xffffffff
and edi, esi
mov esi, edx
sub esi, edi
sub esi, 1
and ebp, esi
mov esi, ecx
add esi, 0xffffffff
mov edi, ecx
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, edx
sub edi, ebp
sub edi, 1
mov ebp, esi
add ebp, 0xffffffff
and esi, 0xffffffff
sub ebp, esi
sub ebp, esi
or edi, ebp
xor edi, 0xffffffff
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, ecx
add edi, 0xfffffffe
mov ebp, edx
sub ebp, 0xfffffffe
sub ebp, 1
add ebp, 1
sub ebp, 1
mov dword [esp + 0x3f4], eax
mov eax, edx
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
mov eax, edx
sub eax, ebp
sub eax, 1
sub edi, eax
sub edi, eax
mov eax, ecx
and eax, 0xffffffff
mov ebp, edx
sub ebp, eax
sub ebp, 1
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x3f0], eax
mov eax, ecx
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, edx
sub ecx, 0xffffffff
sub ecx, 1
and eax, ecx
mov ecx, edx
sub ecx, eax
sub ecx, 1
and ebp, ecx
xor edi, 0xffffffff
xor ebp, 0xffffffff
and edi, ebp
xor edi, 0xffffffff
mov eax, edi
add eax, 0xffffffff
mov ecx, edx
sub ecx, edi
sub ecx, 1
mov edi, dword [esp + 0x3e8]
xor edi, 0xffffffff
or ecx, edi
xor ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edx
sub ecx, eax
sub ecx, 1
mov eax, esi
add eax, 0xffffffff
mov edi, edx
sub edi, esi
sub edi, 1
mov esi, edx
sub esi, 0xffffffff
sub esi, 1
or edi, esi
xor edi, 0xffffffff
sub eax, edi
sub eax, edi
mov esi, ecx
or esi, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and esi, ecx
xor eax, 0xffffffff
xor esi, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov ecx, edx
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x3f4]
shr eax, cl
mov byte [esp + eax + 0x4c4], bl
mov eax, dword [esp + 0x3e8]
xor eax, 0xac667d60
mov esi, dword [esp + 0x3e8]
xor esi, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov esi, dword [esp + 0x3e8]
add esi, 0xac667d60
mov edi, edx
sub edi, 0xac667d60
sub edi, 1
mov ebp, edx
sub ebp, 0xffffffff
sub ebp, 1
or edi, ebp
mov ebp, edx
sub ebp, edi
sub ebp, 1
sub esi, ebp
sub esi, ebp
add esi, 1
sub esi, 1
mov edi, dword [esp + 0x3e8]
add edi, 0xffffffff
mov ebp, edx
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
mov ecx, edx
sub ecx, 0xffffffff
sub ecx, 1
or ebp, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
sub edi, ecx
sub edi, ecx
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
xor esi, 0xffffffff
or ecx, esi
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edx
sub ecx, 0xac667d62
sub ecx, 1
mov esi, edx
sub esi, eax
sub esi, 1
mov eax, edx
sub eax, 0xac667d62
sub eax, 1
xor esi, 0xffffffff
xor eax, 0xffffffff
and esi, eax
xor esi, 0xffffffff
mov eax, esi
or eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
add eax, 1
sub eax, 1
mov esi, dword [esp + 0x3e8]
add esi, 0xac667d60
mov edi, dword [esp + 0x3e8]
add edi, 0xac667d60
mov ebp, dword [esp + 0x3e8]
and ebp, 0xac667d60
sub edi, ebp
sub edi, ebp
add edi, 1
sub edi, 1
mov ebp, dword [esp + 0x3e8]
xor ebp, 0xffffffff
or edi, ebp
mov ebp, edx
sub ebp, edi
sub ebp, 1
sub esi, ebp
sub esi, ebp
mov edi, edx
sub edi, ecx
sub edi, 1
add edi, 1
sub edi, 1
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov ecx, esi
add ecx, 0xffffffff
xor esi, 0xffffffff
mov edi, dword [esp + 0x3e8]
add edi, 0xffffffff
mov ebp, dword [esp + 0x3e8]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
add edi, 1
sub edi, 1
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
add edi, 1
sub edi, 1
add edi, 1
sub edi, 1
sub ecx, edi
sub ecx, edi
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor esi, 0xffffffff
add esi, 1
sub esi, 1
xor eax, 0xffffffff
or esi, eax
mov eax, edx
sub eax, esi
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov esi, eax
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov esi, edx
sub esi, 0xffffffff
sub esi, 1
add esi, 1
sub esi, 1
and ecx, 0xffffffff
and eax, esi
or ecx, eax
mov eax, dword [esp + 0x3f4]
add eax, ecx
mov ecx, dword [esp + 0x3e8]
or ecx, 0x43c7029c
mov esi, dword [esp + 0x3e8]
and esi, 0x43c7029c
mov edi, edx
sub edi, esi
sub edi, 1
and ecx, edi
mov esi, edx
sub esi, 0x43c7fd63
sub esi, 1
mov edi, edx
sub edi, 0xffffffff
sub edi, 1
and esi, 0xffffffff
and edi, 0x43c7fd63
or esi, edi
xor ecx, 0xffffffff
xor esi, 0xffffffff
or ecx, esi
mov esi, edx
sub esi, ecx
sub esi, 1
mov ecx, esi
or ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
mov esi, dword [esp + 0x3e8]
add esi, 0x43c7029c
mov edi, dword [esp + 0x3e8]
add edi, 0x43c7029c
mov ebp, dword [esp + 0x3e8]
add ebp, 0x43c7029c
mov ebx, dword [esp + 0x3e8]
and ebx, 0x43c7029c
sub ebp, ebx
sub ebp, ebx
mov ebx, edx
sub ebx, 0xffffffff
sub ebx, 1
or ebp, ebx
mov ebx, edx
sub ebx, ebp
sub ebx, 1
sub edi, ebx
sub edi, ebx
mov ebx, dword [esp + 0x3e8]
or ebx, 0xffffffff
mov ebp, dword [esp + 0x3e8]
and ebp, 0xffffffff
sub ebx, ebp
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
sub esi, ebx
sub esi, ebx
mov edi, dword [esp + 0x3e8]
add edi, 0x43c7fd63
mov ebx, dword [esp + 0x3e8]
add ebx, 0x43c7fd63
mov ebp, dword [esp + 0x3e8]
xor ebp, 0x43c7fd63
add ebp, 1
sub ebp, 1
mov dword [esp + 0x3e4], eax
mov eax, edx
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 ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x3e8]
add eax, 0xffffffff
mov ebp, dword [esp + 0x3e8]
xor ebp, 0xffffffff
mov dword [esp + 0x3e0], eax
mov eax, edx
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 + 0x3e0]
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov eax, edx
sub eax, ebx
sub eax, 1
sub edi, eax
sub edi, eax
mov eax, esi
and eax, 0xffffffff
mov ebx, edx
sub ebx, eax
sub ebx, 1
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
mov esi, edx
sub esi, 0xffffffff
sub esi, 1
add esi, 1
sub esi, 1
and eax, esi
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
and ebx, esi
mov eax, edi
or eax, 0xffffffff
xor edi, 0xffffffff
mov esi, edx
sub esi, 0xffffffff
sub esi, 1
or edi, esi
and eax, edi
xor ebx, 0xffffffff
mov esi, edx
sub esi, eax
sub esi, 1
or ebx, esi
mov eax, edx
sub eax, ebx
sub eax, 1
mov esi, eax
or esi, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
and esi, eax
mov eax, edx
sub eax, ecx
sub eax, 1
mov ecx, esi
add ecx, 0xffffffff
mov edi, edx
sub edi, esi
sub edi, 1
mov esi, edx
sub esi, 0xffffffff
sub esi, 1
or edi, esi
xor edi, 0xffffffff
sub ecx, edi
sub ecx, edi
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
mov esi, edx
sub esi, 0xffffffff
sub esi, 1
or eax, esi
mov esi, edx
sub esi, eax
sub esi, 1
sub ecx, esi
sub ecx, esi
mov eax, dword [esp + 0x3e4]
add eax, 0xffffffff
mov esi, edx
mov edi, dword [esp + 0x3e4]
sub esi, edi
sub esi, 1
mov ebx, dword [esp + 0x3e8]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x3e8]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
xor esi, 0xffffffff
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
mov ebp, edx
sub ebp, esi
sub ebp, 1
mov esi, dword [esp + 0x3e8]
xor esi, 0xffffffff
or ebp, esi
mov esi, ebp
add esi, 0xffffffff
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
sub ebx, esi
sub ebx, esi
sub eax, ebx
sub eax, ebx
mov esi, ecx
add esi, 0xffffffff
mov ebx, edx
sub ebx, ecx
sub ebx, 1
mov ecx, dword [esp + 0x3e8]
add ecx, 0xffffffff
mov ebp, dword [esp + 0x3e8]
add ebp, 0xffffffff
mov edi, dword [esp + 0x3e8]
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
mov edi, dword [esp + 0x3e8]
add edi, 0xffffffff
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3e8]
and eax, 0xffffffff
sub edi, eax
sub edi, eax
or ebp, edi
xor ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
xor ebx, 0xffffffff
xor ecx, 0xffffffff
and ebx, ecx
xor ebx, 0xffffffff
mov eax, ebx
or eax, 0xffffffff
and ebx, 0xffffffff
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
and eax, ecx
sub esi, eax
sub esi, eax
add esi, 1
sub esi, 1
mov eax, dword [esp + 0x3dc]
or eax, 0xffffffff
mov ecx, dword [esp + 0x3dc]
and ecx, 0xffffffff
sub eax, ecx
mov ecx, edx
sub ecx, esi
sub ecx, 1
mov edi, edx
sub edi, 0xffffffff
sub edi, 1
and ecx, 0xffffffff
and esi, edi
or ecx, esi
mov esi, edx
sub esi, eax
sub esi, 1
mov eax, edx
sub eax, ecx
sub eax, 1
or esi, eax
xor esi, 0xffffffff
mov eax, esi
or eax, 0xffffffff
and esi, 0xffffffff
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
and eax, ecx
mov ecx, eax
add ecx, 0xffffffff
sub edx, eax
sub edx, 1
mov eax, dword [esp + 0x3e8]
or eax, 0xffffffff
mov esi, dword [esp + 0x3e8]
add esi, 0xffffffff
mov edi, dword [esp + 0x3e8]
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0x3e8]
xor edi, 0xffffffff
or esi, edi
and eax, esi
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
mov edx, dword [esp + 0x3e8]
xor edx, 0xffffffff
or esi, edx
xor esi, 0xffffffff
sub eax, esi
sub eax, esi
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x494]
cmp ecx, eax
mov dword [esp + 0x490], ecx
jb 0x1002af62
jmp 0x10029cbe
mov eax, dword [esp + 0x4a4]
mov ecx, dword [eax]
mov edx, dword [esp + 0x4b0]
cmp ecx, edx
mov dword [esp + 0x4a8], ecx
je 0x10032290
jmp 0x10029c63
mov eax, 2
mov ecx, dword [esp + 0x4a4]
mov edx, dword [ecx + 0x10]
cmp edx, 0
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x4bc], eax
je 0x100322a1
mov eax, 2
mov ecx, dword fs:[0x18]
cmp ecx, 0
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x4bc], eax
je 0x100322a1
mov eax, 2
mov ecx, dword [esp + 0x3d4]
mov edx, dword [ecx + 0x30]
cmp edx, 0
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x4bc], eax
je 0x100322a1
mov eax, 2
mov ecx, dword [esp + 0x3d0]
mov edx, dword [ecx + 0xc]
mov esi, edx
add esi, 0x14
mov edx, dword [edx + 0x14]
cmp edx, esi
mov dword [esp + 0x3cc], edx
mov dword [esp + 0x3c8], esi
mov dword [esp + 0x4bc], eax
je 0x100322a1
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c4], eax
jmp 0x1002b7df
mov eax, dword [esp + 0x3c4]
xor ecx, ecx
mov dx, cx
mov ecx, dword [eax + 0x28]
mov si, word [eax + 0x24]
cmp si, 0
mov dword [esp + 0x3c0], eax
mov word [esp + 0x3be], si
mov dword [esp + 0x3b8], ecx
mov word [esp + 0x3b6], dx
je 0x1002b84f
xor eax, eax
mov cx, word [esp + 0x3be]
movzx edx, cx
mov dword [esp + 0x3b0], edx
mov dword [esp + 0x3ac], eax
jmp 0x1002cb9c
mov ax, word [esp + 0x3be]
mov word [esp + 0x3b6], ax
jmp 0x1002b84f
mov ax, word [esp + 0x3b6]
mov ecx, 1
xor edx, edx
xor esi, esi
mov di, si
mov bx, 0xffff
mov bp, bx
add bp, 0xfffe
mov si, bx
add si, 0xfffe
mov word [esp + 0x3aa], ax
mov ax, bx
and ax, 0xfffe
sub si, ax
sub si, ax
mov ax, bx
add ax, 0xffff
mov word [esp + 0x3a8], ax
mov ax, bx
and ax, 0xffff
mov word [esp + 0x3a6], ax
mov ax, word [esp + 0x3a8]
mov word [esp + 0x3a4], si
mov si, word [esp + 0x3a6]
sub ax, si
sub ax, si
mov si, word [esp + 0x3a4]
or si, ax
mov ax, di
sub ax, si
sub ax, 1
sub bp, ax
sub bp, ax
mov ax, bx
add ax, 0xffff
mov si, bx
xor si, 0xffff
mov word [esp + 0x3a2], ax
mov ax, di
sub ax, 0xffff
sub ax, 1
or si, ax
mov ax, di
sub ax, si
sub ax, 1
mov si, word [esp + 0x3a2]
sub si, ax
sub si, ax
add si, 1
sub si, 1
mov ax, bx
add ax, 0xffff
mov word [esp + 0x3a0], ax
mov ax, bx
xor ax, 0xffff
mov word [esp + 0x39e], ax
mov ax, bx
add ax, 0xffff
mov word [esp + 0x39c], ax
mov ax, bx
and ax, 0xffff
mov word [esp + 0x39a], ax
mov ax, word [esp + 0x39c]
mov word [esp + 0x398], si
mov si, word [esp + 0x39a]
sub ax, si
sub ax, si
mov si, word [esp + 0x39e]
or si, ax
mov ax, si
add ax, 0xffff
and si, 0xffff
sub ax, si
sub ax, si
mov si, word [esp + 0x3a0]
sub si, ax
sub si, ax
mov ax, word [esp + 0x398]
xor ax, 0xffff
add ax, 1
sub ax, 1
mov word [esp + 0x396], ax
mov ax, bx
xor ax, 0xffff
mov word [esp + 0x394], ax
mov ax, word [esp + 0x396]
mov word [esp + 0x392], si
mov si, word [esp + 0x394]
or ax, si
mov si, ax
add si, 0xffff
and ax, 0xffff
sub si, ax
sub si, ax
mov ax, di
sub ax, 0xffff
sub ax, 1
mov word [esp + 0x390], ax
mov ax, di
mov word [esp + 0x38e], si
mov si, word [esp + 0x392]
sub ax, si
sub ax, 1
mov si, word [esp + 0x390]
or si, ax
xor si, 0xffff
mov ax, word [esp + 0x38e]
xor ax, 0xffff
xor si, 0xffff
and ax, si
xor ax, 0xffff
mov si, bp
add si, 0xffff
xor bp, 0xffff
mov word [esp + 0x38c], ax
mov ax, bx
xor ax, 0xffff
or bp, ax
xor bp, 0xffff
sub si, bp
sub si, bp
mov ax, di
sub ax, 0xffff
sub ax, 1
xor si, 0xffff
xor ax, 0xffff
and si, ax
xor si, 0xffff
mov ax, si
add ax, 0xffff
mov bp, di
sub bp, si
sub bp, 1
add bp, 1
sub bp, 1
mov si, di
sub si, 0xffff
sub si, 1
or bp, si
xor bp, 0xffff
sub ax, bp
sub ax, bp
mov si, bx
add si, 0xfffe
mov bp, bx
xor bp, 0xfffe
mov word [esp + 0x38a], ax
mov ax, bx
add ax, 0xffff
mov word [esp + 0x388], ax
mov ax, bx
and ax, 0xffff
mov word [esp + 0x386], ax
mov ax, word [esp + 0x388]
mov word [esp + 0x384], si
mov si, word [esp + 0x386]
sub ax, si
sub ax, si
or bp, ax
mov ax, di
sub ax, bp
sub ax, 1
mov bp, word [esp + 0x384]
sub bp, ax
sub bp, ax
mov ax, word [esp + 0x38c]
add ax, 0xffff
mov si, di
mov word [esp + 0x382], ax
mov ax, word [esp + 0x38c]
sub si, ax
sub si, 1
mov ax, bx
add ax, 0xffff
mov word [esp + 0x380], ax
mov ax, bx
and ax, 0xffff
mov word [esp + 0x37e], ax
mov ax, word [esp + 0x380]
mov word [esp + 0x37c], si
mov si, word [esp + 0x37e]
sub ax, si
sub ax, si
add ax, 1
sub ax, 1
mov si, word [esp + 0x37c]
or si, ax
mov ax, si
add ax, 0xffff
and si, 0xffff
sub ax, si
sub ax, si
mov si, word [esp + 0x382]
sub si, ax
sub si, ax
xor bp, 0xffff
xor si, 0xffff
and bp, si
xor bp, 0xffff
mov ax, bp
add ax, 0xffff
mov si, di
sub si, bp
sub si, 1
mov bp, bx
add bp, 0xffff
mov word [esp + 0x37a], ax
mov ax, bx
and ax, 0xffff
sub bp, ax
sub bp, ax
or si, bp
xor si, 0xffff
add si, 1
sub si, 1
mov ax, word [esp + 0x37a]
sub ax, si
sub ax, si
mov si, word [esp + 0x38a]
or si, 0xffff
mov bp, word [esp + 0x38a]
and bp, 0xffff
sub si, bp
mov bp, ax
or bp, 0xffff
mov word [esp + 0x378], ax
mov ax, di
mov word [esp + 0x376], si
mov si, word [esp + 0x378]
sub ax, si
sub ax, 1
add ax, 1
sub ax, 1
mov si, bx
add si, 0xffff
and bx, 0xffff
sub si, bx
sub si, bx
or ax, si
and bp, ax
mov ax, di
mov si, word [esp + 0x376]
sub ax, si
sub ax, 1
mov si, bp
add si, 0xffff
and bp, 0xffff
sub si, bp
sub si, bp
or ax, si
mov si, di
sub si, ax
sub si, 1
mov ax, si
or ax, 0xffff
xor si, 0xffff
sub di, 0xffff
sub di, 1
or si, di
and ax, si
mov dword [esp + 0x370], ecx
mov cx, ax
mov ax, word [esp + 0x3aa]
shr ax, cl
movzx ecx, ax
mov byte [esp + ecx + 0x4c4], 0
mov ecx, dword [esp + 0x370]
mov esi, edx
mov dword [esp + 0x36c], esi
mov dword [esp + 0x368], ecx
mov dword [esp + 0x364], edx
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x36c]
mov edx, dword [esp + 0x368]
xor esi, esi
mov dword [esp + 0x360], eax
mov dword [esp + 0x35c], ecx
mov dword [esp + 0x358], edx
mov dword [esp + 0x354], esi
mov eax, dword [esp + 0x354]
xor ecx, ecx
mov edx, 0xffffffff
mov bl, byte [esp + eax + 0x4c4]
mov esi, ecx
sub esi, 0xe53916da
sub esi, 1
mov edi, edx
add edi, 0xe53916db
mov ebp, edx
add ebp, 0xe53916db
mov dword [esp + 0x350], eax
mov eax, edx
add eax, 0xe53916db
mov dword [esp + 0x34c], eax
mov eax, edx
and eax, 0xe53916db
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x344], ecx
mov ecx, dword [esp + 0x348]
sub eax, ecx
sub eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, dword [esp + 0x344]
sub ecx, eax
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov eax, dword [esp + 0x344]
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
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
sub edi, eax
sub edi, eax
mov eax, esi
xor eax, 0xffffffff
mov ecx, dword [esp + 0x344]
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
and esi, ecx
or eax, esi
mov ecx, dword [esp + 0x344]
sub ecx, 0xe53916db
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x344]
sub ecx, eax
sub ecx, 1
mov eax, edx
and eax, 0xe53916da
mov esi, dword [esp + 0x344]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x344]
sub eax, 0xe53916da
sub eax, 1
mov ebp, edx
xor ebp, 0xffffffff
and eax, ebp
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and esi, ebp
mov eax, edi
add eax, 0xffffffff
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
mov edi, edx
add edi, 0xffffffff
mov dword [esp + 0x340], eax
mov eax, edx
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
mov edi, dword [esp + 0x340]
sub edi, eax
sub edi, eax
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov eax, dword [esp + 0x344]
sub eax, esi
sub eax, 1
mov esi, ecx
or esi, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
xor edx, 0xffffffff
add edx, 1
sub edx, 1
or edi, edx
and esi, edi
mov ecx, eax
or ecx, 0xffffffff
mov edx, dword [esp + 0x344]
sub edx, eax
sub edx, 1
mov eax, dword [esp + 0x344]
sub eax, 0xffffffff
sub eax, 1
or edx, eax
and ecx, edx
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
or eax, edx
mov ecx, dword [esp + 0x344]
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, dword [esp + 0x350]
add ecx, eax
cmp bl, 0
mov dword [esp + 0x354], ecx
jne 0x1002bd44
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x360]
cmp eax, ecx
je 0x1002c57d
xor eax, eax
mov ecx, 0xffffffff
xor edx, edx
mov bl, dl
mov bh, 0xff
mov dl, 0xc9
mov esi, eax
sub esi, 0xa10c02d0
sub esi, 1
mov edi, eax
sub edi, 0xa10c02d1
sub edi, 1
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, eax
sub esi, edi
sub esi, 1
add esi, 1
sub esi, 1
mov edi, ecx
add edi, 0xa10c02d0
mov ebp, ecx
add ebp, 0xa10c02d0
mov dword [esp + 0x33c], eax
mov eax, ecx
and eax, 0xa10c02d0
sub ebp, eax
sub ebp, eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x338], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x330], ecx
mov ecx, dword [esp + 0x334]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, dword [esp + 0x33c]
sub eax, ebp
sub eax, 1
sub edi, eax
sub edi, eax
add edi, 1
sub edi, 1
mov eax, dword [esp + 0x330]
add eax, 0xffffffff
mov ebp, dword [esp + 0x330]
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebp, dword [esp + 0x33c]
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
and eax, 0xffffffff
and ebp, 0xffffffff
or eax, ebp
add eax, 1
sub eax, 1
mov ebp, dword [esp + 0x33c]
sub ebp, edi
sub ebp, 1
mov edi, dword [esp + 0x330]
add edi, 0xffffffff
mov ecx, dword [esp + 0x330]
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
or ebp, edi
xor ebp, 0xffffffff
mov ecx, dword [esp + 0x33c]
sub ecx, 0xa10c02d0
sub ecx, 1
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, dword [esp + 0x330]
xor eax, 0xa10c02d1
mov ecx, dword [esp + 0x330]
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x33c]
sub ecx, 0xa10c02d1
sub ecx, 1
mov edi, dword [esp + 0x330]
add edi, 0xffffffff
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x330]
and eax, 0xffffffff
sub edi, eax
sub edi, eax
or ecx, edi
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x32c]
sub ecx, eax
mov eax, dword [esp + 0x33c]
sub eax, ebp
sub eax, 1
mov edi, dword [esp + 0x33c]
sub edi, ecx
sub edi, 1
xor eax, 0xffffffff
xor edi, 0xffffffff
and eax, edi
xor eax, 0xffffffff
mov ecx, dword [esp + 0x33c]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x33c]
sub eax, ecx
sub eax, 1
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov esi, dword [esp + 0x33c]
sub esi, eax
sub esi, 1
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov eax, dword [esp + 0x33c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov esi, dword [esp + 0x33c]
sub esi, 0xffffffff
sub esi, 1
and eax, 0xffffffff
and ecx, esi
or eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x360]
add ecx, eax
mov eax, dword [esp + 0x360]
mov dh, byte [esp + eax + 0x4c4]
add dl, 0x76
mov al, bl
sub al, 0x76
sub al, 1
mov ah, bh
add ah, 0xc9
mov byte [esp + 0x32b], al
mov al, bh
add al, 0xc9
mov byte [esp + 0x32a], al
mov al, bh
and al, 0xc9
mov byte [esp + 0x329], al
mov al, byte [esp + 0x32a]
mov dword [esp + 0x324], ecx
mov cl, byte [esp + 0x329]
sub al, cl
sub al, cl
mov ch, bl
sub ch, 0xff
sub ch, 1
or al, ch
xor al, 0xff
sub ah, al
sub ah, al
mov al, byte [esp + 0x32b]
xor al, 0xff
xor ah, 0xff
and al, ah
xor al, 0xff
mov ah, al
or ah, 0xff
and al, 0xff
mov ch, bl
sub ch, al
sub ch, 1
and ah, ch
sub dl, ah
sub dl, ah
mov al, dh
add al, dl
mov dl, bl
sub dl, 0xe6
mov ah, bh
and ah, 0xe0
mov ch, bl
sub ch, ah
sub ch, 1
mov ah, bl
sub ah, 0xe0
sub ah, 1
mov cl, bh
add cl, 0xff
mov byte [esp + 0x323], al
mov al, bh
and al, 0xff
sub cl, al
sub cl, al
add cl, 1
sub cl, 1
and ah, cl
mov al, ah
add al, 0xff
and ah, 0xff
sub al, ah
sub al, ah
and ch, al
mov al, bh
or al, 0xff
mov cl, bh
xor cl, 0xff
mov ah, bh
add ah, 0xff
mov byte [esp + 0x322], al
mov al, bh
and al, 0xff
sub ah, al
sub ah, al
add ah, 1
sub ah, 1
or cl, ah
mov al, byte [esp + 0x322]
and al, cl
xor ch, 0xff
xor al, 0xff
or ch, al
mov al, bl
sub al, ch
sub al, 1
mov cl, al
add cl, 0xff
and al, 0xff
sub cl, al
sub cl, al
mov al, bh
add al, 0xe0
mov ah, bh
xor ah, 0xe0
mov ch, bl
sub ch, 0xff
sub ch, 1
or ah, ch
mov ch, ah
add ch, 0xff
and ah, 0xff
sub ch, ah
sub ch, ah
sub al, ch
sub al, ch
or bh, 0xff
mov ah, bl
sub ah, 0xff
sub ah, 1
mov ch, bl
sub ch, 0xff
sub ch, 1
or ah, ch
and bh, ah
xor al, 0xff
xor bh, 0xff
and al, bh
xor al, 0xff
mov ah, al
add ah, 0xff
mov ch, al
and ch, 0xff
sub ah, ch
sub ah, ch
sub bl, 0xff
sub bl, 1
and ah, 0xff
and al, bl
or ah, al
add ah, 1
sub ah, 1
sub cl, ah
add cl, 1
sub cl, 1
add cl, 1
mov al, dh
add al, cl
mov cl, byte [esp + 0x323]
cmp cl, dl
mov byte [esp + 0x321], dh
mov byte [esp + 0x320], al
jb 0x1002c370
mov al, byte [esp + 0x321]
mov byte [esp + 0x320], al
mov al, byte [esp + 0x320]
movsx ecx, al
mov edx, dword [esp + 0x358]
add ecx, edx
mov esi, dword [esp + 0x330]
or esi, 0x32bf9a6d
mov edi, dword [esp + 0x330]
and edi, 0x32bf9a6d
sub esi, edi
mov edi, dword [esp + 0x330]
add edi, 0x32bf659c
mov ebx, dword [esp + 0x330]
and ebx, 0x32bf659c
sub edi, ebx
sub edi, ebx
xor esi, 0xffffffff
mov ebx, dword [esp + 0x33c]
sub ebx, edi
sub ebx, 1
or esi, ebx
mov edi, dword [esp + 0x33c]
sub edi, esi
sub edi, 1
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0x330]
add edi, 0x32bf9a6d
mov ebx, dword [esp + 0x330]
and ebx, 0x32bf9a6d
sub edi, ebx
sub edi, ebx
add edi, 1
sub edi, 1
mov ebx, dword [esp + 0x33c]
sub ebx, 0x32bf659c
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, edi
or ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub esi, ebx
mov eax, ecx
xor edx, edx
div esi
mov ecx, edx
mov esi, dword [esp + 0x35c]
add ecx, esi
mov edi, dword [esp + 0x330]
add edi, 0x2d7a8ed4
mov ebx, dword [esp + 0x330]
and ebx, 0x2d7a8ed4
sub edi, ebx
sub edi, ebx
mov ebx, dword [esp + 0x330]
or ebx, 0x2d7a7125
mov ebp, dword [esp + 0x330]
and ebp, 0x2d7a7125
mov esi, dword [esp + 0x33c]
sub esi, ebp
sub esi, 1
and ebx, esi
mov esi, dword [esp + 0x33c]
sub esi, edi
sub esi, 1
mov edi, dword [esp + 0x33c]
sub edi, ebx
sub edi, 1
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
add edi, 1
sub edi, 1
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0x330]
add edi, 0x2d7a8ed4
mov ebx, dword [esp + 0x330]
xor ebx, 0x2d7a8ed4
mov ebp, dword [esp + 0x33c]
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, dword [esp + 0x33c]
sub ebp, ebx
sub ebp, 1
sub edi, ebp
sub edi, ebp
mov ebx, dword [esp + 0x33c]
sub ebx, 0x2d7a7125
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
mov ebp, dword [esp + 0x33c]
sub ebp, edi
sub ebp, 1
mov edi, dword [esp + 0x33c]
sub edi, 0xffffffff
sub edi, 1
or ebp, edi
mov edi, ebp
add edi, 0xffffffff
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
sub ebx, edi
sub ebx, edi
sub esi, ebx
mov eax, ecx
xor ecx, ecx
mov dword [esp + 0x31c], edx
mov edx, ecx
div esi
mov ecx, dword [esp + 0x31c]
mov esi, dword [esp + 0x324]
mov dword [esp + 0x368], ecx
mov dword [esp + 0x36c], edx
mov dword [esp + 0x364], esi
jmp 0x1002bd11
mov eax, 0xffffffff
xor ecx, ecx
mov edx, eax
or edx, 0xa298a3a0
mov esi, eax
and esi, 0xa298a3a0
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
and edx, edi
mov esi, eax
or esi, 0xa298a3b0
mov edi, eax
and edi, 0xa298a3b0
xor edi, 0xffffffff
and esi, edi
mov edi, ecx
sub edi, edx
sub edi, 1
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
or edi, edx
xor edi, 0xffffffff
mov edx, edi
or edx, 0xffffffff
mov esi, ecx
sub esi, edi
sub esi, 1
mov edi, eax
xor edi, 0xffffffff
or esi, edi
and edx, esi
mov esi, eax
add esi, 0xa298a3a0
mov edi, ecx
sub edi, 0xa298a3a0
sub edi, 1
mov ebx, eax
add ebx, 0xffffffff
mov ebp, eax
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or edi, ebx
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
sub esi, ebx
sub esi, ebx
mov edi, ecx
sub edi, 0xa298a3b0
sub edi, 1
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, ecx
sub edi, esi
sub edi, 1
sub edx, edi
mov dword [esp + 0x318], ecx
mov ecx, edx
mov edx, dword [esp + 0x35c]
shl edx, cl
mov esi, edx
xor esi, 0xffffffff
mov edi, dword [esp + 0x318]
sub edi, 0xffffffff
sub edi, 1
or esi, edi
xor esi, 0xffffffff
mov edi, esi
add edi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
mov esi, eax
add esi, 0xffffffff
mov ebp, eax
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
add esi, 1
sub esi, 1
or ebx, esi
mov esi, dword [esp + 0x318]
sub esi, ebx
sub esi, 1
sub edi, esi
sub edi, esi
mov esi, edx
and esi, 0xffffffff
mov ebx, dword [esp + 0x318]
sub ebx, esi
sub ebx, 1
mov esi, dword [esp + 0x318]
sub esi, edx
sub esi, 1
mov edx, dword [esp + 0x318]
sub edx, 0xffffffff
sub edx, 1
and esi, edx
mov edx, dword [esp + 0x318]
sub edx, esi
sub edx, 1
and ebx, edx
mov edx, eax
or edx, 0xffffffff
mov esi, eax
and esi, 0xffffffff
sub edx, esi
mov esi, dword [esp + 0x318]
sub esi, ebx
sub esi, 1
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
or esi, ebx
mov edx, dword [esp + 0x318]
sub edx, esi
sub edx, 1
mov esi, edx
add esi, 0xffffffff
mov ebx, dword [esp + 0x318]
sub ebx, edx
sub ebx, 1
mov edx, eax
add edx, 0xffffffff
mov ebp, eax
and ebp, 0xffffffff
sub edx, ebp
sub edx, ebp
or ebx, edx
xor ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
mov edx, dword [esp + 0x318]
sub edx, edi
sub edx, 1
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
or edx, edi
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
mov edx, dword [esp + 0x358]
xor edx, 0xffffffff
mov edi, eax
xor edi, 0xffffffff
and edx, edi
xor edx, 0xffffffff
mov edi, dword [esp + 0x358]
add edi, 0xffffffff
mov ebx, dword [esp + 0x358]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
mov ebx, eax
add ebx, 0xffffffff
mov ebp, eax
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or edi, ebx
xor edi, 0xffffffff
sub edx, edi
mov edi, esi
add edi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
mov esi, eax
xor esi, 0xffffffff
add esi, 1
sub esi, 1
or ebx, esi
mov esi, dword [esp + 0x318]
sub esi, ebx
sub esi, 1
sub edi, esi
sub edi, esi
mov esi, dword [esp + 0x318]
sub esi, edx
sub esi, 1
xor edi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
xor edi, 0xffffffff
mov edx, dword [esp + 0x318]
sub edx, edi
sub edx, 1
mov esi, edx
add esi, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
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 esi, ebx
sub esi, ebx
mov edi, eax
and edi, 0xffffffff
mov ebx, dword [esp + 0x318]
sub ebx, edi
sub ebx, 1
mov edi, eax
xor edi, 0xffffffff
mov ebp, dword [esp + 0x318]
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
and edi, ebp
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
and ebx, ebp
xor esi, 0xffffffff
mov edi, dword [esp + 0x318]
sub edi, 0xffffffff
sub edi, 1
or esi, edi
mov edi, dword [esp + 0x318]
sub edi, esi
sub edi, 1
xor edx, 0xffffffff
xor ebx, 0xffffffff
or edx, ebx
mov esi, dword [esp + 0x318]
sub esi, edx
sub esi, 1
xor edi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
xor edi, 0xffffffff
mov edx, eax
add edx, 0xe2d6fbae
mov esi, dword [esp + 0x318]
sub esi, 0xe2d6fbae
sub esi, 1
mov ebx, eax
or ebx, 0xffffffff
mov ebp, eax
and ebp, 0xffffffff
mov ecx, dword [esp + 0x318]
sub ecx, ebp
sub ecx, 1
and ebx, ecx
add ebx, 1
sub ebx, 1
xor esi, 0xffffffff
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov ecx, dword [esp + 0x318]
sub ecx, esi
sub ecx, 1
sub edx, ecx
sub edx, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov esi, eax
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov esi, eax
add esi, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
mov dword [esp + 0x314], eax
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
or ebx, ebp
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x314]
add eax, 0xffffffff
mov ebx, dword [esp + 0x314]
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
xor esi, 0xffffffff
xor eax, 0xffffffff
and esi, eax
xor esi, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x318]
sub ecx, esi
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x318]
sub ecx, edx
sub ecx, 1
mov edx, dword [esp + 0x318]
sub edx, 0xffffffff
sub edx, 1
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, ecx
and edx, 0xffffffff
mov esi, dword [esp + 0x318]
sub esi, edx
sub esi, 1
mov edx, dword [esp + 0x318]
sub edx, ecx
sub edx, 1
mov ecx, dword [esp + 0x314]
add ecx, 0xffffffff
mov ebx, dword [esp + 0x314]
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
and edx, ecx
mov ecx, dword [esp + 0x318]
sub ecx, edx
sub ecx, 1
and esi, ecx
add esi, 1
sub esi, 1
mov ecx, dword [esp + 0x314]
add ecx, 0xe2d6fbae
mov edx, dword [esp + 0x318]
sub edx, 0xe2d6fbae
sub edx, 1
mov ebx, dword [esp + 0x314]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x314]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or edx, ebx
mov ebx, dword [esp + 0x318]
sub ebx, edx
sub ebx, 1
sub ecx, ebx
sub ecx, ebx
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, eax
add edx, 0xffffffff
mov ebx, dword [esp + 0x318]
sub ebx, eax
sub ebx, 1
mov eax, dword [esp + 0x318]
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
sub edx, eax
sub edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov edx, dword [esp + 0x318]
sub edx, ecx
sub edx, 1
mov ecx, dword [esp + 0x314]
add ecx, 0xffffffff
mov ebx, dword [esp + 0x314]
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
add ecx, 1
sub ecx, 1
or edx, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
sub eax, ecx
sub eax, ecx
mov ecx, esi
or ecx, 0xffffffff
and esi, 0xffffffff
mov edx, dword [esp + 0x318]
sub edx, esi
sub edx, 1
and ecx, edx
mov edx, eax
or edx, 0xffffffff
mov esi, dword [esp + 0x318]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x314]
add eax, 0xffffffff
mov ebx, dword [esp + 0x314]
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
or esi, eax
and edx, esi
mov eax, dword [esp + 0x318]
sub eax, ecx
sub eax, 1
xor edx, 0xffffffff
add edx, 1
sub edx, 1
or eax, edx
mov ecx, dword [esp + 0x318]
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, dword [esp + 0x314]
xor ecx, 0xffffffff
or edx, ecx
and eax, edx
cmp edi, eax
je 0x1002d00c
jmp 0x1002cfe8
mov eax, dword [esp + 0x3ac]
mov ecx, 0xffffffff
xor edx, edx
mov esi, dword [esp + 0x3b8]
mov bl, byte [esi + eax]
mov edi, edx
sub edi, 0xfffffffe
sub edi, 1
mov dword [esp + 0x310], ecx
mov ecx, edi
mov edi, eax
shr edi, cl
mov byte [esp + edi + 0x4c4], bl
mov edi, dword [esp + 0x310]
add edi, 0xfffffffe
mov ebp, edx
sub ebp, 0xfffffffe
sub ebp, 1
mov ecx, dword [esp + 0x310]
add ecx, 0xffffffff
mov esi, dword [esp + 0x310]
xor esi, 0xffffffff
mov ebx, dword [esp + 0x310]
add ebx, 0xffffffff
mov dword [esp + 0x30c], eax
mov eax, dword [esp + 0x310]
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
or esi, ebx
mov eax, edx
sub eax, esi
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, ebp
and eax, 0xffffffff
mov esi, edx
sub esi, eax
sub esi, 1
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebx, edx
sub ebx, 0xffffffff
sub ebx, 1
and eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
and esi, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
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 esi, edx
sub esi, ecx
sub esi, 1
mov ecx, edx
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x310]
add eax, 0xffffffff
mov ebx, dword [esp + 0x310]
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
and esi, eax
mov eax, esi
add eax, 0xffffffff
mov ecx, edx
sub ecx, esi
sub ecx, 1
mov esi, dword [esp + 0x310]
add esi, 0xffffffff
mov ebx, dword [esp + 0x310]
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
add esi, 1
sub esi, 1
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov esi, edx
sub esi, ecx
sub esi, 1
sub eax, esi
sub eax, esi
sub edi, eax
sub edi, eax
add edi, 1
mov eax, dword [esp + 0x30c]
add eax, edi
mov ecx, dword [esp + 0x310]
or ecx, 0xffff0000
mov esi, edx
sub esi, 0xffff0000
sub esi, 1
mov edi, dword [esp + 0x310]
xor edi, 0xffffffff
or esi, edi
and ecx, esi
mov esi, dword [esp + 0x310]
or esi, 0xffffffff
mov edi, dword [esp + 0x310]
and edi, 0xffffffff
sub esi, edi
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
or edi, ecx
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
mov esi, ecx
or esi, 0xffffffff
mov edi, edx
sub edi, ecx
sub edi, 1
mov ecx, edx
sub ecx, 0xffffffff
sub ecx, 1
or edi, ecx
and esi, edi
mov ecx, edx
sub ecx, 0xffff0000
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edi, dword [esp + 0x310]
add edi, 0xffffffff
mov ebx, edx
sub ebx, 0xffffffff
sub ebx, 1
mov ebp, dword [esp + 0x310]
xor ebp, 0xffffffff
add ebp, 1
sub ebp, 1
add ebp, 1
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, ecx
or ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
mov ecx, edi
and ecx, 0xffffffff
mov ebp, edx
sub ebp, ecx
sub ebp, 1
mov ecx, edx
sub ecx, edi
sub ecx, 1
mov edi, edx
sub edi, 0xffffffff
sub edi, 1
and ecx, edi
xor ecx, 0xffffffff
and ebp, ecx
xor ebx, 0xffffffff
xor ebp, 0xffffffff
add ebp, 1
sub ebp, 1
or ebx, ebp
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
add ecx, 1
sub ecx, 1
mov edi, ecx
or edi, 0xffffffff
mov ebx, edx
sub ebx, ecx
sub ebx, 1
mov ecx, edx
sub ecx, 0xffffffff
sub ecx, 1
or ebx, ecx
and edi, ebx
mov ecx, esi
add ecx, 0xffffffff
mov ebx, edx
sub ebx, esi
sub ebx, 1
mov esi, dword [esp + 0x310]
xor esi, 0xffffffff
or ebx, esi
xor ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
mov esi, edx
sub esi, edi
sub esi, 1
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov esi, ecx
add esi, 0xffffffff
mov edi, edx
sub edi, ecx
sub edi, 1
mov ecx, dword [esp + 0x310]
add ecx, 0xffffffff
mov ebx, dword [esp + 0x310]
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
or edi, ecx
mov ecx, edx
sub ecx, edi
sub ecx, 1
sub esi, ecx
sub esi, ecx
mov ecx, eax
add ecx, 0xffffffff
mov edi, edx
sub edi, eax
sub edi, 1
mov eax, dword [esp + 0x310]
or eax, 0xffffffff
mov ebx, dword [esp + 0x310]
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
and edi, 0xffffffff
sub eax, edi
sub eax, edi
sub ecx, eax
sub ecx, eax
mov eax, edx
sub eax, esi
sub eax, 1
mov esi, ecx
and esi, 0xffffffff
mov edi, edx
sub edi, esi
sub edi, 1
add edi, 1
sub edi, 1
xor ecx, 0xffffffff
mov esi, edx
sub esi, 0xffffffff
sub esi, 1
add esi, 1
sub esi, 1
and ecx, esi
mov esi, ecx
add esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
sub esi, ecx
and edi, esi
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
xor edi, 0xffffffff
xor ecx, 0xffffffff
or edi, ecx
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, ecx
add eax, 0xffffffff
mov esi, edx
sub esi, ecx
sub esi, 1
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
mov ecx, edx
sub ecx, 0xffffffff
sub ecx, 1
xor esi, 0xffffffff
xor ecx, 0xffffffff
and esi, ecx
xor esi, 0xffffffff
mov ecx, esi
add ecx, 0xffffffff
sub edx, esi
sub edx, 1
mov esi, dword [esp + 0x310]
add esi, 0xffffffff
mov edi, dword [esp + 0x310]
and edi, 0xffffffff
sub esi, edi
sub esi, edi
or edx, esi
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
sub ecx, esi
sub ecx, esi
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x3b0]
cmp eax, ecx
mov dword [esp + 0x3ac], eax
jb 0x1002cb9c
jmp 0x1002b83a
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax]
mov edx, dword [esp + 0x3c8]
cmp ecx, edx
mov dword [esp + 0x3c4], ecx
je 0x1003227f
jmp 0x1002b7df
mov eax, 2
mov ecx, dword [esp + 0x3c0]
cmp dword [ecx + 0x10], 0
mov dword [esp + 0x4bc], eax
je 0x100322a1
xor eax, eax
mov cx, ax
mov dx, 0xffff
mov eax, dword [esp + 0x3d8]
mov si, word [eax]
mov di, dx
or di, 0xa5b2
mov bx, dx
and bx, 0xa5b2
sub di, bx
mov bx, dx
or bx, 0xffff
mov bp, dx
xor bp, 0xffff
mov ax, dx
xor ax, 0xffff
or bp, ax
and bx, bp
mov ax, cx
sub ax, di
sub ax, 1
mov di, bx
add di, 0xffff
and bx, 0xffff
sub di, bx
sub di, bx
or ax, di
mov di, ax
add di, 0xffff
and ax, 0xffff
sub di, ax
sub di, ax
mov ax, di
or ax, 0xffff
mov bx, di
add bx, 0xffff
and di, 0xffff
sub bx, di
sub bx, di
mov di, cx
sub di, 0xffff
sub di, 1
or bx, di
and ax, bx
mov di, dx
xor di, 0xa5b2
mov bx, dx
xor bx, 0xffff
and di, bx
xor di, 0xffff
mov bx, dx
or bx, 0xa5b2
mov bp, dx
and bp, 0xa5b2
mov word [esp + 0x30a], ax
mov ax, cx
sub ax, bp
sub ax, 1
and bx, ax
mov ax, cx
sub ax, 0xffff
sub ax, 1
xor bx, 0xffff
xor ax, 0xffff
and bx, ax
xor bx, 0xffff
xor di, 0xffff
mov ax, cx
sub ax, bx
sub ax, 1
or di, ax
mov ax, cx
sub ax, di
sub ax, 1
add ax, 1
sub ax, 1
mov di, cx
sub di, 0xffff
sub di, 1
mov bx, ax
xor bx, 0xffff
mov bp, dx
xor bp, 0xffff
and bx, 0xffff
and ax, bp
or bx, ax
mov ax, di
and ax, 0xffff
mov bp, cx
sub bp, ax
sub bp, 1
mov ax, cx
sub ax, di
sub ax, 1
xor dx, 0xffff
and ax, dx
mov dx, cx
sub dx, ax
sub dx, 1
and bp, dx
xor bx, 0xffff
mov ax, bp
add ax, 0xffff
and bp, 0xffff
sub ax, bp
sub ax, bp
or bx, ax
mov ax, cx
sub ax, bx
sub ax, 1
mov dx, ax
or dx, 0xffff
and ax, 0xffff
sub dx, ax
mov ax, cx
mov di, word [esp + 0x30a]
sub ax, di
sub ax, 1
mov di, cx
sub di, dx
sub di, 1
xor ax, 0xffff
xor di, 0xffff
and ax, di
xor ax, 0xffff
mov dx, ax
and dx, 0xffff
xor dx, 0xffff
mov di, cx
sub di, ax
sub di, 1
sub cx, 0xffff
sub cx, 1
and di, cx
mov ax, di
add ax, 0xffff
and di, 0xffff
sub ax, di
sub ax, di
add ax, 1
sub ax, 1
and dx, ax
cmp si, dx
jne 0x1002de9e
mov eax, dword [esp + 0x3d8]
mov ecx, dword [eax + 0x3c]
mov edx, ecx
add edx, eax
mov ecx, dword [ecx + eax]
sub ecx, 0x4550
setne bl
test edx, edx
sete bh
or bl, bh
test bl, 1
mov dword [esp + 0x304], edx
mov dword [esp + 0x300], ecx
jne 0x1002de9e
mov eax, dword [esp + 0x304]
mov ecx, dword [eax + 0x78]
cmp ecx, 0
mov dword [esp + 0x2fc], ecx
je 0x1002de9e
mov eax, dword [esp + 0x304]
cmp dword [eax + 0x7c], 0
je 0x1002de9e
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x3d8]
add eax, ecx
mov edx, dword [eax + 0x1c]
cmp edx, 0
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2f4], edx
je 0x1002de9e
mov eax, dword [esp + 0x2f8]
mov ecx, dword [eax + 0x20]
cmp ecx, 0
mov dword [esp + 0x2f0], ecx
je 0x1002de9e
mov eax, dword [esp + 0x2f8]
mov ecx, dword [eax + 0x24]
cmp ecx, 0
mov dword [esp + 0x2ec], ecx
je 0x1002de9e
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x3d8]
add eax, ecx
mov edx, dword [esp + 0x2f0]
add edx, ecx
mov esi, dword [esp + 0x2ec]
add esi, ecx
mov edi, dword [esp + 0x2f8]
mov ebx, dword [edi + 0x18]
cmp ebx, 0
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x2e4], edx
mov dword [esp + 0x2e0], esi
mov dword [esp + 0x2dc], ebx
je 0x1002de9e
xor eax, eax
mov dword [esp + 0x2d8], eax
jmp 0x1002d351
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2e0]
movzx edx, word [ecx + eax*2]
mov esi, dword [esp + 0x3d8]
mov edi, dword [esp + 0x2e8]
add esi, dword [edi + edx*4]
cmp esi, 0
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x2d0], esi
je 0x1002dda8
mov eax, 1
xor ecx, ecx
mov edx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x2e4]
mov edi, dword [esp + 0x2d4]
add edx, dword [esi + edi*4]
mov ebx, ecx
mov dword [esp + 0x2cc], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c0], ecx
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c4]
xor esi, esi
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2b4], edx
mov dword [esp + 0x2b0], esi
mov eax, dword [esp + 0x2b0]
xor ecx, ecx
mov edx, dword [esp + 0x2c8]
mov bl, byte [edx + eax]
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
mov esi, eax
add esi, ecx
cmp bl, 0
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], esi
jne 0x1002d3fb
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x2bc]
cmp eax, ecx
je 0x1002d999
xor eax, eax
mov ecx, 0xffffffff
xor edx, edx
mov bl, dl
mov bh, 0xff
mov edx, ecx
xor edx, 0x9532a74a
mov esi, ecx
xor esi, 0xffffffff
or edx, esi
mov esi, eax
sub esi, edx
sub esi, 1
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
mov esi, eax
sub esi, 0x9532a74a
sub esi, 1
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
add edi, 1
sub edi, 1
xor esi, 0xffffffff
mov ebp, eax
sub ebp, edi
sub ebp, 1
or esi, ebp
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, eax
sub esi, edi
sub esi, 1
mov edi, eax
sub edi, edx
sub edi, 1
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
or edi, edx
xor edi, 0xffffffff
mov edx, ecx
add edx, 0x9532a74b
mov esi, ecx
add esi, 0x9532a74b
mov ebp, ecx
xor ebp, 0x9532a74b
mov dword [esp + 0x2a8], eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x2a4], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x29c], ecx
mov ecx, dword [esp + 0x2a0]
sub eax, ecx
sub eax, ecx
or ebp, eax
xor ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
mov eax, dword [esp + 0x29c]
add eax, 0xffffffff
mov ebp, dword [esp + 0x29c]
add ebp, 0xffffffff
mov ecx, dword [esp + 0x29c]
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
add ebp, 1
sub ebp, 1
add ebp, 1
sub ebp, 1
mov ecx, dword [esp + 0x2a8]
sub ecx, 0xffffffff
sub ecx, 1
or ebp, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
sub eax, ecx
sub eax, ecx
xor esi, 0xffffffff
xor eax, 0xffffffff
and esi, eax
xor esi, 0xffffffff
mov eax, esi
add eax, 0xffffffff
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov esi, dword [esp + 0x29c]
add esi, 0xffffffff
mov ebp, dword [esp + 0x29c]
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
add esi, 1
sub esi, 1
or ecx, esi
xor ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x2a8]
sub eax, edi
sub eax, 1
mov ecx, dword [esp + 0x2a8]
sub ecx, 0x9532a74b
sub ecx, 1
add ecx, 1
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov esi, dword [esp + 0x2a8]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x29c]
add eax, 0xffffffff
mov edi, dword [esp + 0x29c]
and edi, 0xffffffff
sub eax, edi
sub eax, edi
or esi, eax
xor esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov eax, dword [esp + 0x29c]
or eax, 0x9532a74a
mov esi, dword [esp + 0x2a8]
sub esi, 0x9532a74a
sub esi, 1
mov edi, dword [esp + 0x29c]
add edi, 0xffffffff
mov ebp, dword [esp + 0x29c]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
or esi, edi
and eax, esi
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
xor eax, 0xffffffff
xor esi, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov edx, eax
or edx, 0xffffffff
xor eax, 0xffffffff
mov esi, dword [esp + 0x29c]
xor esi, 0xffffffff
or eax, esi
and edx, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, edx
or ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
xor ecx, 0xffffffff
or edx, ecx
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
mov ecx, dword [esp + 0x2a8]
sub ecx, edx
sub ecx, 1
mov edx, dword [esp + 0x29c]
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, dword [esp + 0x2bc]
add ecx, eax
mov eax, dword [esp + 0x2c8]
mov edx, dword [esp + 0x2bc]
mov al, byte [eax + edx]
mov ah, bh
add ah, 0x40
mov dl, bh
or dl, 0x40
mov dh, bh
xor dh, 0x40
mov byte [esp + 0x29b], al
mov al, bl
sub al, 0xff
sub al, 1
or dh, al
and dl, dh
mov al, bh
and al, 0xff
xor al, 0xff
mov dh, bh
xor dh, 0xff
xor bh, 0xff
add bh, 1
sub bh, 1
and dh, bh
mov bh, bl
sub bh, dh
sub bh, 1
and al, bh
xor dl, 0xff
xor al, 0xff
and dl, al
xor dl, 0xff
mov al, bl
sub al, dl
sub al, 1
sub ah, al
sub ah, al
add ah, 1
sub ah, 1
mov al, byte [esp + 0x29b]
add al, ah
mov dl, bl
sub dl, 0xe5
sub dl, 1
sub bl, 0xe0
mov ah, byte [esp + 0x29b]
add ah, bl
cmp al, dl
mov dword [esp + 0x294], ecx
mov byte [esp + 0x293], ah
jb 0x1002d79c
mov al, byte [esp + 0x29b]
mov byte [esp + 0x293], al
mov al, byte [esp + 0x293]
movsx ecx, al
mov edx, dword [esp + 0x2b4]
add ecx, edx
mov esi, dword [esp + 0x2a8]
sub esi, 0x85c2d2fc
sub esi, 1
mov edi, dword [esp + 0x2a8]
sub edi, 0x85c22d0d
sub edi, 1
mov ebx, esi
and ebx, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
add ebp, 1
sub ebp, 1
mov ebx, dword [esp + 0x2a8]
sub ebx, esi
sub ebx, 1
mov esi, dword [esp + 0x29c]
xor esi, 0xffffffff
and ebx, esi
mov esi, dword [esp + 0x2a8]
sub esi, ebx
sub esi, 1
and ebp, esi
mov esi, dword [esp + 0x29c]
add esi, 0x85c22d0d
mov ebx, dword [esp + 0x29c]
xor ebx, 0x85c22d0d
mov eax, dword [esp + 0x2a8]
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, dword [esp + 0x2a8]
sub eax, ebx
sub eax, 1
sub esi, eax
sub esi, eax
xor ebp, 0xffffffff
xor esi, 0xffffffff
and ebp, esi
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
mov esi, dword [esp + 0x2a8]
sub esi, ebp
sub esi, 1
mov ebx, dword [esp + 0x2a8]
sub ebx, 0xffffffff
sub ebx, 1
or esi, ebx
xor esi, 0xffffffff
sub eax, esi
sub eax, esi
mov esi, dword [esp + 0x29c]
add esi, 0x85c2d2fc
mov ebx, dword [esp + 0x29c]
and ebx, 0x85c2d2fc
sub esi, ebx
sub esi, ebx
mov ebx, edi
or ebx, 0xffffffff
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
mov edi, dword [esp + 0x2a8]
sub edi, 0xffffffff
sub edi, 1
add edi, 1
sub edi, 1
or ebp, edi
and ebx, ebp
xor esi, 0xffffffff
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov edi, dword [esp + 0x2a8]
sub edi, esi
sub edi, 1
mov esi, eax
or esi, 0xffffffff
and eax, 0xffffffff
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
and esi, ebx
mov eax, edi
or eax, 0xffffffff
and edi, 0xffffffff
mov ebx, dword [esp + 0x2a8]
sub ebx, edi
sub ebx, 1
and eax, ebx
xor esi, 0xffffffff
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
or esi, edi
mov eax, dword [esp + 0x2a8]
sub eax, esi
sub eax, 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 + 0x29c]
xor eax, 0xffffffff
or edi, eax
and esi, edi
mov eax, ecx
xor edx, edx
div esi
mov ecx, edx
mov esi, dword [esp + 0x2b8]
add ecx, esi
mov edi, dword [esp + 0x2a8]
sub edi, 0xffff000e
sub edi, 1
mov eax, ecx
xor ecx, ecx
mov dword [esp + 0x28c], edx
mov edx, ecx
div edi
mov ecx, dword [esp + 0x28c]
mov edi, dword [esp + 0x294]
mov dword [esp + 0x2c4], ecx
mov dword [esp + 0x2cc], edx
mov dword [esp + 0x2c0], edi
jmp 0x1002d3c8
xor eax, eax
mov ecx, 0xffffffff
mov edx, eax
sub edx, 0xffffffef
sub edx, 1
add edx, 1
sub edx, 1
mov dword [esp + 0x288], ecx
mov ecx, edx
mov edx, dword [esp + 0x2b8]
shl edx, cl
mov esi, edx
add esi, 0xffffffff
mov edi, edx
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0x288]
xor edi, 0xffffffff
or esi, edi
mov edi, eax
sub edi, esi
sub edi, 1
mov esi, edi
add esi, 0xffffffff
mov ebx, eax
sub ebx, edi
sub ebx, 1
add ebx, 1
sub ebx, 1
mov edi, dword [esp + 0x288]
add edi, 0xffffffff
mov ebp, dword [esp + 0x288]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
or ebx, edi
mov edi, eax
sub edi, ebx
sub edi, 1
sub esi, edi
sub esi, edi
mov edi, edx
and edi, 0xffffffff
mov ebx, eax
sub ebx, edi
sub ebx, 1
mov edi, eax
sub edi, edx
sub edi, 1
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
and edi, edx
xor edi, 0xffffffff
and ebx, edi
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
mov edi, eax
sub edi, ebx
sub edi, 1
xor edx, 0xffffffff
or edi, edx
mov edx, eax
sub edx, edi
sub edx, 1
mov edi, eax
sub edi, edx
sub edi, 1
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
or edx, esi
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
mov edx, dword [esp + 0x2b4]
xor edx, 0xffffffff
mov edi, dword [esp + 0x288]
xor edi, 0xffffffff
and edx, edi
xor edx, 0xffffffff
mov edi, eax
mov ebx, dword [esp + 0x2b4]
sub edi, ebx
sub edi, 1
mov ebp, dword [esp + 0x288]
add ebp, 0xffffffff
mov ecx, dword [esp + 0x288]
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
or edi, ebp
mov ecx, eax
sub ecx, edi
sub ecx, 1
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
xor edx, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
or edx, ecx
mov ecx, eax
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, esi
or edx, 0xffffffff
and esi, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
and edx, edi
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov esi, ecx
or esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
add esi, 1
sub esi, 1
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov ecx, eax
sub ecx, edx
sub ecx, 1
mov edx, ecx
xor edx, 0xffffffff
mov esi, dword [esp + 0x288]
add esi, 0xffffffff
mov edi, dword [esp + 0x288]
and edi, 0xffffffff
sub esi, edi
sub esi, edi
or edx, esi
mov esi, eax
sub esi, edx
sub esi, 1
mov edx, esi
add edx, 0xffffffff
mov edi, eax
sub edi, esi
sub edi, 1
mov esi, eax
sub esi, 0xffffffff
sub esi, 1
or edi, esi
xor edi, 0xffffffff
sub edx, edi
sub edx, edi
add edx, 1
sub edx, 1
mov esi, ecx
add esi, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
mov ecx, dword [esp + 0x288]
xor ecx, 0xffffffff
or edi, ecx
xor edi, 0xffffffff
sub esi, edi
sub esi, edi
mov ecx, eax
sub ecx, 0xffffffff
sub ecx, 1
mov edi, eax
sub edi, esi
sub edi, 1
add edi, 1
sub edi, 1
mov esi, eax
sub esi, ecx
sub esi, 1
add esi, 1
sub esi, 1
or edi, esi
mov ecx, eax
sub ecx, edi
sub ecx, 1
mov esi, ecx
add esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
sub esi, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, eax
sub edx, esi
sub edx, 1
or ecx, edx
mov edx, eax
sub edx, ecx
sub edx, 1
mov ecx, dword [esp + 0x288]
and ecx, 0x1e4db1e5
mov esi, ecx
add esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
sub esi, ecx
add esi, 1
sub esi, 1
mov ecx, eax
sub ecx, 0x1e4db1e5
sub ecx, 1
mov edi, dword [esp + 0x288]
add edi, 0xffffffff
mov ebp, dword [esp + 0x288]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
and ecx, edi
xor ecx, 0xffffffff
and esi, ecx
mov ecx, dword [esp + 0x288]
add ecx, 0x9edb5ad
mov edi, dword [esp + 0x288]
and edi, 0x9edb5ad
sub ecx, edi
sub ecx, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, eax
sub esi, ecx
sub esi, 1
or edi, esi
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
mov esi, ecx
add esi, 0xffffffff
mov edi, ecx
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0x288]
add edi, 0xffffffff
mov ebp, dword [esp + 0x288]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
and esi, 0xffffffff
and ecx, edi
or esi, ecx
mov ecx, eax
sub ecx, 0x1e4db1e5
sub ecx, 1
mov edi, eax
sub edi, 0x9edb5ad
sub edi, 1
xor ecx, 0xffffffff
xor edi, 0xffffffff
and ecx, edi
xor ecx, 0xffffffff
mov edi, eax
sub edi, ecx
sub edi, 1
mov ecx, edi
add ecx, 0xffffffff
mov ebp, eax
sub ebp, edi
sub ebp, 1
mov edi, dword [esp + 0x288]
add edi, 0xffffffff
mov ebx, dword [esp + 0x288]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
xor ebp, 0xffffffff
xor edi, 0xffffffff
and ebp, edi
xor ebp, 0xffffffff
mov edi, eax
sub edi, ebp
sub edi, 1
sub ecx, edi
sub ecx, edi
mov edi, eax
sub edi, esi
sub edi, 1
mov esi, ecx
add esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
sub esi, ecx
xor edi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
xor edi, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0x288]
add edi, 0xffffffff
mov ebx, dword [esp + 0x288]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
add edi, 1
sub edi, 1
add edi, 1
sub edi, 1
or esi, edi
sub eax, esi
sub eax, 1
sub ecx, eax
sub ecx, eax
cmp edx, ecx
je 0x1002deb9
xor eax, eax
mov ecx, 0xffffffff
mov edx, ecx
add edx, 0xe7ddb057
mov esi, ecx
and esi, 0xe7ddb057
sub edx, esi
sub edx, esi
mov esi, ecx
and esi, 0xe7ddb056
xor esi, 0xffffffff
mov edi, ecx
add edi, 0xe7ddb056
and ecx, 0xe7ddb056
sub edi, ecx
sub edi, ecx
mov ecx, eax
sub ecx, 0xffffffff
sub ecx, 1
and edi, ecx
xor edi, 0xffffffff
add edi, 1
sub edi, 1
and esi, edi
mov ecx, eax
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, eax
sub edx, esi
sub edx, 1
or ecx, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, edx
or ecx, 0xffffffff
and edx, 0xffffffff
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
add esi, 1
sub esi, 1
and ecx, esi
mov edx, eax
sub edx, 0xe7ddb057
sub edx, 1
mov esi, eax
sub esi, 0xe7ddb056
sub esi, 1
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, edx
add esi, 0xffffffff
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
or edi, edx
sub eax, edi
sub eax, 1
sub esi, eax
sub esi, eax
sub ecx, esi
mov eax, dword [esp + 0x2d4]
add eax, ecx
mov ecx, dword [esp + 0x2dc]
cmp eax, ecx
mov dword [esp + 0x2d8], eax
jb 0x1002d351
jmp 0x1002de9e
mov eax, 3
mov dword [0x10084954], 0
mov dword [esp + 0x4bc], eax
jmp 0x100322a1
xor eax, eax
mov ecx, dword [esp + 0x2d0]
mov dword [0x10084954], ecx
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 0x2e0]
movzx edx, word [ecx + eax*2]
mov esi, dword [esp + 0x3d8]
mov edi, dword [esp + 0x2e8]
add esi, dword [edi + edx*4]
cmp esi, 0
mov dword [esp + 0x280], eax
mov dword [esp + 0x27c], esi
je 0x1002eba4
mov eax, 1
xor ecx, ecx
mov edx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x2e4]
mov edi, dword [esp + 0x280]
add edx, dword [esi + edi*4]
mov ebx, ecx
mov dword [esp + 0x278], ebx
mov dword [esp + 0x274], edx
mov dword [esp + 0x270], eax
mov dword [esp + 0x26c], ecx
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x278]
mov edx, dword [esp + 0x270]
xor esi, esi
mov dword [esp + 0x268], eax
mov dword [esp + 0x264], ecx
mov dword [esp + 0x260], edx
mov dword [esp + 0x25c], esi
mov eax, dword [esp + 0x25c]
xor ecx, ecx
mov edx, 0xffffffff
mov esi, dword [esp + 0x274]
mov bl, byte [esi + eax]
mov edi, edx
or edi, 0x80a0e54a
mov ebp, edx
and ebp, 0x80a0e54a
mov esi, ebp
add esi, 0xffffffff
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
and edi, esi
mov esi, edx
or esi, 0x80a0e54b
mov ebp, edx
and ebp, 0x80a0e54b
mov dword [esp + 0x258], eax
mov eax, ecx
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
and esi, eax
xor edi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
xor edi, 0xffffffff
mov eax, ecx
sub eax, edi
sub eax, 1
mov esi, ecx
sub esi, eax
sub esi, 1
mov eax, ecx
sub eax, 0x80a0e54a
sub eax, 1
mov edi, ecx
sub edi, 0x80a0e54b
sub edi, 1
mov ebp, eax
or ebp, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x254], eax
mov eax, ecx
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x254]
sub eax, ecx
sub eax, 1
and ebp, eax
mov eax, dword [esp + 0x250]
sub eax, edi
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, dword [esp + 0x250]
sub eax, ebp
sub eax, 1
mov ecx, dword [esp + 0x250]
sub ecx, eax
sub ecx, 1
mov eax, esi
and eax, 0xffffffff
xor eax, 0xffffffff
mov edi, dword [esp + 0x250]
sub edi, esi
sub edi, 1
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
and edi, esi
xor edi, 0xffffffff
and eax, edi
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x250]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x258]
add eax, ecx
cmp bl, 0
mov dword [esp + 0x25c], eax
jne 0x1002df79
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x268]
cmp eax, ecx
je 0x1002e4d8
mov eax, 0xffffffff
xor ecx, ecx
mov dl, 0xff
xor ebx, ebx
mov dh, bl
mov ebx, ecx
sub ebx, 0xfffffffe
sub ebx, 1
add ebx, 1
sub ebx, 1
mov esi, dword [esp + 0x268]
add esi, ebx
mov ebx, dword [esp + 0x274]
mov edi, dword [esp + 0x268]
mov bl, byte [ebx + edi]
mov bh, dh
sub bh, 0x40
sub bh, 1
mov dword [esp + 0x24c], eax
mov al, bl
add al, bh
mov bh, dl
add bh, 0xe5
mov ah, dh
sub ah, 0xe5
sub ah, 1
mov byte [esp + 0x24b], al
mov al, dh
sub al, 0xff
sub al, 1
add al, 1
sub al, 1
mov byte [esp + 0x24a], al
mov al, ah
add al, 0xff
and ah, 0xff
sub al, ah
sub al, ah
mov ah, byte [esp + 0x24a]
or ah, 0xff
mov byte [esp + 0x249], al
mov al, byte [esp + 0x24a]
and al, 0xff
sub ah, al
mov al, byte [esp + 0x249]
xor al, 0xff
xor ah, 0xff
or al, ah
xor al, 0xff
mov ah, al
add ah, 0xff
and al, 0xff
sub ah, al
sub ah, al
mov al, ah
add al, 0xff
mov byte [esp + 0x248], al
mov al, dh
sub al, ah
sub al, 1
mov ah, dh
sub ah, 0xff
sub ah, 1
xor al, 0xff
xor ah, 0xff
and al, ah
xor al, 0xff
mov ah, al
or ah, 0xff
xor al, 0xff
mov byte [esp + 0x247], al
mov al, dh
sub al, 0xff
sub al, 1
mov byte [esp + 0x246], al
mov al, byte [esp + 0x247]
mov dword [esp + 0x240], ecx
mov cl, byte [esp + 0x246]
or al, cl
and ah, al
mov al, byte [esp + 0x248]
sub al, ah
sub al, ah
sub bh, al
sub bh, al
mov al, dl
and al, 0xab
mov cl, dh
sub cl, al
sub cl, 1
mov al, dh
sub al, 0xab
sub al, 1
mov ah, dl
xor ah, 0xff
add ah, 1
sub ah, 1
and al, ah
mov ah, dh
sub ah, al
sub ah, 1
and cl, ah
mov al, dl
or al, 0x8b
mov ah, dh
sub ah, 0x8b
sub ah, 1
mov ch, dl
add ch, 0xff
mov byte [esp + 0x23f], al
mov al, dl
and al, 0xff
sub ch, al
sub ch, al
or ah, ch
mov al, byte [esp + 0x23f]
and al, ah
mov ah, dh
sub ah, cl
sub ah, 1
mov cl, dh
sub cl, al
sub cl, 1
or ah, cl
xor ah, 0xff
add ah, 1
sub ah, 1
mov al, ah
and al, 0xff
mov cl, dh
sub cl, al
sub cl, 1
add cl, 1
sub cl, 1
mov al, dh
sub al, ah
sub al, 1
mov ah, dl
add ah, 0xff
mov ch, dl
and ch, 0xff
sub ah, ch
sub ah, ch
and al, ah
mov ah, dh
sub ah, al
sub ah, 1
and cl, ah
mov al, dh
sub al, 0xab
sub al, 1
sub dh, 0x8b
sub dh, 1
add dh, 1
sub dh, 1
xor al, 0xff
xor dh, 0xff
and al, dh
xor al, 0xff
mov ah, al
add ah, 0xff
mov ch, al
add ch, 0xff
and al, 0xff
sub ch, al
sub ch, al
mov al, dl
add al, 0xff
and dl, 0xff
sub al, dl
sub al, dl
or ch, al
xor ch, 0xff
sub ah, ch
sub ah, ch
add ah, 1
sub ah, 1
sub cl, ah
mov al, bl
add al, cl
mov cl, byte [esp + 0x24b]
cmp cl, bh
mov byte [esp + 0x23e], bl
mov dword [esp + 0x238], esi
mov byte [esp + 0x237], al
jb 0x1002e307
mov al, byte [esp + 0x23e]
mov byte [esp + 0x237], al
mov al, byte [esp + 0x237]
movsx ecx, al
mov edx, dword [esp + 0x260]
add ecx, edx
mov esi, dword [esp + 0x240]
sub esi, 0xffff000f
mov eax, ecx
xor edx, edx
div esi
mov ecx, edx
mov esi, dword [esp + 0x264]
add ecx, esi
mov edi, dword [esp + 0x240]
sub edi, 0xb887ddc1
sub edi, 1
mov ebx, dword [esp + 0x240]
sub ebx, 0xb8872230
sub ebx, 1
mov ebp, dword [esp + 0x240]
sub ebp, edi
sub ebp, 1
mov edi, dword [esp + 0x240]
sub edi, 0xb8872230
sub edi, 1
xor ebp, 0xffffffff
xor edi, 0xffffffff
and ebp, edi
xor ebp, 0xffffffff
mov edi, dword [esp + 0x240]
sub edi, ebp
sub edi, 1
mov ebp, dword [esp + 0x24c]
add ebp, 0xb887ddc1
mov esi, dword [esp + 0x240]
sub esi, 0xb887ddc1
sub esi, 1
add esi, 1
sub esi, 1
mov dword [esp + 0x230], ecx
mov ecx, dword [esp + 0x240]
sub ecx, 0xffffffff
sub ecx, 1
or esi, ecx
mov ecx, dword [esp + 0x240]
sub ecx, esi
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov ecx, dword [esp + 0x240]
sub ecx, ebx
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 esi, dword [esp + 0x24c]
xor esi, 0xffffffff
or ebp, esi
mov esi, dword [esp + 0x240]
sub esi, ebp
sub esi, 1
sub ecx, esi
sub ecx, esi
mov esi, edi
add esi, 0xffffffff
mov ebx, edi
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
mov ebx, dword [esp + 0x240]
sub ebx, 0xffffffff
sub ebx, 1
and esi, 0xffffffff
and edi, ebx
or esi, edi
mov edi, ecx
or edi, 0xffffffff
and ecx, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
and edi, ebx
mov ecx, dword [esp + 0x240]
sub ecx, esi
sub ecx, 1
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
or ecx, esi
xor ecx, 0xffffffff
mov esi, ecx
add esi, 0xffffffff
mov edi, ecx
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0x24c]
add edi, 0xffffffff
mov ebx, dword [esp + 0x24c]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
and esi, 0xffffffff
and ecx, edi
or esi, ecx
mov ecx, dword [esp + 0x230]
mov eax, ecx
xor edi, edi
mov dword [esp + 0x22c], edx
mov edx, edi
div esi
mov esi, dword [esp + 0x22c]
mov edi, dword [esp + 0x238]
mov dword [esp + 0x270], esi
mov dword [esp + 0x278], edx
mov dword [esp + 0x26c], edi
jmp 0x1002df46
mov eax, 0xffffffff
xor ecx, ecx
mov edx, ecx
sub edx, 0x59ee5a41
sub edx, 1
mov esi, eax
or esi, 0x59ee5a51
mov edi, eax
xor edi, 0x59ee5a51
mov ebx, ecx
sub ebx, 0xffffffff
sub ebx, 1
add ebx, 1
sub ebx, 1
or edi, ebx
and esi, edi
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, ecx
sub esi, edx
sub esi, 1
mov edx, esi
add edx, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, ecx
sub esi, 0xffffffff
sub esi, 1
xor edi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
xor edi, 0xffffffff
mov esi, edi
add esi, 0xffffffff
mov ebx, ecx
sub ebx, edi
sub ebx, 1
mov edi, ecx
sub edi, 0xffffffff
sub edi, 1
or ebx, edi
mov edi, ecx
sub edi, ebx
sub edi, 1
sub esi, edi
sub esi, edi
sub edx, esi
sub edx, esi
mov esi, ecx
sub esi, 0x59ee5a41
sub esi, 1
mov edi, eax
xor edi, 0x59ee5a51
mov ebx, eax
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, eax
add ebx, 0x59ee5a51
mov ebp, eax
and ebp, 0x59ee5a51
sub ebx, ebp
sub ebx, ebp
mov ebp, ecx
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, ecx
sub ebp, ebx
sub ebp, 1
mov ebx, ebp
add ebx, 0xffffffff
xor ebp, 0xffffffff
mov dword [esp + 0x228], eax
add eax, 0xffffffff
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x228]
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
or ebp, eax
xor ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
xor edi, 0xffffffff
add edi, 1
sub edi, 1
mov eax, dword [esp + 0x21c]
sub eax, ebx
sub eax, 1
or edi, eax
mov eax, dword [esp + 0x21c]
sub eax, edi
sub eax, 1
mov edi, esi
and edi, 0xffffffff
mov ebx, dword [esp + 0x21c]
sub ebx, edi
sub ebx, 1
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
add edi, 1
sub edi, 1
mov esi, dword [esp + 0x228]
add esi, 0xffffffff
mov ebp, dword [esp + 0x228]
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
and edi, esi
mov esi, dword [esp + 0x21c]
sub esi, edi
sub esi, 1
and ebx, esi
mov esi, dword [esp + 0x21c]
sub esi, eax
sub esi, 1
xor ebx, 0xffffffff
xor esi, 0xffffffff
and ebx, esi
xor ebx, 0xffffffff
mov eax, dword [esp + 0x21c]
sub eax, ebx
sub eax, 1
mov esi, dword [esp + 0x21c]
sub esi, eax
sub esi, 1
mov edi, dword [esp + 0x228]
add edi, 0xffffffff
mov ebx, dword [esp + 0x228]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
or esi, edi
mov edi, dword [esp + 0x21c]
sub edi, esi
sub edi, 1
mov esi, dword [esp + 0x21c]
sub esi, edi
sub esi, 1
mov edi, eax
and edi, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
add ebx, 1
sub ebx, 1
xor eax, 0xffffffff
mov edi, dword [esp + 0x228]
add edi, 0xffffffff
mov ebp, dword [esp + 0x228]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
and eax, edi
mov edi, dword [esp + 0x21c]
sub edi, eax
sub edi, 1
and ebx, edi
mov eax, dword [esp + 0x228]
or eax, 0xffffffff
mov edi, dword [esp + 0x228]
and edi, 0xffffffff
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
and eax, ebp
mov edi, dword [esp + 0x21c]
sub edi, ebx
sub edi, 1
xor eax, 0xffffffff
or edi, eax
xor edi, 0xffffffff
mov eax, edi
add eax, 0xffffffff
mov ebx, dword [esp + 0x21c]
sub ebx, edi
sub ebx, 1
add ebx, 1
sub ebx, 1
mov edi, dword [esp + 0x228]
add edi, 0xffffffff
mov ebp, dword [esp + 0x228]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
add edi, 1
sub edi, 1
or ebx, edi
xor ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
xor esi, 0xffffffff
mov edi, dword [esp + 0x21c]
sub edi, eax
sub edi, 1
add edi, 1
sub edi, 1
or esi, edi
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
mov esi, dword [esp + 0x21c]
sub esi, edx
sub esi, 1
add esi, 1
sub esi, 1
mov edx, eax
add edx, 0xffffffff
mov edi, dword [esp + 0x21c]
sub edi, eax
sub edi, 1
mov eax, dword [esp + 0x21c]
sub eax, 0xffffffff
sub eax, 1
or edi, eax
xor edi, 0xffffffff
sub edx, edi
sub edx, edi
xor esi, 0xffffffff
xor edx, 0xffffffff
and esi, edx
xor esi, 0xffffffff
mov eax, esi
add eax, 0xffffffff
xor esi, 0xffffffff
mov edx, dword [esp + 0x21c]
sub edx, 0xffffffff
sub edx, 1
or esi, edx
xor esi, 0xffffffff
sub eax, esi
sub eax, esi
mov ecx, eax
mov eax, dword [esp + 0x264]
shl eax, cl
mov edx, eax
xor edx, 0xffffffff
mov esi, dword [esp + 0x21c]
sub esi, 0xffffffff
sub esi, 1
or edx, esi
mov esi, dword [esp + 0x21c]
sub esi, edx
sub esi, 1
mov edx, dword [esp + 0x21c]
sub edx, esi
sub edx, 1
mov esi, dword [esp + 0x21c]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x21c]
sub eax, 0xffffffff
sub eax, 1
mov edi, dword [esp + 0x21c]
sub edi, esi
sub edi, 1
mov esi, dword [esp + 0x21c]
sub esi, eax
sub esi, 1
or edi, esi
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov esi, dword [esp + 0x21c]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x21c]
sub eax, edx
sub eax, 1
xor esi, 0xffffffff
or eax, esi
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x260]
xor eax, 0xffffffff
mov esi, dword [esp + 0x228]
xor esi, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov esi, dword [esp + 0x21c]
mov edi, dword [esp + 0x260]
sub esi, edi
sub esi, 1
mov ebx, dword [esp + 0x21c]
sub ebx, 0xffffffff
sub ebx, 1
or esi, ebx
mov ebx, dword [esp + 0x21c]
sub ebx, esi
sub ebx, 1
sub eax, ebx
mov esi, dword [esp + 0x21c]
sub esi, edx
sub esi, 1
mov edx, dword [esp + 0x21c]
sub edx, eax
sub edx, 1
xor esi, 0xffffffff
xor edx, 0xffffffff
and esi, edx
xor esi, 0xffffffff
mov eax, esi
or eax, 0xffffffff
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
mov esi, dword [esp + 0x228]
add esi, 0xffffffff
mov ebx, dword [esp + 0x228]
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
or edx, esi
and eax, edx
mov edx, dword [esp + 0x21c]
sub edx, eax
sub edx, 1
mov esi, dword [esp + 0x21c]
sub esi, 0xffffffff
sub esi, 1
xor edx, 0xffffffff
mov ebx, dword [esp + 0x228]
xor ebx, 0xffffffff
or edx, ebx
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
xor esi, 0xffffffff
or edx, esi
xor edx, 0xffffffff
xor ebx, 0xffffffff
xor edx, 0xffffffff
and ebx, edx
xor ebx, 0xffffffff
mov eax, dword [esp + 0x228]
add eax, 0x926ef67c
mov edx, dword [esp + 0x228]
add edx, 0x926ef67c
mov esi, dword [esp + 0x228]
add esi, 0x926ef67c
mov ebp, dword [esp + 0x228]
xor ebp, 0x926ef67c
mov ecx, dword [esp + 0x228]
add ecx, 0xffffffff
mov edi, dword [esp + 0x228]
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
or ebp, ecx
xor ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
mov ecx, dword [esp + 0x21c]
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
xor esi, 0xffffffff
xor ecx, 0xffffffff
and esi, ecx
xor esi, 0xffffffff
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
add ecx, 1
sub ecx, 1
sub edx, ecx
sub edx, ecx
mov ecx, dword [esp + 0x228]
add ecx, 0xffffffff
mov esi, dword [esp + 0x228]
add esi, 0xffffffff
mov edi, dword [esp + 0x228]
xor edi, 0xffffffff
mov ebp, dword [esp + 0x21c]
sub ebp, 0xffffffff
sub ebp, 1
or edi, ebp
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
sub esi, ebp
sub esi, ebp
mov edi, dword [esp + 0x21c]
sub edi, 0xffffffff
sub edi, 1
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
sub ecx, edi
sub ecx, edi
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
mov edx, ecx
or edx, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
mov ecx, dword [esp + 0x21c]
sub ecx, 0xffffffff
sub ecx, 1
or edi, ecx
and edx, edi
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov esi, dword [esp + 0x21c]
sub esi, edx
sub esi, 1
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
or ecx, esi
mov edx, dword [esp + 0x21c]
sub edx, ecx
sub edx, 1
mov ecx, edx
or ecx, 0xffffffff
and edx, 0xffffffff
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
and ecx, esi
mov edx, ecx
add edx, 0xffffffff
mov esi, dword [esp + 0x21c]
sub esi, ecx
sub esi, 1
mov ecx, dword [esp + 0x21c]
sub ecx, 0xffffffff
sub ecx, 1
xor esi, 0xffffffff
xor ecx, 0xffffffff
and esi, ecx
xor esi, 0xffffffff
mov ecx, esi
add ecx, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, dword [esp + 0x228]
xor esi, 0xffffffff
or edi, esi
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
sub ecx, esi
sub ecx, esi
sub edx, ecx
sub edx, ecx
sub eax, edx
sub eax, edx
add eax, 1
cmp ebx, eax
je 0x1002ed1d
xor eax, eax
mov ecx, 0xffffffff
mov edx, eax
sub edx, 0x40aa692e
sub edx, 1
mov esi, eax
sub esi, 0xffffffff
sub esi, 1
add esi, 1
sub esi, 1
and edx, 0xffffffff
and esi, 0x40aa692e
or edx, esi
mov esi, ecx
and esi, 0x40aa692f
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
add edi, 1
sub edi, 1
mov esi, eax
sub esi, 0x40aa692f
sub esi, 1
mov ebx, ecx
add ebx, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
and esi, ebx
mov ebx, eax
sub ebx, esi
sub ebx, 1
and edi, ebx
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
xor edi, 0xffffffff
add edi, 1
sub edi, 1
or esi, edi
mov edx, eax
sub edx, esi
sub edx, 1
add edx, 1
sub edx, 1
mov esi, edx
or esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
mov edx, ecx
add edx, 0x40aa692e
mov edi, eax
sub edi, 0x40aa692e
sub edi, 1
mov ebx, eax
sub ebx, 0xffffffff
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
sub edx, ebx
sub edx, ebx
add ecx, 0x40aa692f
mov edi, eax
sub edi, 0x40aa692f
sub edi, 1
mov ebx, eax
sub ebx, 0xffffffff
sub ebx, 1
add ebx, 1
sub ebx, 1
or edi, ebx
xor edi, 0xffffffff
sub ecx, edi
sub ecx, edi
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, eax
sub edx, ecx
sub edx, 1
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov esi, eax
sub esi, edx
sub esi, 1
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x280]
add ecx, eax
mov eax, dword [esp + 0x2dc]
cmp ecx, eax
mov dword [esp + 0x284], ecx
jb 0x1002decf
mov eax, 3
mov dword [0x10084968], 0
mov dword [esp + 0x4bc], eax
jmp 0x100322a1
xor eax, eax
mov ecx, dword [esp + 0x27c]
mov dword [0x10084968], ecx
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x2e0]
movzx edx, word [ecx + eax*2]
mov esi, dword [esp + 0x3d8]
mov edi, dword [esp + 0x2e8]
add esi, dword [edi + edx*4]
cmp esi, 0
mov dword [esp + 0x214], eax
mov dword [esp + 0x210], esi
je 0x1002f9ab
mov eax, 1
xor ecx, ecx
mov edx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x2e4]
mov edi, dword [esp + 0x214]
add edx, dword [esi + edi*4]
mov ebx, ecx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x208], edx
mov dword [esp + 0x204], eax
mov dword [esp + 0x200], ecx
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x20c]
mov edx, dword [esp + 0x204]
xor esi, esi
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1f0], esi
mov eax, dword [esp + 0x1f0]
xor ecx, ecx
mov edx, dword [esp + 0x208]
mov bl, byte [edx + eax]
sub ecx, 0xffffffff
mov esi, eax
add esi, ecx
cmp bl, 0
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], esi
jne 0x1002eddd
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1fc]
cmp eax, ecx
je 0x1002f65d
xor eax, eax
mov ecx, 0xffffffff
xor edx, edx
mov bl, dl
mov bh, 0xff
mov edx, ecx
and edx, 0xc13e7d3
mov esi, eax
sub esi, edx
sub esi, 1
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
mov edx, ecx
xor edx, 0xc13e7d3
mov edi, ecx
xor edi, 0xffffffff
and edx, edi
xor edx, 0xffffffff
and esi, edx
mov edx, ecx
add edx, 0xc13e7d2
mov edi, ecx
and edi, 0xc13e7d2
sub edx, edi
sub edx, edi
mov edi, eax
sub edi, esi
sub edi, 1
xor edx, 0xffffffff
add edx, 1
sub edx, 1
or edi, edx
xor edi, 0xffffffff
mov edx, edi
or edx, 0xffffffff
and edi, 0xffffffff
xor edi, 0xffffffff
and edx, edi
mov esi, eax
sub esi, 0xc13e7d3
sub esi, 1
add esi, 1
sub esi, 1
mov edi, ecx
add edi, 0xc13e7d2
mov ebp, ecx
xor ebp, 0xc13e7d2
add ebp, 1
sub ebp, 1
mov dword [esp + 0x1e8], eax
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
xor ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov eax, dword [esp + 0x1e8]
sub eax, esi
sub eax, 1
sub edx, eax
mov eax, dword [esp + 0x1fc]
add eax, edx
mov edx, dword [esp + 0x208]
mov esi, dword [esp + 0x1fc]
mov dl, byte [edx + esi]
mov dh, bh
or dh, 0x21
mov dword [esp + 0x1e4], eax
mov al, bh
and al, 0x21
mov ah, al
add ah, 0xff
and al, 0xff
sub ah, al
sub ah, al
and dh, ah
mov al, bh
or al, 0x9e
mov ah, bh
and ah, 0x9e
xor ah, 0xff
and al, ah
mov ah, bl
sub ah, dh
sub ah, 1
mov dh, bl
sub dh, al
sub dh, 1
or ah, dh
mov al, ah
add al, 0xff
and ah, 0xff
sub al, ah
sub al, ah
mov ah, al
add ah, 0xff
mov dh, al
and dh, 0xff
sub ah, dh
sub ah, dh
mov dh, bl
sub dh, 0xff
sub dh, 1
and ah, 0xff
and al, dh
or ah, al
mov al, bh
add al, 0x21
mov dh, bh
and dh, 0x21
sub al, dh
sub al, dh
mov dh, bh
or dh, 0x9e
mov byte [esp + 0x1e3], al
mov al, bh
and al, 0x9e
mov byte [esp + 0x1e2], al
mov al, bl
mov dword [esp + 0x1dc], ecx
mov cl, byte [esp + 0x1e2]
sub al, cl
sub al, 1
add al, 1
sub al, 1
and dh, al
mov al, byte [esp + 0x1e3]
xor al, 0xff
xor dh, 0xff
and al, dh
xor al, 0xff
mov cl, al
add cl, 0xff
and al, 0xff
sub cl, al
sub cl, al
mov al, bl
sub al, cl
sub al, 1
mov cl, ah
or cl, 0xff
and ah, 0xff
sub cl, ah
mov ah, bl
sub ah, al
sub ah, 1
xor cl, 0xff
xor ah, 0xff
and cl, ah
xor cl, 0xff
mov al, cl
add al, 0xff
mov ah, cl
add ah, 0xff
and cl, 0xff
sub ah, cl
sub ah, cl
mov cl, bl
sub cl, 0xff
sub cl, 1
or ah, cl
xor ah, 0xff
sub al, ah
sub al, ah
mov cl, dl
add cl, al
mov al, bh
or al, 0xe
mov ah, bh
and ah, 0xe
sub al, ah
mov ah, bh
or ah, 0x14
mov dh, bh
and dh, 0x14
mov ch, dh
add ch, 0xff
and dh, 0xff
sub ch, dh
sub ch, dh
and ah, ch
mov ch, al
add ch, 0xff
and al, 0xff
sub ch, al
sub ch, al
mov al, bl
sub al, ah
sub al, 1
or ch, al
xor ch, 0xff
add ch, 1
sub ch, 1
mov al, ch
or al, 0xff
and ch, 0xff
mov ah, bl
sub ah, ch
sub ah, 1
add ah, 1
sub ah, 1
and al, ah
mov ah, bh
add ah, 0xe
mov ch, bh
and ch, 0xe
sub ah, ch
sub ah, ch
mov ch, bl
sub ch, 0xff
sub ch, 1
and ah, 0xff
and ch, 0xe
or ah, ch
add ah, 1
sub ah, 1
mov ch, bh
or ch, 0x14
mov dh, bh
and dh, 0x14
xor dh, 0xff
and ch, dh
xor ah, 0xff
xor ch, 0xff
and ah, ch
xor ah, 0xff
mov ch, bl
sub ch, ah
sub ch, 1
sub al, ch
mov ah, bh
or ah, 0xe0
mov ch, bl
sub ch, 0xe0
sub ch, 1
add ch, 1
sub ch, 1
mov dh, bh
add dh, 0xff
mov byte [esp + 0x1db], al
mov al, bh
and al, 0xff
sub dh, al
sub dh, al
or ch, dh
and ah, ch
mov al, bh
or al, 0xff
mov ch, bh
and ch, 0xff
sub al, ch
mov ch, bl
sub ch, ah
sub ch, 1
mov ah, bl
sub ah, al
sub ah, 1
or ch, ah
mov al, ch
add al, 0xff
and ch, 0xff
sub al, ch
sub al, ch
mov ah, al
and ah, 0xff
mov ch, bl
sub ch, ah
sub ch, 1
mov ah, bl
sub ah, al
sub ah, 1
mov al, bh
add al, 0xff
mov dh, bh
and dh, 0xff
sub al, dh
sub al, dh
and ah, al
mov al, bl
sub al, ah
sub al, 1
and ch, al
mov al, bl
sub al, 0xe0
sub al, 1
mov ah, bl
sub ah, 0xff
sub ah, 1
add ah, 1
sub ah, 1
add ah, 1
sub ah, 1
xor al, 0xff
xor ah, 0xff
and al, ah
xor al, 0xff
mov ah, al
add ah, 0xff
mov dh, al
add dh, 0xff
and al, 0xff
sub dh, al
sub dh, al
add dh, 1
sub dh, 1
mov al, bh
add al, 0xff
mov byte [esp + 0x1da], al
mov al, bh
and al, 0xff
mov byte [esp + 0x1d9], al
mov al, byte [esp + 0x1da]
mov byte [esp + 0x1d8], cl
mov cl, byte [esp + 0x1d9]
sub al, cl
sub al, cl
or dh, al
mov al, bl
sub al, dh
sub al, 1
sub ah, al
sub ah, al
add ah, 1
sub ah, 1
mov al, bl
sub al, ah
sub al, 1
mov ah, ch
add ah, 0xff
xor ch, 0xff
mov dh, bh
add dh, 0xff
and bh, 0xff
sub dh, bh
sub dh, bh
or ch, dh
mov dh, bl
sub dh, ch
sub dh, 1
sub ah, dh
sub ah, dh
mov ch, bl
sub ch, al
sub ch, 1
xor ah, 0xff
xor ch, 0xff
and ah, ch
xor ah, 0xff
sub bl, ah
sub bl, 1
add bl, 1
mov al, dl
add al, bl
mov ah, byte [esp + 0x1d8]
mov ch, byte [esp + 0x1db]
cmp ah, ch
mov byte [esp + 0x1d7], dl
mov byte [esp + 0x1d6], al
jb 0x1002f21a
mov al, byte [esp + 0x1d7]
mov byte [esp + 0x1d6], al
mov al, byte [esp + 0x1d6]
movsx ecx, al
mov edx, dword [esp + 0x1f4]
add ecx, edx
mov esi, dword [esp + 0x1e8]
sub esi, 0xffff000f
mov eax, ecx
xor edx, edx
div esi
mov ecx, edx
mov esi, dword [esp + 0x1f8]
add ecx, esi
mov edi, dword [esp + 0x1dc]
and edi, 0xe4a6c542
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
mov edi, dword [esp + 0x1dc]
xor edi, 0xe4a6c542
mov ebp, dword [esp + 0x1e8]
sub ebp, 0xffffffff
sub ebp, 1
and edi, ebp
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
add ebp, 1
sub ebp, 1
add ebp, 1
sub ebp, 1
and ebx, ebp
add ebx, 1
sub ebx, 1
mov edi, dword [esp + 0x1e8]
sub edi, 0xe4a63ab3
sub edi, 1
xor ebx, 0xffffffff
xor edi, 0xffffffff
and ebx, edi
xor ebx, 0xffffffff
mov edi, dword [esp + 0x1e8]
sub edi, ebx
sub edi, 1
mov ebx, edi
and ebx, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
mov ebx, edi
add ebx, 0xffffffff
mov esi, edi
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
add ebx, 1
sub ebx, 1
mov esi, dword [esp + 0x1dc]
xor esi, 0xffffffff
and ebx, esi
xor ebx, 0xffffffff
and ebp, ebx
mov esi, dword [esp + 0x1e8]
sub esi, 0xffffffff
sub esi, 1
add esi, 1
sub esi, 1
mov ebx, dword [esp + 0x1e8]
sub ebx, ebp
sub ebx, 1
mov ebp, dword [esp + 0x1e8]
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
xor edi, 0xffffffff
add edi, 1
sub edi, 1
xor esi, 0xffffffff
or edi, esi
xor edi, 0xffffffff
xor ebp, 0xffffffff
xor edi, 0xffffffff
and ebp, edi
xor ebp, 0xffffffff
mov esi, dword [esp + 0x1dc]
xor esi, 0xe4a6c542
mov edi, dword [esp + 0x1dc]
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, dword [esp + 0x1e8]
sub edi, 0xe4a6c542
sub edi, 1
mov ebx, dword [esp + 0x1dc]
add ebx, 0xffffffff
mov dword [esp + 0x1d0], ecx
mov ecx, dword [esp + 0x1dc]
add ecx, 0xffffffff
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0x1dc]
and ecx, 0xffffffff
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0x1c4], edx
mov edx, dword [esp + 0x1c8]
sub ecx, edx
sub ecx, edx
add ecx, 1
sub ecx, 1
mov edx, dword [esp + 0x1dc]
xor edx, 0xffffffff
add edx, 1
sub edx, 1
or ecx, edx
mov edx, dword [esp + 0x1e8]
sub edx, ecx
sub edx, 1
sub ebx, edx
sub ebx, edx
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ecx, dword [esp + 0x1e8]
sub ecx, esi
sub ecx, 1
mov edx, edi
add edx, 0xffffffff
and edi, 0xffffffff
sub edx, edi
sub edx, edi
or ecx, edx
mov edx, dword [esp + 0x1e8]
sub edx, ecx
sub edx, 1
mov ecx, dword [esp + 0x1dc]
xor ecx, 0xe4a63ab3
mov esi, dword [esp + 0x1dc]
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov esi, dword [esp + 0x1dc]
add esi, 0xe4a63ab3
mov edi, dword [esp + 0x1dc]
add edi, 0xe4a63ab3
mov ebx, dword [esp + 0x1dc]
and ebx, 0xe4a63ab3
sub edi, ebx
sub edi, ebx
mov ebx, dword [esp + 0x1e8]
sub ebx, 0xffffffff
sub ebx, 1
or edi, ebx
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
sub esi, ebx
sub esi, ebx
mov edi, dword [esp + 0x1dc]
add edi, 0xffffffff
mov ebx, dword [esp + 0x1e8]
sub ebx, 0xffffffff
sub ebx, 1
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0x1dc]
xor ecx, 0xffffffff
or ebx, ecx
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
sub edi, ecx
sub edi, ecx
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov ecx, dword [esp + 0x1e8]
mov edi, dword [esp + 0x1c0]
sub ecx, edi
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edi, dword [esp + 0x1e8]
sub edi, esi
sub edi, 1
add edi, 1
sub edi, 1
or ecx, edi
mov esi, dword [esp + 0x1e8]
sub esi, ecx
sub esi, 1
mov ecx, edx
add ecx, 0xffffffff
xor edx, 0xffffffff
add edx, 1
sub edx, 1
mov edi, dword [esp + 0x1dc]
xor edi, 0xffffffff
or edx, edi
xor edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, esi
add edx, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, dword [esp + 0x1e8]
sub esi, 0xffffffff
sub esi, 1
or edi, esi
mov esi, dword [esp + 0x1e8]
sub esi, edi
sub esi, 1
sub edx, esi
sub edx, esi
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
mov esi, dword [esp + 0x1e8]
sub esi, ecx
sub esi, 1
mov ecx, dword [esp + 0x1e8]
sub ecx, 0xffffffff
sub ecx, 1
or esi, ecx
xor esi, 0xffffffff
sub edx, esi
sub edx, esi
mov ecx, dword [esp + 0x1e8]
sub ecx, edx
sub ecx, 1
mov edx, ebp
add edx, 0xffffffff
mov esi, dword [esp + 0x1e8]
sub esi, ebp
sub esi, 1
mov edi, dword [esp + 0x1e8]
sub edi, 0xffffffff
sub edi, 1
add edi, 1
sub edi, 1
or esi, edi
mov edi, dword [esp + 0x1e8]
sub edi, esi
sub edi, 1
sub edx, edi
sub edx, edi
mov esi, dword [esp + 0x1e8]
sub esi, ecx
sub esi, 1
mov edi, dword [esp + 0x1dc]
xor edi, 0xffffffff
add edi, 1
sub edi, 1
and esi, 0xffffffff
and ecx, edi
or esi, ecx
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov ecx, dword [esp + 0x1e8]
sub ecx, edx
sub ecx, 1
mov edx, dword [esp + 0x1d0]
mov eax, edx
xor edx, edx
div ecx
mov ecx, dword [esp + 0x1c4]
mov esi, dword [esp + 0x1e4]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x20c], edx
mov dword [esp + 0x200], esi
jmp 0x1002edaa
xor eax, eax
mov ecx, 0xffffffff
mov edx, ecx
add edx, 0xfffffff0
mov esi, eax
sub esi, 0xfffffff0
sub esi, 1
mov edi, ecx
add edi, 0xffffffff
mov ebx, eax
sub ebx, 0xffffffff
sub ebx, 1
mov ebp, ecx
add ebp, 0xffffffff
mov dword [esp + 0x1bc], eax
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x1b8], eax
mov eax, ecx
xor eax, 0xffffffff
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x1b4]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
sub ebp, ecx
sub ebp, ecx
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
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, dword [esp + 0x1b0]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x1b0]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or ecx, ebx
mov ebx, dword [esp + 0x1bc]
sub ebx, ecx
sub ebx, 1
sub eax, ebx
sub eax, ebx
sub edi, eax
sub edi, eax
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
mov ecx, edi
or ecx, 0xffffffff
mov esi, dword [esp + 0x1bc]
sub esi, edi
sub esi, 1
mov edi, dword [esp + 0x1bc]
sub edi, 0xffffffff
sub edi, 1
or esi, edi
and ecx, esi
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x1bc]
sub eax, ecx
sub eax, 1
or esi, eax
xor esi, 0xffffffff
mov eax, esi
xor eax, 0xffffffff
mov ecx, dword [esp + 0x1b0]
xor ecx, 0xffffffff
and eax, 0xffffffff
and esi, ecx
or eax, esi
mov ecx, eax
xor ecx, 0xffffffff
mov esi, dword [esp + 0x1b0]
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov esi, dword [esp + 0x1bc]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x1b0]
add eax, 0xffffffff
mov edi, dword [esp + 0x1b0]
and edi, 0xffffffff
sub eax, edi
sub eax, edi
or esi, eax
xor esi, 0xffffffff
sub ecx, esi
sub edx, ecx
sub edx, ecx
add edx, 1
mov ecx, edx
mov eax, dword [esp + 0x1f8]
shl eax, cl
mov edx, eax
xor edx, 0xffffffff
mov esi, dword [esp + 0x1b0]
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, eax
and esi, 0xffffffff
mov edi, dword [esp + 0x1bc]
sub edi, esi
sub edi, 1
mov esi, dword [esp + 0x1bc]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x1b0]
add eax, 0xffffffff
mov ebx, dword [esp + 0x1b0]
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
and esi, eax
mov eax, dword [esp + 0x1bc]
sub eax, esi
sub eax, 1
and edi, eax
mov eax, dword [esp + 0x1bc]
sub eax, 0xffffffff
sub eax, 1
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x1bc]
sub edx, edi
sub edx, 1
or eax, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x1f4]
add eax, 0xffffffff
mov esi, dword [esp + 0x1f4]
xor esi, 0xffffffff
mov edi, dword [esp + 0x1bc]
sub edi, 0xffffffff
sub edi, 1
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
sub eax, edi
sub eax, edi
mov esi, edx
add esi, 0xffffffff
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
mov edx, dword [esp + 0x1b0]
xor edx, 0xffffffff
or edi, edx
mov edx, dword [esp + 0x1bc]
sub edx, edi
sub edx, 1
sub esi, edx
sub esi, edx
mov edx, dword [esp + 0x1bc]
sub edx, eax
sub edx, 1
xor esi, 0xffffffff
xor edx, 0xffffffff
and esi, edx
xor esi, 0xffffffff
mov eax, dword [esp + 0x1bc]
sub eax, esi
sub eax, 1
mov edx, eax
xor edx, 0xffffffff
mov esi, dword [esp + 0x1b0]
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, dword [esp + 0x1bc]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x1b0]
add eax, 0xffffffff
mov edi, dword [esp + 0x1b0]
xor edi, 0xffffffff
mov ebx, dword [esp + 0x1b0]
xor ebx, 0xffffffff
or edi, ebx
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
sub eax, ebx
sub eax, ebx
xor esi, 0xffffffff
xor eax, 0xffffffff
and esi, eax
xor esi, 0xffffffff
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x1bc]
sub edx, esi
sub edx, 1
or eax, edx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x1bc]
sub edx, 0xa40ef747
cmp eax, edx
je 0x1002f9f3
xor eax, eax
sub eax, 0xfffffffe
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x214]
add ecx, eax
mov eax, dword [esp + 0x2dc]
cmp ecx, eax
mov dword [esp + 0x218], ecx
jb 0x1002ed33
mov eax, 3
mov dword [0x10084958], 0
mov dword [esp + 0x4bc], eax
jmp 0x100322a1
xor eax, eax
mov ecx, dword [esp + 0x210]
mov dword [0x10084958], ecx
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x2e0]
movzx edx, word [ecx + eax*2]
mov esi, dword [esp + 0x3d8]
mov edi, dword [esp + 0x2e8]
add esi, dword [edi + edx*4]
cmp esi, 0
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1a4], esi
je 0x10030485
mov eax, 1
xor ecx, ecx
mov edx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x2e4]
mov edi, dword [esp + 0x1a8]
add edx, dword [esi + edi*4]
mov ebx, ecx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x19c], edx
mov dword [esp + 0x198], eax
mov dword [esp + 0x194], ecx
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x198]
xor esi, esi
mov dword [esp + 0x190], eax
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x188], edx
mov dword [esp + 0x184], esi
mov eax, dword [esp + 0x184]
xor ecx, ecx
mov edx, 0xffffffff
mov esi, 0xc6b7ca6d
mov edi, dword [esp + 0x19c]
mov bl, byte [edi + eax]
add esi, 0xc6b7ca6c
mov ebp, edx
or ebp, 0xc6b7ca6c
and edx, 0xc6b7ca6c
xor edx, 0xffffffff
and ebp, edx
mov edx, ecx
sub edx, 0xc6b7ca6d
sub edx, 1
xor ebp, 0xffffffff
xor edx, 0xffffffff
and ebp, edx
xor ebp, 0xffffffff
mov edx, ebp
or edx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, 1
and edx, ecx
sub esi, edx
sub esi, edx
mov ecx, eax
add ecx, esi
cmp bl, 0
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], ecx
jne 0x1002fab3
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x190]
cmp eax, ecx
je 0x10030291
xor eax, eax
mov ecx, 0xffffffff
xor edx, edx
mov bl, dl
mov bh, 0xff
mov edx, ecx
add edx, 0x43872062
mov esi, ecx
xor esi, 0x43872062
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
sub edx, edi
sub edx, edi
mov esi, ecx
add esi, 0x43872063
mov edi, eax
sub edi, 0x43872063
sub edi, 1
mov ebp, eax
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 esi, ebp
sub esi, ebp
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, edx
and esi, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, eax
sub esi, edx
sub esi, 1
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
add edx, 1
sub edx, 1
and esi, edx
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
and edi, edx
mov edx, eax
sub edx, edi
sub edx, 1
mov esi, eax
sub esi, 0x43872062
sub esi, 1
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
mov ebp, esi
add ebp, 0xffffffff
and esi, 0xffffffff
sub ebp, esi
sub ebp, esi
mov esi, eax
sub esi, 0xffffffff
sub esi, 1
or ebp, esi
mov esi, eax
sub esi, ebp
sub esi, 1
mov ebp, ecx
add ebp, 0x43872062
mov dword [esp + 0x17c], eax
mov eax, ecx
and eax, 0x43872062
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x17c]
sub eax, edi
sub eax, 1
or ebp, eax
xor ebp, 0xffffffff
xor esi, 0xffffffff
xor ebp, 0xffffffff
and esi, ebp
xor esi, 0xffffffff
mov eax, dword [esp + 0x17c]
sub eax, 0x43872063
sub eax, 1
mov edi, dword [esp + 0x17c]
sub edi, esi
sub edi, 1
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
xor edi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
xor edi, 0xffffffff
mov eax, dword [esp + 0x17c]
sub eax, edi
sub eax, 1
mov esi, eax
xor esi, 0xffffffff
mov edi, ecx
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, eax
add edi, 0xffffffff
xor eax, 0xffffffff
mov ebp, ecx
add ebp, 0xffffffff
mov dword [esp + 0x178], eax
mov eax, ecx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
mov eax, dword [esp + 0x178]
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 edi, ebp
sub edi, ebp
mov eax, dword [esp + 0x17c]
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov eax, dword [esp + 0x17c]
sub eax, esi
sub eax, 1
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
or eax, esi
mov esi, dword [esp + 0x17c]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 0x17c]
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x17c]
sub edx, esi
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
or edx, 0xffffffff
xor eax, 0xffffffff
mov esi, ecx
add esi, 0xffffffff
mov edi, ecx
and edi, 0xffffffff
sub esi, edi
sub esi, edi
or eax, esi
and edx, eax
mov eax, dword [esp + 0x190]
add eax, edx
mov edx, dword [esp + 0x19c]
mov esi, dword [esp + 0x190]
mov dl, byte [edx + esi]
mov dh, bh
add dh, 0x40
mov dword [esp + 0x174], eax
mov al, bh
add al, 0x40
mov ah, bl
sub ah, 0x40
sub ah, 1
mov byte [esp + 0x173], al
mov al, bl
sub al, 0xff
sub al, 1
or ah, al
mov al, ah
add al, 0xff
and ah, 0xff
sub al, ah
sub al, ah
mov ah, byte [esp + 0x173]
sub ah, al
sub ah, al
mov al, bh
add al, 0xff
mov byte [esp + 0x172], al
mov al, bl
sub al, 0xff
sub al, 1
mov byte [esp + 0x171], al
mov al, bh
add al, 0xff
mov byte [esp + 0x170], al
mov al, bh
and al, 0xff
mov byte [esp + 0x16f], al
mov al, byte [esp + 0x170]
mov dword [esp + 0x168], ecx
mov cl, byte [esp + 0x16f]
sub al, cl
sub al, cl
add al, 1
sub al, 1
mov ch, byte [esp + 0x171]
xor ch, 0xff
xor al, 0xff
and ch, al
xor ch, 0xff
mov al, ch
add al, 0xff
mov cl, ch
and cl, 0xff
sub al, cl
sub al, cl
mov cl, bh
add cl, 0xff
mov byte [esp + 0x167], al
mov al, bh
and al, 0xff
sub cl, al
sub cl, al
mov al, byte [esp + 0x167]
and al, 0xff
and ch, cl
or al, ch
mov cl, byte [esp + 0x172]
sub cl, al
sub cl, al
mov al, ah
or al, 0xff
mov ch, bl
sub ch, ah
sub ch, 1
mov ah, bh
xor ah, 0xff
or ch, ah
and al, ch
mov ah, cl
or ah, 0xff
mov ch, bl
sub ch, cl
sub ch, 1
mov cl, bh
add cl, 0xff
mov byte [esp + 0x166], al
mov al, bh
and al, 0xff
sub cl, al
sub cl, al
or ch, cl
and ah, ch
mov al, bl
mov cl, byte [esp + 0x166]
sub al, cl
sub al, 1
mov cl, bl
sub cl, ah
sub cl, 1
or al, cl
mov cl, bl
sub cl, al
sub cl, 1
mov al, cl
or al, 0xff
and cl, 0xff
mov ah, bl
sub ah, cl
sub ah, 1
and al, ah
mov cl, bl
sub cl, al
sub cl, 1
sub dh, cl
sub dh, cl
mov al, dl
add al, dh
mov cl, bl
sub cl, 0xe6
mov ah, bh
add ah, 0xdf
mov ch, bl
sub ch, 0xdf
sub ch, 1
add ch, 1
sub ch, 1
mov dh, bl
sub dh, 0xff
sub dh, 1
mov byte [esp + 0x165], al
mov al, ch
add al, 0xff
and ch, 0xff
sub al, ch
sub al, ch
mov ch, dh
or ch, 0xff
and dh, 0xff
xor dh, 0xff
add dh, 1
sub dh, 1
and ch, dh
mov dh, bl
sub dh, al
sub dh, 1
mov al, ch
add al, 0xff
and ch, 0xff
sub al, ch
sub al, ch
or dh, al
xor dh, 0xff
mov al, dh
or al, 0xff
and dh, 0xff
sub al, dh
mov ch, al
add ch, 0xff
mov dh, al
add dh, 0xff
and al, 0xff
sub dh, al
sub dh, al
mov al, bh
add al, 0xff
mov byte [esp + 0x164], al
mov al, bh
add al, 0xff
mov byte [esp + 0x163], al
mov al, bh
and al, 0xff
mov byte [esp + 0x162], al
mov al, byte [esp + 0x163]
mov byte [esp + 0x161], cl
mov cl, byte [esp + 0x162]
sub al, cl
sub al, cl
xor bh, 0xff
or al, bh
mov bh, bl
sub bh, al
sub bh, 1
mov al, byte [esp + 0x164]
sub al, bh
sub al, bh
add al, 1
sub al, 1
xor dh, 0xff
xor al, 0xff
and dh, al
xor dh, 0xff
sub bl, dh
sub bl, 1
sub ch, bl
sub ch, bl
sub ah, ch
sub ah, ch
mov al, dl
add al, ah
mov ah, byte [esp + 0x165]
mov ch, byte [esp + 0x161]
cmp ah, ch
mov byte [esp + 0x160], dl
mov byte [esp + 0x15f], al
jb 0x1002fff6
mov al, byte [esp + 0x160]
mov byte [esp + 0x15f], al
mov al, byte [esp + 0x15f]
movsx ecx, al
mov edx, dword [esp + 0x188]
add ecx, edx
mov esi, dword [esp + 0x168]
and esi, 0x1b6507fe
mov edi, dword [esp + 0x17c]
sub edi, esi
sub edi, 1
mov esi, dword [esp + 0x168]
add esi, 0x1b6507fe
mov ebx, dword [esp + 0x168]
and ebx, 0x1b6507fe
sub esi, ebx
sub esi, ebx
mov ebx, dword [esp + 0x168]
add ebx, 0xffffffff
mov ebp, dword [esp + 0x168]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
add ebx, 1
sub ebx, 1
and esi, ebx
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
and edi, ebx
mov esi, dword [esp + 0x168]
or esi, 0x1b65f80f
mov ebx, dword [esp + 0x168]
and ebx, 0x1b65f80f
sub esi, ebx
xor edi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
or edi, ebx
mov esi, dword [esp + 0x17c]
sub esi, edi
sub esi, 1
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, dword [esp + 0x17c]
sub esi, 0x1b6507fe
sub esi, 1
mov ebx, dword [esp + 0x168]
add ebx, 0x1b65f80f
mov ebp, dword [esp + 0x168]
xor ebp, 0x1b65f80f
mov eax, dword [esp + 0x17c]
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
or ebp, eax
xor ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
xor esi, 0xffffffff
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov eax, dword [esp + 0x17c]
sub eax, esi
sub eax, 1
mov esi, eax
add esi, 0xffffffff
mov ebx, dword [esp + 0x17c]
sub ebx, eax
sub ebx, 1
mov eax, dword [esp + 0x168]
add eax, 0xffffffff
mov ebp, dword [esp + 0x168]
xor ebp, 0xffffffff
mov edx, dword [esp + 0x168]
add edx, 0xffffffff
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x168]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
or ebp, edx
mov eax, dword [esp + 0x17c]
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x158]
sub edx, eax
sub edx, eax
xor ebx, 0xffffffff
xor edx, 0xffffffff
and ebx, edx
xor ebx, 0xffffffff
mov eax, ebx
add eax, 0xffffffff
xor ebx, 0xffffffff
mov edx, dword [esp + 0x17c]
sub edx, 0xffffffff
sub edx, 1
or ebx, edx
mov edx, dword [esp + 0x17c]
sub edx, ebx
sub edx, 1
sub eax, edx
sub eax, edx
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x17c]
sub eax, edi
sub eax, 1
mov edx, esi
add edx, 0xffffffff
mov edi, dword [esp + 0x17c]
sub edi, esi
sub edi, 1
mov esi, dword [esp + 0x168]
add esi, 0xffffffff
mov ebx, dword [esp + 0x168]
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
or edi, esi
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
sub edx, esi
sub edx, esi
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, dword [esp + 0x17c]
sub edx, eax
sub edx, 1
mov eax, ecx
xor ecx, ecx
mov dword [esp + 0x154], edx
mov edx, ecx
mov ecx, dword [esp + 0x154]
div ecx
mov esi, edx
mov edi, dword [esp + 0x18c]
add esi, edi
mov ebx, dword [esp + 0x17c]
sub ebx, 0xffff000e
sub ebx, 1
add ebx, 1
sub ebx, 1
mov eax, esi
xor esi, esi
mov dword [esp + 0x150], edx
mov edx, esi
div ebx
mov esi, dword [esp + 0x150]
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x198], esi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x194], ebx
jmp 0x1002fa80
xor eax, eax
mov ecx, 0xffffffff
mov edx, eax
sub edx, 0xffffffef
sub edx, 1
mov dword [esp + 0x14c], ecx
mov ecx, edx
mov edx, dword [esp + 0x18c]
shl edx, cl
mov esi, edx
add esi, 0xffffffff
xor edx, 0xffffffff
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
or edx, edi
mov edi, eax
sub edi, edx
sub edi, 1
add edi, 1
sub edi, 1
add edi, 1
sub edi, 1
sub esi, edi
sub esi, edi
mov edx, dword [esp + 0x188]
xor edx, 0xffffffff
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
or edx, edi
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
mov edx, edi
or edx, 0xffffffff
and edi, 0xffffffff
xor edi, 0xffffffff
and edx, edi
mov edi, eax
mov ebx, dword [esp + 0x188]
sub edi, ebx
sub edi, 1
mov ebp, eax
sub ebp, 0xffffffff
sub ebp, 1
mov ecx, eax
sub ecx, edi
sub ecx, 1
mov edi, ebp
add edi, 0xffffffff
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
or ecx, edi
xor ecx, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
mov ebp, eax
sub ebp, ecx
sub ebp, 1
mov ecx, eax
sub ecx, 0xffffffff
sub ecx, 1
or ebp, ecx
xor ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
add edi, 1
sub edi, 1
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, eax
sub edx, edi
sub edx, 1
add edx, 1
sub edx, 1
or ecx, edx
mov edx, eax
sub edx, ecx
sub edx, 1
mov ecx, eax
sub ecx, esi
sub ecx, 1
mov esi, eax
sub esi, edx
sub esi, 1
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
mov ecx, edx
xor ecx, 0xffffffff
mov esi, dword [esp + 0x14c]
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov esi, eax
sub esi, edx
sub esi, 1
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
xor esi, 0xffffffff
xor edx, 0xffffffff
and esi, edx
xor esi, 0xffffffff
xor ecx, 0xffffffff
mov edx, eax
sub edx, esi
sub edx, 1
or ecx, edx
xor ecx, 0xffffffff
mov edx, dword [esp + 0x14c]
add edx, 0xb802f860
mov esi, eax
sub esi, 0xb802f860
sub esi, 1
mov edi, dword [esp + 0x14c]
xor edi, 0xffffffff
and esi, 0xffffffff
and edi, 0xb802f860
or esi, edi
mov edi, dword [esp + 0x14c]
add edi, 0xffffffff
mov ebp, dword [esp + 0x14c]
add ebp, 0xffffffff
mov ebx, dword [esp + 0x14c]
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
mov ebx, dword [esp + 0x14c]
xor ebx, 0xffffffff
or ebp, ebx
mov ebx, eax
sub ebx, ebp
sub ebx, 1
sub edi, ebx
sub edi, ebx
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, esi
add edi, 0xffffffff
mov ebx, eax
sub ebx, esi
sub ebx, 1
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
xor ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
sub edx, edi
sub edx, edi
cmp ecx, edx
je 0x100306eb
xor eax, eax
mov ecx, 0xffffffff
mov edx, ecx
add edx, 0xb1e52684
mov esi, eax
sub esi, 0xb1e52684
sub esi, 1
mov edi, ecx
xor edi, 0xffffffff
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
sub edx, edi
sub edx, edi
mov esi, eax
sub esi, 0xb1e52685
sub esi, 1
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, eax
sub esi, edx
sub esi, 1
mov edx, eax
sub edx, esi
sub edx, 1
mov esi, ecx
add esi, 0xb1e52684
mov edi, ecx
and edi, 0xb1e52684
mov ebx, eax
sub ebx, edi
sub ebx, 1
mov edi, ecx
add edi, 0xb1e52684
mov ebp, ecx
and ebp, 0xb1e52684
sub edi, ebp
sub edi, ebp
mov ebp, ecx
xor ebp, 0xffffffff
and edi, ebp
xor edi, 0xffffffff
and ebx, edi
mov edi, ecx
add edi, 0xffffffff
mov ebp, ecx
xor ebp, 0xffffffff
mov dword [esp + 0x148], eax
mov eax, ecx
xor eax, 0xffffffff
or ebp, eax
mov eax, dword [esp + 0x148]
sub eax, ebp
sub eax, 1
sub edi, eax
sub edi, eax
xor ebx, 0xffffffff
xor edi, 0xffffffff
and ebx, edi
xor ebx, 0xffffffff
mov eax, dword [esp + 0x148]
sub eax, ebx
sub eax, 1
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x148]
sub eax, 0xb1e52685
sub eax, 1
mov edi, esi
or edi, 0xffffffff
and esi, 0xffffffff
mov ebx, dword [esp + 0x148]
sub ebx, esi
sub ebx, 1
and edi, ebx
mov esi, eax
and esi, 0xffffffff
mov ebx, dword [esp + 0x148]
sub ebx, esi
sub ebx, 1
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
add esi, 1
sub esi, 1
mov eax, dword [esp + 0x148]
sub eax, 0xffffffff
sub eax, 1
and esi, eax
xor esi, 0xffffffff
add esi, 1
sub esi, 1
and ebx, esi
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov eax, dword [esp + 0x148]
sub eax, edi
sub eax, 1
mov esi, eax
add esi, 0xffffffff
mov edi, eax
add edi, 0xffffffff
xor eax, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or eax, ebx
mov ebx, dword [esp + 0x148]
sub ebx, eax
sub ebx, 1
sub edi, ebx
sub edi, ebx
mov eax, ecx
add eax, 0xffffffff
mov ebx, ecx
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov eax, dword [esp + 0x148]
sub eax, edi
sub eax, 1
sub esi, eax
sub esi, eax
mov eax, edx
add eax, 0xffffffff
mov edi, edx
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov edi, dword [esp + 0x148]
sub edi, 0xffffffff
sub edi, 1
and eax, 0xffffffff
and edx, edi
or eax, edx
mov edx, esi
add edx, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
xor ecx, 0xffffffff
or edi, ecx
xor edi, 0xffffffff
sub edx, edi
sub edx, edi
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, dword [esp + 0x148]
sub edx, 0xffffffff
sub edx, 1
and ecx, 0xffffffff
and eax, edx
or ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x1a8]
add eax, ecx
mov ecx, dword [esp + 0x2dc]
cmp eax, ecx
mov dword [esp + 0x1ac], eax
jb 0x1002fa09
mov eax, 3
mov dword [0x10084960], 0
mov dword [esp + 0x4bc], eax
jmp 0x100322a1
xor eax, eax
mov ecx, dword [esp + 0x1a4]
mov dword [0x10084960], ecx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x2e0]
movzx edx, word [ecx + eax*2]
mov esi, dword [esp + 0x3d8]
mov edi, dword [esp + 0x2e8]
add esi, dword [edi + edx*4]
cmp esi, 0
mov dword [esp + 0x140], eax
mov dword [esp + 0x13c], esi
je 0x1003178b
mov eax, 1
xor ecx, ecx
mov edx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x2e4]
mov edi, dword [esp + 0x140]
add edx, dword [esi + edi*4]
mov ebx, ecx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], eax
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x130]
xor esi, esi
mov dword [esp + 0x128], eax
mov dword [esp + 0x124], ecx
mov dword [esp + 0x120], edx
mov dword [esp + 0x11c], esi
mov eax, dword [esp + 0x11c]
xor ecx, ecx
mov edx, 0xffffffff
mov esi, dword [esp + 0x134]
mov bl, byte [esi + eax]
mov edi, ecx
sub edi, 0x77745114
sub edi, 1
mov ebp, edx
or ebp, 0x77745115
mov esi, edx
xor esi, 0x77745115
mov dword [esp + 0x118], eax
mov eax, ecx
sub eax, 0xffffffff
sub eax, 1
or esi, eax
and ebp, esi
xor edi, 0xffffffff
xor ebp, 0xffffffff
and edi, ebp
xor edi, 0xffffffff
mov eax, edi
add eax, 0xffffffff
mov esi, ecx
sub esi, edi
sub esi, 1
mov edi, ecx
sub edi, 0xffffffff
sub edi, 1
or esi, edi
xor esi, 0xffffffff
sub eax, esi
sub eax, esi
mov esi, eax
xor esi, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
xor eax, 0xffffffff
mov edi, ecx
sub edi, 0xffffffff
sub edi, 1
or eax, edi
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
sub esi, edi
mov eax, edx
xor eax, 0x77745114
mov edi, edx
xor edi, 0xffffffff
and eax, edi
xor eax, 0xffffffff
mov edi, ecx
sub edi, 0x77745114
sub edi, 1
mov ebp, edx
add ebp, 0xffffffff
mov dword [esp + 0x114], eax
mov eax, edx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or edi, ebp
xor edi, 0xffffffff
mov eax, dword [esp + 0x114]
sub eax, edi
mov edi, edx
add edi, 0x77745115
mov ebp, edx
add ebp, 0x77745115
mov dword [esp + 0x110], eax
mov eax, ecx
sub eax, 0x77745115
sub eax, 1
mov dword [esp + 0x10c], eax
mov eax, edx
xor eax, 0xffffffff
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x108]
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
sub ebp, eax
sub ebp, eax
mov eax, edx
and eax, 0xffffffff
xor eax, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x100], eax
mov eax, edx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, edx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
and ecx, eax
mov eax, dword [esp + 0x104]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x100]
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, edx
xor ecx, 0xffffffff
or ebp, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
sub eax, ecx
sub eax, ecx
sub edi, eax
sub edi, eax
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x110]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x104]
sub ecx, edi
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
mov eax, edx
xor eax, 0xffffffff
or edi, eax
mov eax, dword [esp + 0x104]
sub eax, edi
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x104]
sub eax, ecx
sub eax, 1
mov edi, edx
add edi, 0xffffffff
mov ebp, edx
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
or eax, edi
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
mov eax, edi
add eax, 0xffffffff
mov ebp, dword [esp + 0x104]
sub ebp, edi
sub ebp, 1
mov edi, edx
add edi, 0xffffffff
mov dword [esp + 0xfc], eax
mov eax, edx
and eax, 0xffffffff
sub edi, eax
sub edi, eax
or ebp, edi
mov eax, dword [esp + 0x104]
sub eax, ebp
sub eax, 1
mov edi, dword [esp + 0xfc]
sub edi, eax
sub edi, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, dword [esp + 0x104]
sub ecx, 0xffffffff
sub ecx, 1
mov ebp, dword [esp + 0x104]
sub ebp, eax
sub ebp, 1
mov eax, dword [esp + 0x104]
sub eax, ecx
sub eax, 1
or ebp, eax
mov eax, dword [esp + 0x104]
sub eax, ebp
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov ebp, dword [esp + 0x104]
sub ebp, eax
sub ebp, 1
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
or ebp, eax
xor ebp, 0xffffffff
add ebp, 1
sub ebp, 1
sub ecx, ebp
sub ecx, ebp
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x104]
sub eax, edi
sub eax, 1
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x104]
sub ecx, esi
sub ecx, 1
mov edx, dword [esp + 0x104]
sub edx, eax
sub edx, 1
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, dword [esp + 0x104]
sub edx, 0xffffffff
sub edx, 1
add edx, 1
sub edx, 1
or ecx, edx
xor ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x118]
add ecx, eax
cmp bl, 0
mov dword [esp + 0x11c], ecx
jne 0x100307ab
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x128]
cmp eax, ecx
je 0x100312e1
xor eax, eax
mov ecx, 0xffffffff
mov dl, 0xff
xor ebx, ebx
mov dh, bl
mov ebx, eax
sub ebx, 0xa00545fe
sub ebx, 1
add ebx, 1
sub ebx, 1
mov esi, eax
sub esi, 0xa00545ff
sub esi, 1
mov edi, eax
sub edi, ebx
sub edi, 1
mov ebx, eax
sub ebx, 0xa00545ff
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, edi
or ebx, 0xffffffff
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
or ebp, edi
and ebx, ebp
mov edi, eax
sub edi, 0xa00545fe
sub edi, 1
mov ebp, eax
sub ebp, esi
sub ebp, 1
xor edi, 0xffffffff
xor ebp, 0xffffffff
and edi, ebp
xor edi, 0xffffffff
mov esi, edi
or esi, 0xffffffff
and edi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
mov edi, ebx
or edi, 0xffffffff
and ebx, 0xffffffff
sub edi, ebx
mov ebx, esi
and ebx, 0xffffffff
xor ebx, 0xffffffff
xor esi, 0xffffffff
mov ebp, ecx
add ebp, 0xffffffff
mov dword [esp + 0xf8], eax
mov eax, ecx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and esi, ebp
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
and ebx, eax
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
xor ebx, 0xffffffff
or eax, ebx
xor eax, 0xffffffff
mov esi, eax
add esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0x128]
add eax, esi
mov esi, dword [esp + 0x134]
mov edi, dword [esp + 0x128]
mov bl, byte [esi + edi]
mov bh, dl
add bh, 0x40
mov dword [esp + 0xf4], eax
mov al, dl
add al, 0x40
mov ah, dl
add ah, 0x40
mov byte [esp + 0xf3], al
mov al, dl
and al, 0x40
sub ah, al
sub ah, al
mov al, dl
xor al, 0xff
or ah, al
mov al, dh
sub al, ah
sub al, 1
mov ah, byte [esp + 0xf3]
sub ah, al
sub ah, al
add ah, 1
sub ah, 1
mov al, dh
sub al, 0xff
sub al, 1
mov byte [esp + 0xf2], al
mov al, ah
or al, 0xff
xor ah, 0xff
mov byte [esp + 0xf1], al
mov al, dh
sub al, 0xff
sub al, 1
or ah, al
mov al, byte [esp + 0xf1]
and al, ah
mov ah, dh
mov byte [esp + 0xf0], al
mov al, byte [esp + 0xf2]
sub ah, al
sub ah, 1
add ah, 1
sub ah, 1
add ah, 1
sub ah, 1
add ah, 1
sub ah, 1
mov al, dl
xor al, 0xff
and ah, 0xff
mov byte [esp + 0xef], al
mov al, byte [esp + 0xf2]
mov dword [esp + 0xe8], ecx
mov cl, byte [esp + 0xef]
and al, cl
or ah, al
mov al, dh
mov cl, byte [esp + 0xf0]
sub al, cl
sub al, 1
add al, 1
sub al, 1
add al, 1
sub al, 1
mov cl, dh
sub cl, ah
sub cl, 1
or al, cl
mov cl, dh
sub cl, al
sub cl, 1
mov al, cl
add al, 0xff
mov ah, cl
and ah, 0xff
sub al, ah
sub al, ah
mov ah, dl
xor ah, 0xff
add ah, 1
sub ah, 1
and al, 0xff
and cl, ah
or al, cl
mov cl, al
add cl, 0xff
mov ah, dh
sub ah, al
sub ah, 1
mov al, dl
add al, 0xff
mov ch, dl
add ch, 0xff
mov byte [esp + 0xe7], al
mov al, dl
and al, 0xff
sub ch, al
sub ch, al
mov al, dl
xor al, 0xff
or ch, al
xor ch, 0xff
mov al, byte [esp + 0xe7]
sub al, ch
sub al, ch
xor ah, 0xff
xor al, 0xff
and ah, al
xor ah, 0xff
mov al, dh
sub al, ah
sub al, 1
sub cl, al
sub cl, al
sub bh, cl
sub bh, cl
mov al, bl
add al, bh
mov cl, dl
add cl, 0xe6
mov ah, dl
and ah, 0xe6
mov ch, dh
sub ch, ah
sub ch, 1
mov ah, dh
sub ah, 0xe6
sub ah, 1
mov bh, dh
sub bh, 0xff
sub bh, 1
and ah, bh
mov bh, dh
sub bh, ah
sub bh, 1
and ch, bh
add ch, 1
sub ch, 1
mov ah, dh
sub ah, 0xff
sub ah, 1
xor ch, 0xff
xor ah, 0xff
and ch, ah
xor ch, 0xff
mov ah, ch
or ah, 0xff
xor ch, 0xff
mov bh, dh
sub bh, 0xff
sub bh, 1
or ch, bh
and ah, ch
sub cl, ah
sub cl, ah
add cl, 1
mov ah, dl
or ah, 0xc
mov ch, dl
xor ch, 0xc
mov bh, dh
sub bh, 0xff
sub bh, 1
or ch, bh
and ah, ch
mov ch, dl
or ch, 0x2c
mov bh, dl
and bh, 0x2c
mov byte [esp + 0xe6], al
mov al, dh
sub al, bh
sub al, 1
and ch, al
xor ah, 0xff
mov al, dh
sub al, ch
sub al, 1
or ah, al
mov al, dh
sub al, ah
sub al, 1
mov ah, al
or ah, 0xff
mov ch, dh
sub ch, al
sub ch, 1
mov al, dh
sub al, 0xff
sub al, 1
or ch, al
and ah, ch
mov al, dh
sub al, 0xc
sub al, 1
mov ch, dh
sub ch, 0x2c
sub ch, 1
xor al, 0xff
xor ch, 0xff
and al, ch
xor al, 0xff
mov ch, dh
sub ch, al
sub ch, 1
mov al, ch
add al, 0xff
sub dh, ch
sub dh, 1
mov ch, dl
add ch, 0xff
mov bh, dl
xor bh, 0xff
mov byte [esp + 0xe5], al
mov al, dl
add al, 0xff
mov byte [esp + 0xe4], al
mov al, dl
and al, 0xff
mov byte [esp + 0xe3], al
mov al, byte [esp + 0xe4]
mov byte [esp + 0xe2], cl
mov cl, byte [esp + 0xe3]
sub al, cl
sub al, cl
or bh, al
mov al, bh
add al, 0xff
and bh, 0xff
sub al, bh
sub al, bh
sub ch, al
sub ch, al
xor dh, 0xff
xor ch, 0xff
and dh, ch
xor dh, 0xff
mov al, dh
add al, 0xff
mov ch, dh
add ch, 0xff
and dh, 0xff
sub ch, dh
sub ch, dh
add ch, 1
sub ch, 1
mov dh, dl
add dh, 0xff
mov bh, dl
and bh, 0xff
sub dh, bh
sub dh, bh
or ch, dh
mov dh, ch
add dh, 0xff
and ch, 0xff
sub dh, ch
sub dh, ch
sub al, dh
sub al, dh
mov ch, byte [esp + 0xe5]
sub ch, al
sub ch, al
mov al, ah
add al, 0xff
and ah, 0xff
sub al, ah
sub al, ah
mov ah, ch
add ah, 0xff
xor ch, 0xff
mov dh, dl
add dh, 0xff
and dl, 0xff
sub dh, dl
sub dh, dl
or ch, dh
xor ch, 0xff
sub ah, ch
sub ah, ch
xor al, 0xff
xor ah, 0xff
and al, ah
xor al, 0xff
mov dl, al
or dl, 0xff
and al, 0xff
sub dl, al
mov al, bl
add al, dl
mov dl, byte [esp + 0xe6]
mov ah, byte [esp + 0xe2]
cmp dl, ah
mov byte [esp + 0xe1], bl
mov byte [esp + 0xe0], al
jb 0x10030f6c
mov al, byte [esp + 0xe1]
mov byte [esp + 0xe0], al
mov al, byte [esp + 0xe0]
movsx ecx, al
mov edx, dword [esp + 0x120]
add ecx, edx
mov esi, dword [esp + 0xe8]
add esi, 0xe8afec18
mov edi, dword [esp + 0xe8]
and edi, 0xe8afec18
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0xe8]
or edi, 0xe8af13e9
mov ebx, dword [esp + 0xe8]
add ebx, 0xe8af13e9
mov ebp, dword [esp + 0xe8]
and ebp, 0xe8af13e9
sub ebx, ebp
sub ebx, ebp
mov ebp, dword [esp + 0xe8]
add ebp, 0xffffffff
mov eax, dword [esp + 0xe8]
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or ebx, ebp
and edi, ebx
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
mov esi, dword [esp + 0xf8]
sub esi, edi
sub esi, 1
or eax, esi
xor eax, 0xffffffff
mov esi, eax
add esi, 0xffffffff
mov edi, eax
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 0xe8]
add edi, 0xffffffff
mov ebx, dword [esp + 0xe8]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
and esi, 0xffffffff
and eax, edi
or esi, eax
mov eax, dword [esp + 0xf8]
sub eax, 0xe8afec18
sub eax, 1
mov edi, dword [esp + 0xe8]
add edi, 0xe8af13e9
mov ebx, dword [esp + 0xe8]
add ebx, 0xe8af13e9
mov ebp, dword [esp + 0xe8]
and ebp, 0xe8af13e9
sub ebx, ebp
sub ebx, ebp
mov ebp, dword [esp + 0xf8]
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
xor ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
xor eax, 0xffffffff
xor edi, 0xffffffff
and eax, edi
xor eax, 0xffffffff
mov edi, dword [esp + 0xf8]
sub edi, eax
sub edi, 1
mov eax, dword [esp + 0xf8]
sub eax, edi
sub eax, 1
mov edi, esi
add edi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
mov esi, dword [esp + 0xe8]
xor esi, 0xffffffff
add esi, 1
sub esi, 1
or ebx, esi
xor ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
mov esi, eax
add esi, 0xffffffff
mov ebx, dword [esp + 0xf8]
sub ebx, eax
sub ebx, 1
mov eax, dword [esp + 0xf8]
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
sub esi, eax
sub esi, eax
xor edi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
xor edi, 0xffffffff
mov eax, dword [esp + 0xf8]
sub eax, edi
sub eax, 1
mov dword [esp + 0xdc], eax
mov eax, ecx
xor edx, edx
mov ecx, dword [esp + 0xdc]
div ecx
mov esi, edx
mov edi, dword [esp + 0x124]
add esi, edi
mov ebx, dword [esp + 0xe8]
xor ebx, 0xd21f1caa
mov ebp, dword [esp + 0xe8]
add ebp, 0xffffffff
mov ecx, dword [esp + 0xe8]
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
add ebp, 1
sub ebp, 1
add ebp, 1
sub ebp, 1
add ebp, 1
sub ebp, 1
and ebx, 0xffffffff
and ebp, 0xd21f1caa
or ebx, ebp
mov ecx, dword [esp + 0xe8]
or ecx, 0xd21fe35b
mov ebp, dword [esp + 0xe8]
and ebp, 0xd21fe35b
sub ecx, ebp
mov ebp, dword [esp + 0xf8]
sub ebp, ebx
sub ebp, 1
add ebp, 1
sub ebp, 1
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
or ebp, ecx
mov ecx, dword [esp + 0xf8]
sub ecx, ebp
sub ecx, 1
mov ebx, ecx
and ebx, 0xffffffff
xor ebx, 0xffffffff
xor ecx, 0xffffffff
mov ebp, dword [esp + 0xf8]
sub ebp, 0xffffffff
sub ebp, 1
and ecx, ebp
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
and ebx, ecx
mov ecx, dword [esp + 0xe8]
or ecx, 0xd21f1caa
mov ebp, dword [esp + 0xe8]
and ebp, 0xd21f1caa
sub ecx, ebp
mov ebp, dword [esp + 0xf8]
sub ebp, 0xd21fe35b
sub ebp, 1
xor ecx, 0xffffffff
xor ebp, 0xffffffff
and ecx, ebp
xor ecx, 0xffffffff
mov ebp, dword [esp + 0xf8]
sub ebp, ecx
sub ebp, 1
mov ecx, dword [esp + 0xf8]
sub ecx, ebp
sub ecx, 1
mov ebp, dword [esp + 0xf8]
sub ebp, ebx
sub ebp, 1
mov ebx, dword [esp + 0xf8]
sub ebx, ecx
sub ebx, 1
add ebx, 1
sub ebx, 1
xor ebp, 0xffffffff
xor ebx, 0xffffffff
and ebp, ebx
xor ebp, 0xffffffff
mov ecx, ebp
add ecx, 0xffffffff
mov ebx, dword [esp + 0xf8]
sub ebx, ebp
sub ebx, 1
mov ebp, dword [esp + 0xe8]
add ebp, 0xffffffff
mov edi, dword [esp + 0xe8]
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
or ebx, ebp
mov edi, dword [esp + 0xf8]
sub edi, ebx
sub edi, 1
sub ecx, edi
sub ecx, edi
mov eax, esi
xor esi, esi
mov dword [esp + 0xd8], edx
mov edx, esi
div ecx
mov ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], edx
mov dword [esp + 0x12c], esi
jmp 0x10030778
xor eax, eax
mov ecx, 0xffffffff
mov edx, ecx
add edx, 0xfffffff0
mov esi, ecx
add esi, 0xfffffff0
mov edi, eax
sub edi, 0xfffffff0
sub edi, 1
mov ebx, ecx
xor ebx, 0xffffffff
or edi, ebx
mov ebx, eax
sub ebx, edi
sub ebx, 1
sub esi, ebx
sub esi, ebx
mov edi, ecx
or edi, 0xffffffff
mov ebx, ecx
and ebx, 0xffffffff
sub edi, ebx
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, esi
or edi, 0xffffffff
and esi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
and edi, ebx
sub edx, edi
sub edx, edi
add edx, 1
mov dword [esp + 0xd4], ecx
mov ecx, edx
mov edx, dword [esp + 0x124]
shl edx, cl
mov esi, edx
xor esi, 0xffffffff
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
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, ebx
add edx, 0xffffffff
and ebx, 0xffffffff
sub edx, ebx
sub edx, ebx
sub edi, edx
sub edi, edx
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
mov ebx, eax
sub ebx, edi
sub ebx, 1
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
add edi, 1
sub edi, 1
or ebx, edi
xor ebx, 0xffffffff
mov edx, eax
sub edx, ebx
sub edx, 1
mov edi, dword [esp + 0xd4]
add edi, 0xffffffff
mov ebp, dword [esp + 0xd4]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
and edx, 0xffffffff
and ebx, edi
or edx, ebx
mov edi, eax
sub edi, esi
sub edi, 1
xor edx, 0xffffffff
or edi, edx
xor edi, 0xffffffff
mov edx, dword [esp + 0x120]
xor edx, 0xffffffff
mov esi, dword [esp + 0xd4]
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, dword [esp + 0x120]
xor esi, 0xffffffff
mov ebx, dword [esp + 0xd4]
add ebx, 0xffffffff
mov ebp, dword [esp + 0xd4]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or esi, ebx
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
sub edx, ebx
mov esi, edi
add esi, 0xffffffff
xor edi, 0xffffffff
add edi, 1
sub edi, 1
mov ebx, dword [esp + 0xd4]
xor ebx, 0xffffffff
or edi, ebx
mov ebx, eax
sub ebx, edi
sub ebx, 1
sub esi, ebx
sub esi, ebx
mov edi, edx
or edi, 0xffffffff
and edx, 0xffffffff
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
and edi, ebx
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edx, esi
add edx, 0xffffffff
mov edi, eax
sub edi, esi
sub edi, 1
mov esi, dword [esp + 0xd4]
add esi, 0xffffffff
mov ebx, dword [esp + 0xd4]
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
or edi, esi
mov esi, eax
sub esi, edi
sub esi, 1
add esi, 1
sub esi, 1
sub edx, esi
sub edx, esi
mov esi, edx
xor esi, 0xffffffff
mov edi, dword [esp + 0xd4]
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
mov edx, dword [esp + 0xd4]
xor edx, 0xffffffff
or edi, edx
mov edx, eax
sub edx, edi
sub edx, 1
mov edi, eax
sub edi, edx
sub edi, 1
xor esi, 0xffffffff
mov edx, edi
add edx, 0xffffffff
and edi, 0xffffffff
sub edx, edi
sub edx, edi
or esi, edx
mov edx, esi
add edx, 0xffffffff
and esi, 0xffffffff
sub edx, esi
sub edx, esi
mov esi, dword [esp + 0xd4]
add esi, 0x56d9ca32
mov edi, dword [esp + 0xd4]
and edi, 0x56d9ca32
mov ebx, eax
sub ebx, edi
sub ebx, 1
add ebx, 1
sub ebx, 1
mov edi, eax
sub edi, 0x56d9ca32
sub edi, 1
mov ebp, dword [esp + 0xd4]
xor ebp, 0xffffffff
and edi, ebp
mov ebp, eax
sub ebp, edi
sub ebp, 1
add ebp, 1
sub ebp, 1
and ebx, ebp
mov edi, dword [esp + 0xd4]
and edi, 0xffffffff
mov ebp, eax
sub ebp, edi
sub ebp, 1
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
mov ecx, dword [esp + 0xd4]
add ecx, 0xffffffff
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd4]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
and edi, ecx
mov eax, dword [esp + 0xd0]
sub eax, edi
sub eax, 1
add eax, 1
sub eax, 1
and ebp, eax
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov eax, ebx
or eax, 0xffffffff
and ebx, 0xffffffff
mov ecx, dword [esp + 0xd0]
sub ecx, ebx
sub ecx, 1
and eax, ecx
sub esi, eax
sub esi, eax
mov eax, dword [esp + 0xd4]
xor eax, 0x101dcd46
mov ecx, dword [esp + 0xd4]
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0xd0]
sub ecx, 0x101dcd46
sub ecx, 1
mov edi, dword [esp + 0xd4]
xor edi, 0xffffffff
or ecx, edi
mov edi, dword [esp + 0xd0]
sub edi, ecx
sub edi, 1
sub eax, edi
mov ecx, esi
add ecx, 0xffffffff
mov edi, dword [esp + 0xd0]
sub edi, esi
sub edi, 1
mov esi, dword [esp + 0xd4]
xor esi, 0xffffffff
or edi, esi
mov esi, dword [esp + 0xd0]
sub esi, edi
sub esi, 1
sub ecx, esi
sub ecx, esi
mov esi, dword [esp + 0xd4]
xor esi, 0x101dcd46
mov edi, dword [esp + 0xd0]
sub edi, 0xffffffff
sub edi, 1
add edi, 1
sub edi, 1
and esi, 0xffffffff
and edi, 0x101dcd46
or esi, edi
xor ecx, 0xffffffff
xor esi, 0xffffffff
and ecx, esi
xor ecx, 0xffffffff
mov esi, ecx
add esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
sub esi, ecx
add esi, 1
sub esi, 1
mov ecx, dword [esp + 0xd4]
or ecx, 0x56d9ca32
mov edi, dword [esp + 0xd4]
and edi, 0x56d9ca32
sub ecx, edi
mov edi, dword [esp + 0xd0]
sub edi, eax
sub edi, 1
xor ecx, 0xffffffff
xor edi, 0xffffffff
and ecx, edi
xor ecx, 0xffffffff
mov eax, dword [esp + 0xd0]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xd0]
sub ecx, esi
sub ecx, 1
mov edi, dword [esp + 0xd0]
sub edi, 0xffffffff
sub edi, 1
add edi, 1
sub edi, 1
and ecx, 0xffffffff
and esi, edi
or ecx, esi
mov esi, eax
or esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
xor esi, 0xffffffff
or eax, esi
mov ecx, dword [esp + 0xd0]
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
mov esi, dword [esp + 0xd0]
sub esi, ecx
sub esi, 1
mov ecx, dword [esp + 0xd0]
sub ecx, 0xffffffff
sub ecx, 1
or esi, ecx
and eax, esi
cmp edx, eax
je 0x100317ca
xor eax, eax
sub eax, 0xffffffff
mov ecx, dword [esp + 0x140]
add ecx, eax
mov eax, dword [esp + 0x2dc]
cmp ecx, eax
mov dword [esp + 0x144], ecx
jb 0x10030701
mov eax, 3
mov dword [0x1008495c], 0
mov dword [esp + 0x4bc], eax
jmp 0x100322a1
xor eax, eax
mov ecx, dword [esp + 0x13c]
mov dword [0x1008495c], ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xcc]
xor ecx, ecx
mov edx, 0xffffffff
xor ebx, ebx
mov bh, 0xff
mov esi, dword [esp + 0x1a4]
add esi, eax
mov edi, dword [esp + 0x1a4]
mov dword [esp + 0xc8], eax
mov al, byte [edi + eax]
mov ah, bh
or ah, 0x35
mov byte [esp + 0xc7], al
mov al, bh
and al, 0x35
sub ah, al
mov al, bh
or al, 0xdd
mov byte [esp + 0xc6], al
mov al, bh
and al, 0xdd
mov byte [esp + 0xc5], al
add al, 0xff
mov byte [esp + 0xc4], al
mov al, byte [esp + 0xc5]
and al, 0xff
mov byte [esp + 0xc3], al
mov al, byte [esp + 0xc4]
mov dword [esp + 0xbc], ecx
mov cl, byte [esp + 0xc3]
sub al, cl
sub al, cl
mov ch, byte [esp + 0xc6]
and ch, al
mov al, ah
add al, 0xff
and ah, 0xff
sub al, ah
sub al, ah
xor ch, 0xff
or al, ch
mov ah, al
add ah, 0xff
and al, 0xff
sub ah, al
sub ah, al
mov al, ah
add al, 0xff
and ah, 0xff
sub al, ah
sub al, ah
mov ah, bl
sub ah, 0x35
sub ah, 1
add ah, 1
sub ah, 1
mov ch, bh
or ch, 0xdd
mov cl, bh
and cl, 0xdd
sub ch, cl
xor ah, 0xff
xor ch, 0xff
and ah, ch
xor ah, 0xff
mov cl, bl
sub cl, ah
sub cl, 1
mov ah, cl
xor ah, 0xff
mov ch, bh
xor ch, 0xff
and ah, ch
xor ah, 0xff
mov ch, bl
sub ch, cl
sub ch, 1
mov cl, bl
sub cl, 0xff
sub cl, 1
add cl, 1
sub cl, 1
xor ch, 0xff
xor cl, 0xff
and ch, cl
xor ch, 0xff
mov cl, bl
sub cl, ah
sub cl, 1
mov ah, bl
sub ah, ch
sub ah, 1
or cl, ah
xor cl, 0xff
add cl, 1
sub cl, 1
mov ah, al
add ah, 0xff
mov ch, bl
sub ch, al
sub ch, 1
add ch, 1
sub ch, 1
xor bh, 0xff
or ch, bh
mov al, bl
sub al, ch
sub al, 1
sub ah, al
sub ah, al
mov al, bl
sub al, cl
sub al, 1
xor ah, 0xff
xor al, 0xff
and ah, al
xor ah, 0xff
sub bl, ah
sub bl, 1
add bl, 1
sub bl, 1
mov ebp, edx
add ebp, 0xfffffffe
mov edi, dword [esp + 0xbc]
sub edi, 0xfffffffe
sub edi, 1
mov eax, edx
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xbc]
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0xb4], eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0xb0], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xac]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xb4]
or ecx, eax
mov eax, dword [esp + 0xbc]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xa8]
sub ecx, eax
sub ecx, eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0xa4], eax
mov eax, edx
xor eax, 0xffffffff
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
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, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0xa4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x98]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0xb8]
add eax, 0xffffffff
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xb8]
and eax, 0xffffffff
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x90]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x8c]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x88]
or eax, ecx
mov ecx, dword [esp + 0xbc]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov edi, ecx
or edi, 0xffffffff
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xbc]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xbc]
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
and edi, eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x84]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xbc]
sub ecx, edi
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
and eax, 0xffffffff
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
and eax, ecx
mov ecx, dword [esp + 0xbc]
sub ecx, eax
sub ecx, 1
and edi, ecx
mov eax, dword [esp + 0xbc]
sub eax, edi
sub eax, 1
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
mov eax, dword [esp + 0xc8]
add eax, ebp
mov bh, byte [esp + 0xc7]
cmp bh, bl
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], eax
jne 0x10031e2a
xor eax, eax
mov ecx, 0xffffffff
mov edx, dword [esp + 0x1a4]
mov esi, dword [esp + 0x7c]
mov edi, dword [edx + esi]
mov ebx, ecx
or ebx, 0x58f3f8eb
mov ebp, ecx
and ebp, 0x58f3f8eb
sub ebx, ebp
mov ebp, ecx
or ebp, 0x58f3f8ee
mov edx, ecx
xor edx, 0x58f3f8ee
mov esi, ecx
add esi, 0xffffffff
mov dword [esp + 0x78], eax
mov eax, ecx
and eax, 0xffffffff
sub esi, eax
sub esi, eax
or edx, esi
and ebp, edx
xor ebx, 0xffffffff
xor ebp, 0xffffffff
or ebx, ebp
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov edx, eax
and edx, 0xffffffff
mov esi, dword [esp + 0x78]
sub esi, edx
sub esi, 1
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
add edx, 1
sub edx, 1
and eax, edx
xor eax, 0xffffffff
and esi, eax
mov eax, ecx
xor eax, 0x58f3f8eb
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, dword [esp + 0x78]
sub edx, 0x58f3f8eb
sub edx, 1
mov ebx, dword [esp + 0x78]
sub ebx, 0xffffffff
sub ebx, 1
or edx, ebx
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
mov edx, ebx
or edx, 0xffffffff
mov ebp, dword [esp + 0x78]
sub ebp, ebx
sub ebp, 1
mov ebx, dword [esp + 0x78]
sub ebx, 0xffffffff
sub ebx, 1
or ebp, ebx
and edx, ebp
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x78]
sub eax, edx
sub eax, 1
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov edx, ecx
xor edx, 0x58f3f8ee
mov ebx, ecx
xor ebx, 0xffffffff
and edx, ebx
xor edx, 0xffffffff
mov ebx, ecx
add ebx, 0x58f3f8ee
mov ebp, dword [esp + 0x78]
sub ebp, 0x58f3f8ee
sub ebp, 1
mov dword [esp + 0x74], eax
mov eax, ecx
xor eax, 0xffffffff
or ebp, eax
xor ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
mov eax, dword [esp + 0x78]
sub eax, 0xffffffff
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x78]
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x78]
sub edx, ebx
sub edx, 1
or eax, edx
mov edx, dword [esp + 0x78]
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x74]
add eax, 0xffffffff
mov ebx, dword [esp + 0x74]
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, ecx
xor ebx, 0xffffffff
and eax, 0xffffffff
mov ebp, dword [esp + 0x74]
and ebp, ebx
or eax, ebp
mov ebx, edx
xor ebx, 0xffffffff
mov ebp, dword [esp + 0x78]
sub ebp, 0xffffffff
sub ebp, 1
and ebx, 0xffffffff
and edx, ebp
or ebx, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x78]
sub eax, ebx
sub eax, 1
or edx, eax
mov eax, dword [esp + 0x78]
sub eax, edx
sub eax, 1
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x78]
sub eax, esi
sub eax, 1
add eax, 1
sub eax, 1
mov esi, edx
add esi, 0xffffffff
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
add ebx, 1
sub ebx, 1
xor ecx, 0xffffffff
or ebx, ecx
mov ecx, dword [esp + 0x78]
sub ecx, ebx
sub ecx, 1
sub esi, ecx
sub esi, ecx
xor eax, 0xffffffff
xor esi, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov ecx, dword [esp + 0x78]
sub ecx, eax
sub ecx, 1
mov edx, dword [esp + 0x78]
sub edx, 0xffffffff
sub edx, 1
and ecx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x80]
add eax, ecx
add eax, edi
mov ecx, dword [esp + 0x2d0]
cmp eax, ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x70], eax
je 0x10032030
xor eax, eax
mov ecx, 0xffffffff
mov edx, ecx
and edx, 0xc28ba1f8
mov esi, eax
sub esi, edx
sub esi, 1
mov edx, ecx
add edx, 0xc28ba1f8
mov edi, ecx
and edi, 0xc28ba1f8
sub edx, edi
sub edx, edi
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
and edx, edi
xor edx, 0xffffffff
and esi, edx
mov edx, ecx
and edx, 0xc28ba178
xor edx, 0xffffffff
mov edi, eax
sub edi, 0xc28ba178
sub edi, 1
mov ebx, ecx
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
and edi, ebx
mov ebx, eax
sub ebx, edi
sub ebx, 1
and edx, ebx
xor esi, 0xffffffff
mov edi, eax
sub edi, edx
sub edi, 1
or esi, edi
xor esi, 0xffffffff
mov edx, esi
add edx, 0xffffffff
mov edi, esi
and edi, 0xffffffff
sub edx, edi
sub edx, edi
mov edi, ecx
xor edi, 0xffffffff
and edx, 0xffffffff
and esi, edi
or edx, esi
mov esi, ecx
and esi, 0xc28ba1f8
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, ecx
xor esi, 0xc28ba1f8
mov ebx, ecx
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
and edi, esi
mov esi, ecx
add esi, 0xc28ba178
mov ebx, eax
sub ebx, 0xc28ba178
sub ebx, 1
mov ebp, ecx
add ebp, 0xffffffff
mov dword [esp + 0x6c], eax
mov eax, ecx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or ebx, ebp
xor ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
xor edi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
xor edi, 0xffffffff
mov eax, edi
add eax, 0xffffffff
mov esi, edi
add esi, 0xffffffff
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, ecx
xor edi, 0xffffffff
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
sub eax, edi
sub eax, edi
mov esi, eax
add esi, 0xffffffff
mov edi, eax
or edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
mov eax, ecx
add eax, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
mov ebp, dword [esp + 0x6c]
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, dword [esp + 0x6c]
sub eax, edi
sub eax, 1
sub esi, eax
sub esi, eax
mov eax, edx
add eax, 0xffffffff
xor edx, 0xffffffff
mov edi, ecx
xor edi, 0xffffffff
or edx, edi
xor edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, esi
or edx, 0xffffffff
and esi, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
and edx, edi
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
add edx, 0xffffffff
mov esi, dword [esp + 0x6c]
sub esi, eax
sub esi, 1
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
or esi, eax
mov eax, dword [esp + 0x6c]
sub eax, esi
sub eax, 1
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x7c]
cmp eax, edx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x70], ecx
jb 0x100317e0
mov eax, dword [esp + 0x70]
mov ecx, 1
cmp eax, 0
mov dword [esp + 0x68], eax
mov dword [esp + 0x4bc], ecx
je 0x100322a1
mov eax, 0xffffffff
xor ecx, ecx
mov edx, 0x1c
lea esi, [esp + 0x6e8]
lea edi, [esp + 0x6cc]
mov ebx, esi
mov dword [esp + 0x6e8], 0
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1c
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], edi
call fcn.10067cb0
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0x1c
mov esi, dword [esp + 0x58]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x210]
call edi
sub esp, 0x18
mov ecx, 5
cmp eax, 0
mov dword [esp + 0x4c], ecx
jne 0x1003226f
mov eax, 0xffffffff
lea ecx, [esp + 0x6c4]
mov edx, 0x40
lea esi, [esp + 0x6c8]
lea edi, [esp + 0x6cc]
mov ebx, esi
mov ebp, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x6cc]
mov dword [esp + 0x6c4], eax
mov eax, dword [0x10084968]
add edi, 0xc
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0x40
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
call ecx
sub esp, 0x14
mov ecx, 4
cmp eax, 0
mov dword [esp + 0x30], ecx
jne 0x10032267
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + 7]
shl ecx, 0x18
not ecx
mov edx, 0x100322c0
mov esi, edx
shr esi, 0x18
not esi
and ecx, esi
not ecx
shl edx, 8
or ecx, 0xd1ff00
or edx, 0xb9
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, ecx
mov dword [esp + 0x20], edx
mov esi, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
mov ecx, esi
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
lock cmpxchg8b qword [edi]
mov ecx, dword [esp + 0x1c]
cmove eax, ecx
mov ebx, dword [esp + 0x20]
cmove edx, ebx
xor edx, ebx
xor eax, ecx
or eax, edx
mov dword [esp + 0x18], eax
jne 0x100321b0
jmp 0x100321f8
mov eax, 4
lea ecx, [0x100322c0]
mov edx, dword [esp + 0x68]
cmp dword [edx + 1], ecx
mov dword [esp + 0x30], eax
jne 0x10032267
mov eax, 0xffffffff
lea ecx, [esp + 0x6c4]
lea edx, [esp + 0x6c8]
mov esi, dword [0x10084968]
mov edi, dword [esp + 0x6c8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
call esi
sub esp, 0x14
xor ecx, ecx
mov edx, ecx
sub edx, 0xfffffffc
sub edx, 1
add edx, 1
cmp eax, 0
cmove edx, ecx
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x4bc], eax
jmp 0x100322a1
mov eax, 2
mov dword [esp + 0x4bc], eax
jmp 0x100322a1
mov eax, 2
mov dword [esp + 0x4bc], eax
jmp 0x100322a1
mov eax, dword [esp + 0x4bc]
add esp, 0x6ec
pop esi
pop edi
pop ebx
pop ebp
ret