445de0:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
445de4:	72 14                	jb     0x445dfa
445de6:	56                   	push   %esi
445de7:	ff 70 14             	push   0x14(%eax)
445dea:	ba bc b3 40 00       	mov    $0x40b3bc,%edx
445def:	ff 70 10             	push   0x10(%eax)
445df2:	6a 1b                	push   $0x1b
445df4:	59                   	pop    %ecx
445df5:	e8 cc a9 fe ff       	call   0x4307c6
445dfa:	8b c6                	mov    %esi,%eax
445dfc:	5e                   	pop    %esi
445dfd:	5d                   	pop    %ebp
445dfe:	c2 2c 00             	ret    $0x2c
445e01:	cc                   	int3
445e02:	cc                   	int3
445e03:	cc                   	int3
445e04:	cc                   	int3
445e05:	cc                   	int3
445e06:	cc                   	int3
445e07:	cc                   	int3
445e08:	cc                   	int3
445e09:	cc                   	int3
445e0a:	cc                   	int3
445e0b:	cc                   	int3
445e0c:	cc                   	int3
445e0d:	cc                   	int3
445e0e:	cc                   	int3
445e0f:	cc                   	int3
445e10:	8b ff                	mov    %edi,%edi
445e12:	55                   	push   %ebp
445e13:	8b ec                	mov    %esp,%ebp
445e15:	8b 45 08             	mov    0x8(%ebp),%eax
445e18:	56                   	push   %esi
445e19:	ff 75 20             	push   0x20(%ebp)
445e1c:	ff 75 1c             	push   0x1c(%ebp)
445e1f:	8b 40 10             	mov    0x10(%eax),%eax
445e22:	ff 75 18             	push   0x18(%ebp)
445e25:	ff 75 14             	push   0x14(%ebp)
445e28:	8b 30                	mov    (%eax),%esi
445e2a:	ff 75 10             	push   0x10(%ebp)
445e2d:	ff 75 0c             	push   0xc(%ebp)
445e30:	8b 4e 14             	mov    0x14(%esi),%ecx
445e33:	50                   	push   %eax
445e34:	ff 15 c4 12 45 00    	call   *0x4512c4
445e3a:	ff 56 14             	call   *0x14(%esi)
445e3d:	8b f0                	mov    %eax,%esi
445e3f:	85 f6                	test   %esi,%esi
445e41:	79 0f                	jns    0x445e52
445e43:	56                   	push   %esi
445e44:	ff 15 a0 12 45 00    	call   *0x4512a0
445e4a:	8b c8                	mov    %eax,%ecx
445e4c:	ff 15 a4 12 45 00    	call   *0x4512a4
445e52:	a1 00 f0 44 00       	mov    0x44f000,%eax
445e57:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
445e5c:	74 20                	je     0x445e7e
445e5e:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
445e62:	74 1a                	je     0x445e7e
445e64:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
445e68:	72 14                	jb     0x445e7e
445e6a:	56                   	push   %esi
445e6b:	ff 70 14             	push   0x14(%eax)
445e6e:	ba bc b3 40 00       	mov    $0x40b3bc,%edx
445e73:	ff 70 10             	push   0x10(%eax)
445e76:	6a 1d                	push   $0x1d
445e78:	59                   	pop    %ecx
445e79:	e8 48 a9 fe ff       	call   0x4307c6
445e7e:	8b c6                	mov    %esi,%eax
445e80:	5e                   	pop    %esi
445e81:	5d                   	pop    %ebp
445e82:	c2 1c 00             	ret    $0x1c
445e85:	cc                   	int3
445e86:	cc                   	int3
445e87:	cc                   	int3
445e88:	cc                   	int3
445e89:	cc                   	int3
445e8a:	cc                   	int3
445e8b:	cc                   	int3
445e8c:	cc                   	int3
445e8d:	cc                   	int3
445e8e:	cc                   	int3
445e8f:	cc                   	int3
445e90:	8b ff                	mov    %edi,%edi
445e92:	55                   	push   %ebp
445e93:	8b ec                	mov    %esp,%ebp
445e95:	8b 45 08             	mov    0x8(%ebp),%eax
445e98:	56                   	push   %esi
445e99:	ff 75 20             	push   0x20(%ebp)
445e9c:	ff 75 1c             	push   0x1c(%ebp)
445e9f:	8b 40 10             	mov    0x10(%eax),%eax
445ea2:	ff 75 18             	push   0x18(%ebp)
445ea5:	ff 75 14             	push   0x14(%ebp)
445ea8:	8b 30                	mov    (%eax),%esi
445eaa:	ff 75 10             	push   0x10(%ebp)
445ead:	ff 75 0c             	push   0xc(%ebp)
445eb0:	8b 4e 1c             	mov    0x1c(%esi),%ecx
445eb3:	50                   	push   %eax
445eb4:	ff 15 c4 12 45 00    	call   *0x4512c4
445eba:	ff 56 1c             	call   *0x1c(%esi)
445ebd:	8b f0                	mov    %eax,%esi
445ebf:	85 f6                	test   %esi,%esi
445ec1:	79 0f                	jns    0x445ed2
445ec3:	56                   	push   %esi
445ec4:	ff 15 a0 12 45 00    	call   *0x4512a0
445eca:	8b c8                	mov    %eax,%ecx
445ecc:	ff 15 a4 12 45 00    	call   *0x4512a4
445ed2:	a1 00 f0 44 00       	mov    0x44f000,%eax
445ed7:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
445edc:	74 20                	je     0x445efe
445ede:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
445ee2:	74 1a                	je     0x445efe
445ee4:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
445ee8:	72 14                	jb     0x445efe
445eea:	56                   	push   %esi
445eeb:	ff 70 14             	push   0x14(%eax)
445eee:	ba bc b3 40 00       	mov    $0x40b3bc,%edx
445ef3:	ff 70 10             	push   0x10(%eax)
445ef6:	6a 1e                	push   $0x1e
445ef8:	59                   	pop    %ecx
445ef9:	e8 c8 a8 fe ff       	call   0x4307c6
445efe:	8b c6                	mov    %esi,%eax
445f00:	5e                   	pop    %esi
445f01:	5d                   	pop    %ebp
445f02:	c2 1c 00             	ret    $0x1c
445f05:	cc                   	int3
445f06:	cc                   	int3
445f07:	cc                   	int3
445f08:	cc                   	int3
445f09:	cc                   	int3
445f0a:	cc                   	int3
445f0b:	cc                   	int3
445f0c:	cc                   	int3
445f0d:	cc                   	int3
445f0e:	cc                   	int3
445f0f:	cc                   	int3
445f10:	8b ff                	mov    %edi,%edi
445f12:	55                   	push   %ebp
445f13:	8b ec                	mov    %esp,%ebp
445f15:	56                   	push   %esi
445f16:	8b 75 08             	mov    0x8(%ebp),%esi
445f19:	57                   	push   %edi
445f1a:	8b 7d 10             	mov    0x10(%ebp),%edi
445f1d:	6a 10                	push   $0x10
445f1f:	68 84 7a 40 00       	push   $0x407a84
445f24:	ff 75 0c             	push   0xc(%ebp)
445f27:	83 27 00             	andl   $0x0,(%edi)
445f2a:	e8 3b c3 fd ff       	call   0x42226a
445f2f:	83 c4 0c             	add    $0xc,%esp
445f32:	85 c0                	test   %eax,%eax
445f34:	74 37                	je     0x445f6d
445f36:	6a 10                	push   $0x10
445f38:	68 08 6c 40 00       	push   $0x406c08
445f3d:	ff 75 0c             	push   0xc(%ebp)
445f40:	e8 25 c3 fd ff       	call   0x42226a
445f45:	83 c4 0c             	add    $0xc,%esp
445f48:	85 c0                	test   %eax,%eax
445f4a:	75 0b                	jne    0x445f57
445f4c:	8d 46 04             	lea    0x4(%esi),%eax
445f4f:	f7 de                	neg    %esi
445f51:	1b f6                	sbb    %esi,%esi
445f53:	23 f0                	and    %eax,%esi
445f55:	eb 16                	jmp    0x445f6d
445f57:	6a 10                	push   $0x10
445f59:	68 94 b4 40 00       	push   $0x40b494
445f5e:	ff 75 0c             	push   0xc(%ebp)
445f61:	e8 04 c3 fd ff       	call   0x42226a
445f66:	83 c4 0c             	add    $0xc,%esp
445f69:	85 c0                	test   %eax,%eax
445f6b:	75 1a                	jne    0x445f87
445f6d:	89 37                	mov    %esi,(%edi)
445f6f:	85 f6                	test   %esi,%esi
445f71:	74 14                	je     0x445f87
445f73:	8b 06                	mov    (%esi),%eax
445f75:	56                   	push   %esi
445f76:	8b 70 04             	mov    0x4(%eax),%esi
445f79:	8b ce                	mov    %esi,%ecx
445f7b:	ff 15 c4 12 45 00    	call   *0x4512c4
445f81:	ff d6                	call   *%esi
445f83:	33 c0                	xor    %eax,%eax
445f85:	eb 05                	jmp    0x445f8c
445f87:	b8 02 40 00 80       	mov    $0x80004002,%eax
445f8c:	5f                   	pop    %edi
445f8d:	5e                   	pop    %esi
445f8e:	5d                   	pop    %ebp
445f8f:	c2 0c 00             	ret    $0xc
445f92:	cc                   	int3
445f93:	cc                   	int3
445f94:	cc                   	int3
445f95:	cc                   	int3
445f96:	cc                   	int3
445f97:	cc                   	int3
445f98:	cc                   	int3
445f99:	cc                   	int3
445f9a:	cc                   	int3
445f9b:	cc                   	int3
445f9c:	cc                   	int3
445f9d:	cc                   	int3
445f9e:	cc                   	int3
445f9f:	cc                   	int3
445fa0:	6a 00                	push   $0x0
445fa2:	b8 fd 2c 42 00       	mov    $0x422cfd,%eax
445fa7:	e8 c1 96 fd ff       	call   0x41f66d
445fac:	8b 75 08             	mov    0x8(%ebp),%esi
445faf:	83 c8 ff             	or     $0xffffffff,%eax
445fb2:	f0 0f c1 46 08       	lock xadd %eax,0x8(%esi)
445fb7:	48                   	dec    %eax
445fb8:	75 1d                	jne    0x445fd7
445fba:	85 f6                	test   %esi,%esi
445fbc:	74 17                	je     0x445fd5
445fbe:	8b ce                	mov    %esi,%ecx
445fc0:	e8 9e fc ff ff       	call   0x445c63
445fc5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
445fc9:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
445fcf:	56                   	push   %esi
445fd0:	e8 55 38 fd ff       	call   0x41982a
445fd5:	33 c0                	xor    %eax,%eax
445fd7:	e8 5f 96 fd ff       	call   0x41f63b
445fdc:	c2 04 00             	ret    $0x4
445fdf:	cc                   	int3
445fe0:	cc                   	int3
445fe1:	cc                   	int3
445fe2:	cc                   	int3
445fe3:	cc                   	int3
445fe4:	cc                   	int3
445fe5:	cc                   	int3
445fe6:	cc                   	int3
445fe7:	cc                   	int3
445fe8:	cc                   	int3
445fe9:	cc                   	int3
445fea:	cc                   	int3
445feb:	cc                   	int3
445fec:	cc                   	int3
445fed:	cc                   	int3
445fee:	cc                   	int3
445fef:	cc                   	int3
445ff0:	8b ff                	mov    %edi,%edi
445ff2:	55                   	push   %ebp
445ff3:	8b ec                	mov    %esp,%ebp
445ff5:	8b 45 08             	mov    0x8(%ebp),%eax
445ff8:	56                   	push   %esi
445ff9:	ff 75 14             	push   0x14(%ebp)
445ffc:	8b 40 10             	mov    0x10(%eax),%eax
445fff:	ff 75 10             	push   0x10(%ebp)
446002:	ff 75 0c             	push   0xc(%ebp)
446005:	8b 30                	mov    (%eax),%esi
446007:	50                   	push   %eax
446008:	8b 4e 0c             	mov    0xc(%esi),%ecx
44600b:	ff 15 c4 12 45 00    	call   *0x4512c4
446011:	ff 56 0c             	call   *0xc(%esi)
446014:	8b f0                	mov    %eax,%esi
446016:	85 f6                	test   %esi,%esi
446018:	79 0f                	jns    0x446029
44601a:	56                   	push   %esi
44601b:	ff 15 a0 12 45 00    	call   *0x4512a0
446021:	8b c8                	mov    %eax,%ecx
446023:	ff 15 a4 12 45 00    	call   *0x4512a4
446029:	a1 00 f0 44 00       	mov    0x44f000,%eax
44602e:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
446033:	74 20                	je     0x446055
446035:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
446039:	74 1a                	je     0x446055
44603b:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
44603f:	72 14                	jb     0x446055
446041:	56                   	push   %esi
446042:	ff 70 14             	push   0x14(%eax)
446045:	ba bc b3 40 00       	mov    $0x40b3bc,%edx
44604a:	ff 70 10             	push   0x10(%eax)
44604d:	6a 1a                	push   $0x1a
44604f:	59                   	pop    %ecx
446050:	e8 71 a7 fe ff       	call   0x4307c6
446055:	8b c6                	mov    %esi,%eax
446057:	5e                   	pop    %esi
446058:	5d                   	pop    %ebp
446059:	c2 10 00             	ret    $0x10
44605c:	cc                   	int3
44605d:	cc                   	int3
44605e:	cc                   	int3
44605f:	cc                   	int3
446060:	8b ff                	mov    %edi,%edi
446062:	55                   	push   %ebp
446063:	8b ec                	mov    %esp,%ebp
446065:	51                   	push   %ecx
446066:	53                   	push   %ebx
446067:	8b 5d 08             	mov    0x8(%ebp),%ebx
44606a:	8d 45 fc             	lea    -0x4(%ebp),%eax
44606d:	56                   	push   %esi
44606e:	57                   	push   %edi
44606f:	b9 b4 b4 40 00       	mov    $0x40b4b4,%ecx
446074:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
44607b:	8d 7b 10             	lea    0x10(%ebx),%edi
44607e:	57                   	push   %edi
44607f:	68 94 b4 40 00       	push   $0x40b494
446084:	50                   	push   %eax
446085:	e8 49 88 fd ff       	call   0x41e8d3
44608a:	8b f0                	mov    %eax,%esi
44608c:	85 f6                	test   %esi,%esi
44608e:	78 3e                	js     0x4460ce
446090:	8b 07                	mov    (%edi),%eax
446092:	ff 75 14             	push   0x14(%ebp)
446095:	ff 75 10             	push   0x10(%ebp)
446098:	8b 30                	mov    (%eax),%esi
44609a:	ff 75 0c             	push   0xc(%ebp)
44609d:	50                   	push   %eax
44609e:	8b 4e 18             	mov    0x18(%esi),%ecx
4460a1:	ff 15 c4 12 45 00    	call   *0x4512c4
4460a7:	ff 56 18             	call   *0x18(%esi)
4460aa:	8b f0                	mov    %eax,%esi
4460ac:	85 f6                	test   %esi,%esi
4460ae:	78 1e                	js     0x4460ce
4460b0:	8b 0f                	mov    (%edi),%ecx
4460b2:	8d 43 14             	lea    0x14(%ebx),%eax
4460b5:	50                   	push   %eax
4460b6:	68 08 6c 40 00       	push   $0x406c08
4460bb:	51                   	push   %ecx
4460bc:	8b 31                	mov    (%ecx),%esi
4460be:	8b 0e                	mov    (%esi),%ecx
4460c0:	ff 15 c4 12 45 00    	call   *0x4512c4
4460c6:	ff 16                	call   *(%esi)
4460c8:	8b f0                	mov    %eax,%esi
4460ca:	85 f6                	test   %esi,%esi
4460cc:	79 0f                	jns    0x4460dd
4460ce:	56                   	push   %esi
4460cf:	ff 15 a0 12 45 00    	call   *0x4512a0
4460d5:	8b c8                	mov    %eax,%ecx
4460d7:	ff 15 a4 12 45 00    	call   *0x4512a4
4460dd:	a1 00 f0 44 00       	mov    0x44f000,%eax
4460e2:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4460e7:	74 20                	je     0x446109
4460e9:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4460ed:	74 1a                	je     0x446109
4460ef:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4460f3:	72 14                	jb     0x446109
4460f5:	56                   	push   %esi
4460f6:	ff 70 14             	push   0x14(%eax)
4460f9:	ba bc b3 40 00       	mov    $0x40b3bc,%edx
4460fe:	ff 70 10             	push   0x10(%eax)
446101:	6a 19                	push   $0x19
446103:	59                   	pop    %ecx
446104:	e8 bd a6 fe ff       	call   0x4307c6
446109:	5f                   	pop    %edi
44610a:	8b c6                	mov    %esi,%eax
44610c:	5e                   	pop    %esi
44610d:	5b                   	pop    %ebx
44610e:	c9                   	leave
44610f:	c2 10 00             	ret    $0x10
446112:	cc                   	int3
446113:	cc                   	int3
446114:	cc                   	int3
446115:	cc                   	int3
446116:	cc                   	int3
446117:	cc                   	int3