b0fd54:	6a 00                	push   $0x0
b0fd56:	6a 00                	push   $0x0
b0fd58:	8b f1                	mov    %ecx,%esi
b0fd5a:	e8 d0 5a 90 ff       	call   0x41582f
b0fd5f:	33 d2                	xor    %edx,%edx
b0fd61:	8d 86 f0 00 00 00    	lea    0xf0(%esi),%eax
b0fd67:	87 10                	xchg   %edx,(%eax)
b0fd69:	8d 86 e8 00 00 00    	lea    0xe8(%esi),%eax
b0fd6f:	50                   	push   %eax
b0fd70:	ff 15 68 38 d8 00    	call   *0xd83868
b0fd76:	5e                   	pop    %esi
b0fd77:	8d 48 a0             	lea    -0x60(%eax),%ecx
b0fd7a:	f7 d8                	neg    %eax
b0fd7c:	1b c0                	sbb    %eax,%eax
b0fd7e:	23 c1                	and    %ecx,%eax
b0fd80:	c3                   	ret
b0fd81:	cc                   	int3
b0fd82:	cc                   	int3
b0fd83:	cc                   	int3
b0fd84:	cc                   	int3
b0fd85:	cc                   	int3
b0fd86:	cc                   	int3
b0fd87:	cc                   	int3
b0fd88:	cc                   	int3
b0fd89:	cc                   	int3
b0fd8a:	cc                   	int3
b0fd8b:	cc                   	int3
b0fd8c:	55                   	push   %ebp
b0fd8d:	8b ec                	mov    %esp,%ebp
b0fd8f:	53                   	push   %ebx
b0fd90:	56                   	push   %esi
b0fd91:	8b f1                	mov    %ecx,%esi
b0fd93:	33 db                	xor    %ebx,%ebx
b0fd95:	39 5e 04             	cmp    %ebx,0x4(%esi)
b0fd98:	75 0e                	jne    0xb0fda8
b0fd9a:	8b 4e 0c             	mov    0xc(%esi),%ecx
b0fd9d:	8d 49 68             	lea    0x68(%ecx),%ecx
b0fda0:	e8 25 9c 90 ff       	call   0x4199ca
b0fda5:	89 46 04             	mov    %eax,0x4(%esi)
b0fda8:	57                   	push   %edi
b0fda9:	8b 7e 04             	mov    0x4(%esi),%edi
b0fdac:	ff b6 98 00 00 00    	push   0x98(%esi)
b0fdb2:	ff b6 94 00 00 00    	push   0x94(%esi)
b0fdb8:	8b 07                	mov    (%edi),%eax
b0fdba:	8b 30                	mov    (%eax),%esi
b0fdbc:	8b ce                	mov    %esi,%ecx
b0fdbe:	e8 a2 c8 91 ff       	call   0x42c665
b0fdc3:	8b cf                	mov    %edi,%ecx
b0fdc5:	ff d6                	call   *%esi
b0fdc7:	5f                   	pop    %edi
b0fdc8:	85 c0                	test   %eax,%eax
b0fdca:	74 03                	je     0xb0fdcf
b0fdcc:	8d 58 fc             	lea    -0x4(%eax),%ebx
b0fdcf:	ff 75 08             	push   0x8(%ebp)
b0fdd2:	8b cb                	mov    %ebx,%ecx
b0fdd4:	e8 e5 6a 91 ff       	call   0x4268be
b0fdd9:	8d 43 04             	lea    0x4(%ebx),%eax
b0fddc:	f7 db                	neg    %ebx
b0fdde:	5e                   	pop    %esi
b0fddf:	1b db                	sbb    %ebx,%ebx
b0fde1:	23 c3                	and    %ebx,%eax
b0fde3:	5b                   	pop    %ebx
b0fde4:	5d                   	pop    %ebp
b0fde5:	c2 04 00             	ret    $0x4
b0fde8:	cc                   	int3
b0fde9:	cc                   	int3
b0fdea:	cc                   	int3
b0fdeb:	cc                   	int3
b0fdec:	cc                   	int3
b0fded:	cc                   	int3
b0fdee:	cc                   	int3
b0fdef:	cc                   	int3
b0fdf0:	cc                   	int3
b0fdf1:	cc                   	int3
b0fdf2:	cc                   	int3
b0fdf3:	cc                   	int3
b0fdf4:	cc                   	int3
b0fdf5:	cc                   	int3
b0fdf6:	cc                   	int3
b0fdf7:	cc                   	int3
b0fdf8:	cc                   	int3
b0fdf9:	cc                   	int3
b0fdfa:	cc                   	int3
b0fdfb:	cc                   	int3
b0fdfc:	cc                   	int3
b0fdfd:	cc                   	int3
b0fdfe:	cc                   	int3
b0fdff:	e8 32 ce 92 ff       	call   0x43cc36
b0fe04:	85 c0                	test   %eax,%eax
b0fe06:	74 04                	je     0xb0fe0c
b0fe08:	83 c0 08             	add    $0x8,%eax
b0fe0b:	c3                   	ret
b0fe0c:	33 c0                	xor    %eax,%eax
b0fe0e:	c3                   	ret
b0fe0f:	cc                   	int3
b0fe10:	cc                   	int3
b0fe11:	cc                   	int3
b0fe12:	cc                   	int3
b0fe13:	55                   	push   %ebp
b0fe14:	8b ec                	mov    %esp,%ebp
b0fe16:	56                   	push   %esi
b0fe17:	8b 75 08             	mov    0x8(%ebp),%esi
b0fe1a:	57                   	push   %edi
b0fe1b:	8b f9                	mov    %ecx,%edi
b0fe1d:	8b ce                	mov    %esi,%ecx
b0fe1f:	e8 67 7c 8f ff       	call   0x407a8b
b0fe24:	83 f8 02             	cmp    $0x2,%eax
b0fe27:	75 14                	jne    0xb0fe3d
b0fe29:	8b 46 24             	mov    0x24(%esi),%eax
b0fe2c:	ff 70 60             	push   0x60(%eax)
b0fe2f:	ff 15 44 35 d8 00    	call   *0xd83544
b0fe35:	32 c0                	xor    %al,%al
b0fe37:	5f                   	pop    %edi
b0fe38:	5e                   	pop    %esi
b0fe39:	5d                   	pop    %ebp
b0fe3a:	c2 04 00             	ret    $0x4
b0fe3d:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
b0fe41:	75 f2                	jne    0xb0fe35
b0fe43:	8d 46 60             	lea    0x60(%esi),%eax
b0fe46:	50                   	push   %eax
b0fe47:	8d 87 e8 00 00 00    	lea    0xe8(%edi),%eax
b0fe4d:	50                   	push   %eax
b0fe4e:	ff 15 64 38 d8 00    	call   *0xd83864
b0fe54:	33 c9                	xor    %ecx,%ecx
b0fe56:	41                   	inc    %ecx
b0fe57:	f0 0f c1 8f f0 00 00 	lock xadd %ecx,0xf0(%edi)
b0fe5e:	00
b0fe5f:	41                   	inc    %ecx
b0fe60:	83 f9 01             	cmp    $0x1,%ecx
b0fe63:	75 0c                	jne    0xb0fe71
b0fe65:	ff b7 e0 00 00 00    	push   0xe0(%edi)
b0fe6b:	ff 15 44 35 d8 00    	call   *0xd83544
b0fe71:	b0 01                	mov    $0x1,%al
b0fe73:	eb c2                	jmp    0xb0fe37
b0fe75:	cc                   	int3
b0fe76:	cc                   	int3
b0fe77:	cc                   	int3
b0fe78:	cc                   	int3
b0fe79:	cc                   	int3
b0fe7a:	cc                   	int3
b0fe7b:	cc                   	int3
b0fe7c:	cc                   	int3
b0fe7d:	cc                   	int3
b0fe7e:	cc                   	int3
b0fe7f:	cc                   	int3
b0fe80:	cc                   	int3
b0fe81:	cc                   	int3
b0fe82:	cc                   	int3
b0fe83:	cc                   	int3
b0fe84:	cc                   	int3
b0fe85:	cc                   	int3
b0fe86:	cc                   	int3
b0fe87:	cc                   	int3
b0fe88:	cc                   	int3
b0fe89:	cc                   	int3
b0fe8a:	cc                   	int3
b0fe8b:	cc                   	int3
b0fe8c:	cc                   	int3
b0fe8d:	83 79 34 00          	cmpl   $0x0,0x34(%ecx)
b0fe91:	0f 95 c0             	setne  %al
b0fe94:	c3                   	ret
b0fe95:	cc                   	int3
b0fe96:	cc                   	int3
b0fe97:	55                   	push   %ebp
b0fe98:	8b ec                	mov    %esp,%ebp
b0fe9a:	5d                   	pop    %ebp
b0fe9b:	e9 23 de 90 ff       	jmp    0x41dcc3
b0fea0:	cc                   	int3
b0fea1:	cc                   	int3
b0fea2:	56                   	push   %esi
b0fea3:	57                   	push   %edi
b0fea4:	8b f1                	mov    %ecx,%esi
b0fea6:	83 cf ff             	or     $0xffffffff,%edi
b0fea9:	f0 0f c1 be f4 00 00 	lock xadd %edi,0xf4(%esi)
b0feb0:	00
b0feb1:	4f                   	dec    %edi
b0feb2:	75 16                	jne    0xb0feca
b0feb4:	85 f6                	test   %esi,%esi
b0feb6:	74 12                	je     0xb0feca
b0feb8:	e8 61 ab 90 ff       	call   0x41aa1e
b0febd:	68 f8 00 00 00       	push   $0xf8
b0fec2:	56                   	push   %esi
b0fec3:	e8 d4 1f 8f ff       	call   0x401e9c
b0fec8:	59                   	pop    %ecx
b0fec9:	59                   	pop    %ecx
b0feca:	8b c7                	mov    %edi,%eax
b0fecc:	5f                   	pop    %edi
b0fecd:	5e                   	pop    %esi
b0fece:	c3                   	ret
b0fecf:	cc                   	int3
b0fed0:	cc                   	int3
b0fed1:	cc                   	int3
b0fed2:	cc                   	int3
b0fed3:	cc                   	int3
b0fed4:	cc                   	int3
b0fed5:	cc                   	int3
b0fed6:	cc                   	int3
b0fed7:	cc                   	int3
b0fed8:	cc                   	int3
b0fed9:	cc                   	int3
b0feda:	55                   	push   %ebp
b0fedb:	8b ec                	mov    %esp,%ebp
b0fedd:	83 ec 18             	sub    $0x18,%esp
b0fee0:	8d 45 fc             	lea    -0x4(%ebp),%eax
b0fee3:	53                   	push   %ebx
b0fee4:	57                   	push   %edi
b0fee5:	50                   	push   %eax
b0fee6:	33 c0                	xor    %eax,%eax
b0fee8:	32 db                	xor    %bl,%bl
b0feea:	38 45 0c             	cmp    %al,0xc(%ebp)
b0feed:	8b f9                	mov    %ecx,%edi
b0feef:	0f 94 c0             	sete   %al
b0fef2:	48                   	dec    %eax
b0fef3:	50                   	push   %eax
b0fef4:	ff b7 d8 00 00 00    	push   0xd8(%edi)
b0fefa:	e8 6f a5 91 ff       	call   0x42a46e
b0feff:	83 c4 0c             	add    $0xc,%esp
b0ff02:	85 c0                	test   %eax,%eax
b0ff04:	75 0c                	jne    0xb0ff12
b0ff06:	ff 15 d4 36 d8 00    	call   *0xd836d4
b0ff0c:	85 c0                	test   %eax,%eax
b0ff0e:	7e 46                	jle    0xb0ff56
b0ff10:	eb 3c                	jmp    0xb0ff4e
b0ff12:	56                   	push   %esi
b0ff13:	8b 75 fc             	mov    -0x4(%ebp),%esi
b0ff16:	eb 27                	jmp    0xb0ff3f
b0ff18:	56                   	push   %esi
b0ff19:	e8 48 6c 91 ff       	call   0x426b66
b0ff1e:	56                   	push   %esi
b0ff1f:	89 45 f8             	mov    %eax,-0x8(%ebp)
b0ff22:	e8 34 ae 91 ff       	call   0x42ad5b
b0ff27:	8b f0                	mov    %eax,%esi
b0ff29:	8b 45 f8             	mov    -0x8(%ebp),%eax
b0ff2c:	59                   	pop    %ecx
b0ff2d:	59                   	pop    %ecx
b0ff2e:	3b 45 08             	cmp    0x8(%ebp),%eax
b0ff31:	75 04                	jne    0xb0ff37
b0ff33:	b3 01                	mov    $0x1,%bl
b0ff35:	eb 08                	jmp    0xb0ff3f
b0ff37:	50                   	push   %eax
b0ff38:	8b cf                	mov    %edi,%ecx
b0ff3a:	e8 84 dd 90 ff       	call   0x41dcc3
b0ff3f:	85 f6                	test   %esi,%esi
b0ff41:	75 d5                	jne    0xb0ff18
b0ff43:	5e                   	pop    %esi
b0ff44:	5f                   	pop    %edi
b0ff45:	8a c3                	mov    %bl,%al
b0ff47:	5b                   	pop    %ebx
b0ff48:	8b e5                	mov    %ebp,%esp
b0ff4a:	5d                   	pop    %ebp
b0ff4b:	c2 08 00             	ret    $0x8
b0ff4e:	0f b7 c0             	movzwl %ax,%eax
b0ff51:	0d 00 00 07 80       	or     $0x80070000,%eax
b0ff56:	50                   	push   %eax
b0ff57:	8d 4d e8             	lea    -0x18(%ebp),%ecx
b0ff5a:	e8 2f 27 90 ff       	call   0x41268e
b0ff5f:	68 9c ca d4 00       	push   $0xd4ca9c
b0ff64:	8d 45 e8             	lea    -0x18(%ebp),%eax
b0ff67:	50                   	push   %eax
b0ff68:	e8 22 da 90 ff       	call   0x41d98f
b0ff6d:	cc                   	int3
b0ff6e:	cc                   	int3
b0ff6f:	cc                   	int3
b0ff70:	cc                   	int3
b0ff71:	cc                   	int3
b0ff72:	cc                   	int3
b0ff73:	cc                   	int3
b0ff74:	cc                   	int3
b0ff75:	cc                   	int3
b0ff76:	cc                   	int3
b0ff77:	cc                   	int3
b0ff78:	cc                   	int3
b0ff79:	cc                   	int3
b0ff7a:	cc                   	int3
b0ff7b:	cc                   	int3
b0ff7c:	cc                   	int3
b0ff7d:	cc                   	int3
b0ff7e:	cc                   	int3
b0ff7f:	cc                   	int3
b0ff80:	cc                   	int3
b0ff81:	cc                   	int3
b0ff82:	cc                   	int3
b0ff83:	cc                   	int3
b0ff84:	cc                   	int3
b0ff85:	cc                   	int3
b0ff86:	cc                   	int3
b0ff87:	cc                   	int3
b0ff88:	cc                   	int3
b0ff89:	cc                   	int3
b0ff8a:	cc                   	int3
b0ff8b:	cc                   	int3
b0ff8c:	cc                   	int3
b0ff8d:	cc                   	int3
b0ff8e:	cc                   	int3
b0ff8f:	cc                   	int3
b0ff90:	cc                   	int3
b0ff91:	cc                   	int3
b0ff92:	cc                   	int3
b0ff93:	55                   	push   %ebp
b0ff94:	8b ec                	mov    %esp,%ebp
b0ff96:	83 ec 0c             	sub    $0xc,%esp
b0ff99:	56                   	push   %esi
b0ff9a:	57                   	push   %edi
b0ff9b:	8b 7d 08             	mov    0x8(%ebp),%edi
b0ff9e:	85 ff                	test   %edi,%edi
b0ffa0:	74 28                	je     0xb0ffca
b0ffa2:	8b 07                	mov    (%edi),%eax
b0ffa4:	8b 70 08             	mov    0x8(%eax),%esi
b0ffa7:	8b ce                	mov    %esi,%ecx
b0ffa9:	e8 b7 c6 91 ff       	call   0x42c665
b0ffae:	8b cf                	mov    %edi,%ecx
b0ffb0:	ff d6                	call   *%esi
b0ffb2:	5f                   	pop    %edi
b0ffb3:	5e                   	pop    %esi
b0ffb4:	85 c0                	test   %eax,%eax
b0ffb6:	74 05                	je     0xb0ffbd
b0ffb8:	8d 48 fc             	lea    -0x4(%eax),%ecx
b0ffbb:	eb 02                	jmp    0xb0ffbf
b0ffbd:	33 c9                	xor    %ecx,%ecx
b0ffbf:	e8 fd d2 92 ff       	call   0x43d2c1
b0ffc4:	8b e5                	mov    %ebp,%esp
b0ffc6:	5d                   	pop    %ebp
b0ffc7:	c2 04 00             	ret    $0x4
b0ffca:	68 04 bc c8 00       	push   $0xc8bc04
b0ffcf:	8d 4d f4             	lea    -0xc(%ebp),%ecx
b0ffd2:	e8 bc 74 92 ff       	call   0x437493
b0ffd7:	68 c0 f3 d1 00       	push   $0xd1f3c0
b0ffdc:	8d 45 f4             	lea    -0xc(%ebp),%eax
b0ffdf:	50                   	push   %eax
b0ffe0:	e8 aa d9 90 ff       	call   0x41d98f
b0ffe5:	cc                   	int3
b0ffe6:	cc                   	int3
b0ffe7:	cc                   	int3
b0ffe8:	cc                   	int3
b0ffe9:	cc                   	int3
b0ffea:	cc                   	int3
b0ffeb:	cc                   	int3
b0ffec:	cc                   	int3
b0ffed:	cc                   	int3
b0ffee:	cc                   	int3
b0ffef:	cc                   	int3
b0fff0:	cc                   	int3
b0fff1:	cc                   	int3
b0fff2:	cc                   	int3
b0fff3:	cc                   	int3
b0fff4:	cc                   	int3
b0fff5:	cc                   	int3
b0fff6:	cc                   	int3
b0fff7:	cc                   	int3
b0fff8:	cc                   	int3