403d5b:	51                   	push   %ecx
403d5c:	53                   	push   %ebx
403d5d:	56                   	push   %esi
403d5e:	57                   	push   %edi
403d5f:	8b fa                	mov    %edx,%edi
403d61:	8b f1                	mov    %ecx,%esi
403d63:	85 ff                	test   %edi,%edi
403d65:	74 7e                	je     0x403de5
403d67:	57                   	push   %edi
403d68:	e8 c4 cc 00 00       	call   0x410a31
403d6d:	8b d8                	mov    %eax,%ebx
403d6f:	59                   	pop    %ecx
403d70:	85 db                	test   %ebx,%ebx
403d72:	74 71                	je     0x403de5
403d74:	85 f6                	test   %esi,%esi
403d76:	75 04                	jne    0x403d7c
403d78:	33 c0                	xor    %eax,%eax
403d7a:	eb 07                	jmp    0x403d83
403d7c:	56                   	push   %esi
403d7d:	e8 af cc 00 00       	call   0x410a31
403d82:	59                   	pop    %ecx
403d83:	8d 04 46             	lea    (%esi,%eax,2),%eax
403d86:	89 45 fc             	mov    %eax,-0x4(%ebp)
403d89:	0f b7 17             	movzwl (%edi),%edx
403d8c:	85 f6                	test   %esi,%esi
403d8e:	74 5c                	je     0x403dec
403d90:	0f b7 06             	movzwl (%esi),%eax
403d93:	8b c8                	mov    %eax,%ecx
403d95:	66 85 c0             	test   %ax,%ax
403d98:	74 14                	je     0x403dae
403d9a:	66 3b ca             	cmp    %dx,%cx
403d9d:	74 1a                	je     0x403db9
403d9f:	83 c6 02             	add    $0x2,%esi
403da2:	0f b7 06             	movzwl (%esi),%eax
403da5:	8b c8                	mov    %eax,%ecx
403da7:	66 85 c0             	test   %ax,%ax
403daa:	75 ee                	jne    0x403d9a
403dac:	33 c9                	xor    %ecx,%ecx
403dae:	33 c0                	xor    %eax,%eax
403db0:	66 3b ca             	cmp    %dx,%cx
403db3:	0f 95 c0             	setne  %al
403db6:	48                   	dec    %eax
403db7:	23 f0                	and    %eax,%esi
403db9:	85 f6                	test   %esi,%esi
403dbb:	74 2f                	je     0x403dec
403dbd:	8b 45 fc             	mov    -0x4(%ebp),%eax
403dc0:	2b c6                	sub    %esi,%eax
403dc2:	d1 f8                	sar    $1,%eax
403dc4:	3b c3                	cmp    %ebx,%eax
403dc6:	72 24                	jb     0x403dec
403dc8:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
403dcb:	50                   	push   %eax
403dcc:	57                   	push   %edi
403dcd:	56                   	push   %esi
403dce:	0f ae e8             	lfence
403dd1:	e8 6a 5a 01 00       	call   0x419840
403dd6:	83 c4 0c             	add    $0xc,%esp
403dd9:	85 c0                	test   %eax,%eax
403ddb:	74 05                	je     0x403de2
403ddd:	83 c6 02             	add    $0x2,%esi
403de0:	eb a7                	jmp    0x403d89
403de2:	0f ae e8             	lfence
403de5:	8b c6                	mov    %esi,%eax
403de7:	5f                   	pop    %edi
403de8:	5e                   	pop    %esi
403de9:	5b                   	pop    %ebx
403dea:	c9                   	leave
403deb:	c3                   	ret
403dec:	33 c0                	xor    %eax,%eax
403dee:	eb f7                	jmp    0x403de7
403df0:	55                   	push   %ebp
403df1:	8b ec                	mov    %esp,%ebp
403df3:	8b 4d 08             	mov    0x8(%ebp),%ecx
403df6:	8d 45 10             	lea    0x10(%ebp),%eax
403df9:	50                   	push   %eax
403dfa:	ff 75 0c             	push   0xc(%ebp)
403dfd:	e8 b5 01 00 00       	call   0x403fb7
403e02:	5d                   	pop    %ebp
403e03:	c3                   	ret
403e04:	55                   	push   %ebp
403e05:	8b ec                	mov    %esp,%ebp
403e07:	83 ec 0c             	sub    $0xc,%esp
403e0a:	a1 18 60 42 00       	mov    0x426018,%eax
403e0f:	33 c5                	xor    %ebp,%eax
403e11:	89 45 fc             	mov    %eax,-0x4(%ebp)
403e14:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
403e18:	56                   	push   %esi
403e19:	57                   	push   %edi
403e1a:	8b 7d 08             	mov    0x8(%ebp),%edi
403e1d:	8b cf                	mov    %edi,%ecx
403e1f:	e8 56 fa ff ff       	call   0x40387a
403e24:	50                   	push   %eax
403e25:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403e28:	e8 cf fc ff ff       	call   0x403afc
403e2d:	ff 75 0c             	push   0xc(%ebp)
403e30:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403e33:	e8 3f f6 ff ff       	call   0x403477
403e38:	85 c0                	test   %eax,%eax
403e3a:	74 3c                	je     0x403e78
403e3c:	8b 75 f8             	mov    -0x8(%ebp),%esi
403e3f:	83 7e f4 00          	cmpl   $0x0,-0xc(%esi)
403e43:	75 07                	jne    0x403e4c
403e45:	68 57 00 07 80       	push   $0x80070057
403e4a:	eb 31                	jmp    0x403e7d
403e4c:	8d 45 10             	lea    0x10(%ebp),%eax
403e4f:	8b cf                	mov    %edi,%ecx
403e51:	89 45 f4             	mov    %eax,-0xc(%ebp)
403e54:	8d 45 f4             	lea    -0xc(%ebp),%eax
403e57:	50                   	push   %eax
403e58:	56                   	push   %esi
403e59:	e8 25 00 00 00       	call   0x403e83
403e5e:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
403e62:	8d 4e f0             	lea    -0x10(%esi),%ecx
403e65:	e8 98 d4 ff ff       	call   0x401302
403e6a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403e6d:	5f                   	pop    %edi
403e6e:	33 cd                	xor    %ebp,%ecx
403e70:	5e                   	pop    %esi
403e71:	e8 7f 4d 00 00       	call   0x408bf5
403e76:	c9                   	leave
403e77:	c3                   	ret
403e78:	68 05 40 00 80       	push   $0x80004005
403e7d:	e8 3d d2 ff ff       	call   0x4010bf
403e82:	cc                   	int3
403e83:	55                   	push   %ebp
403e84:	8b ec                	mov    %esp,%ebp
403e86:	83 ec 14             	sub    $0x14,%esp
403e89:	a1 18 60 42 00       	mov    0x426018,%eax
403e8e:	33 c5                	xor    %ebp,%eax
403e90:	89 45 fc             	mov    %eax,-0x4(%ebp)
403e93:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
403e97:	53                   	push   %ebx
403e98:	56                   	push   %esi
403e99:	8b 75 0c             	mov    0xc(%ebp),%esi
403e9c:	8b d9                	mov    %ecx,%ebx
403e9e:	57                   	push   %edi
403e9f:	8b 7d 08             	mov    0x8(%ebp),%edi
403ea2:	ff 15 48 c1 41 00    	call   *0x41c148
403ea8:	6a 00                	push   $0x0
403eaa:	89 45 f4             	mov    %eax,-0xc(%ebp)
403ead:	ff 15 44 c1 41 00    	call   *0x41c144
403eb3:	56                   	push   %esi
403eb4:	33 c9                	xor    %ecx,%ecx
403eb6:	8d 45 f8             	lea    -0x8(%ebp),%eax
403eb9:	51                   	push   %ecx
403eba:	50                   	push   %eax
403ebb:	51                   	push   %ecx
403ebc:	51                   	push   %ecx
403ebd:	57                   	push   %edi
403ebe:	68 00 05 00 00       	push   $0x500
403ec3:	ff 15 9c c1 41 00    	call   *0x41c19c
403ec9:	85 c0                	test   %eax,%eax
403ecb:	75 0e                	jne    0x403edb
403ecd:	ff 15 48 c1 41 00    	call   *0x41c148
403ed3:	85 c0                	test   %eax,%eax
403ed5:	0f 85 d6 00 00 00    	jne    0x403fb1
403edb:	ff 75 f4             	push   -0xc(%ebp)
403ede:	ff 15 44 c1 41 00    	call   *0x41c144
403ee4:	8b 7d f8             	mov    -0x8(%ebp),%edi
403ee7:	85 ff                	test   %edi,%edi
403ee9:	0f 84 a1 00 00 00    	je     0x403f90
403eef:	57                   	push   %edi
403ef0:	e8 3c cb 00 00       	call   0x410a31
403ef5:	89 45 f4             	mov    %eax,-0xc(%ebp)
403ef8:	59                   	pop    %ecx
403ef9:	85 c0                	test   %eax,%eax
403efb:	0f 84 8f 00 00 00    	je     0x403f90
403f01:	8b 0b                	mov    (%ebx),%ecx
403f03:	8b d7                	mov    %edi,%edx
403f05:	2b d1                	sub    %ecx,%edx
403f07:	d1 fa                	sar    $1,%edx
403f09:	50                   	push   %eax
403f0a:	8b 71 f4             	mov    -0xc(%ecx),%esi
403f0d:	8b cb                	mov    %ebx,%ecx
403f0f:	89 55 f0             	mov    %edx,-0x10(%ebp)
403f12:	e8 c9 f7 ff ff       	call   0x4036e0
403f17:	8b 55 f0             	mov    -0x10(%ebp),%edx
403f1a:	3b d6                	cmp    %esi,%edx
403f1c:	8b 75 f4             	mov    -0xc(%ebp),%esi
403f1f:	89 45 ec             	mov    %eax,-0x14(%ebp)
403f22:	77 4f                	ja     0x403f73
403f24:	8b 0b                	mov    (%ebx),%ecx
403f26:	8d 14 50             	lea    (%eax,%edx,2),%edx
403f29:	8b 79 f8             	mov    -0x8(%ecx),%edi
403f2c:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
403f2f:	85 c9                	test   %ecx,%ecx
403f31:	74 53                	je     0x403f86
403f33:	85 c0                	test   %eax,%eax
403f35:	75 12                	jne    0x403f49
403f37:	e8 97 ad 00 00       	call   0x40ecd3
403f3c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
403f42:	e8 cf ac 00 00       	call   0x40ec16
403f47:	eb 3d                	jmp    0x403f86
403f49:	85 d2                	test   %edx,%edx
403f4b:	74 ea                	je     0x403f37
403f4d:	8d 04 3f             	lea    (%edi,%edi,1),%eax
403f50:	3b c1                	cmp    %ecx,%eax
403f52:	73 0d                	jae    0x403f61
403f54:	e8 7a ad 00 00       	call   0x40ecd3
403f59:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
403f5f:	eb e1                	jmp    0x403f42
403f61:	51                   	push   %ecx
403f62:	52                   	push   %edx
403f63:	ff 75 ec             	push   -0x14(%ebp)
403f66:	0f ae e8             	lfence
403f69:	e8 62 5c 00 00       	call   0x409bd0
403f6e:	83 c4 0c             	add    $0xc,%esp
403f71:	eb 13                	jmp    0x403f86
403f73:	0f ae e8             	lfence
403f76:	8b 13                	mov    (%ebx),%edx
403f78:	8b c8                	mov    %eax,%ecx
403f7a:	56                   	push   %esi
403f7b:	57                   	push   %edi
403f7c:	8b 52 f8             	mov    -0x8(%edx),%edx
403f7f:	e8 04 fd ff ff       	call   0x403c88
403f84:	59                   	pop    %ecx
403f85:	59                   	pop    %ecx
403f86:	56                   	push   %esi
403f87:	8b cb                	mov    %ebx,%ecx
403f89:	e8 f1 f9 ff ff       	call   0x40397f
403f8e:	eb 07                	jmp    0x403f97
403f90:	8b cb                	mov    %ebx,%ecx
403f92:	e8 af f7 ff ff       	call   0x403746
403f97:	ff 75 f8             	push   -0x8(%ebp)
403f9a:	ff 15 c4 c1 41 00    	call   *0x41c1c4
403fa0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403fa3:	5f                   	pop    %edi
403fa4:	5e                   	pop    %esi
403fa5:	33 cd                	xor    %ebp,%ecx
403fa7:	5b                   	pop    %ebx
403fa8:	e8 48 4c 00 00       	call   0x408bf5
403fad:	c9                   	leave
403fae:	c2 08 00             	ret    $0x8
403fb1:	e8 97 fd ff ff       	call   0x403d4d
403fb6:	cc                   	int3
403fb7:	55                   	push   %ebp
403fb8:	8b ec                	mov    %esp,%ebp
403fba:	81 ec 10 08 00 00    	sub    $0x810,%esp
403fc0:	a1 18 60 42 00       	mov    0x426018,%eax
403fc5:	33 c5                	xor    %ebp,%eax
403fc7:	89 45 fc             	mov    %eax,-0x4(%ebp)
403fca:	8b 45 0c             	mov    0xc(%ebp),%eax
403fcd:	53                   	push   %ebx
403fce:	56                   	push   %esi
403fcf:	8b 75 08             	mov    0x8(%ebp),%esi
403fd2:	8b d9                	mov    %ecx,%ebx
403fd4:	89 85 f0 f7 ff ff    	mov    %eax,-0x810(%ebp)
403fda:	57                   	push   %edi
403fdb:	85 f6                	test   %esi,%esi
403fdd:	0f 84 bf 00 00 00    	je     0x4040a2
403fe3:	50                   	push   %eax
403fe4:	6a 00                	push   $0x0
403fe6:	56                   	push   %esi
403fe7:	8d 85 f8 f7 ff ff    	lea    -0x808(%ebp),%eax
403fed:	68 01 04 00 00       	push   $0x401
403ff2:	50                   	push   %eax
403ff3:	e8 28 d0 ff ff       	call   0x401020
403ff8:	ff 70 04             	push   0x4(%eax)
403ffb:	ff 30                	push   (%eax)
403ffd:	e8 df 9a 00 00       	call   0x40dae1
404002:	8b f8                	mov    %eax,%edi
404004:	83 c4 1c             	add    $0x1c,%esp
404007:	85 ff                	test   %edi,%edi
404009:	0f 88 8c 00 00 00    	js     0x40409b
40400f:	0f ae e8             	lfence
404012:	83 a5 f4 f7 ff ff 00 	andl   $0x0,-0x80c(%ebp)
404019:	8b cb                	mov    %ebx,%ecx
40401b:	e8 5a f8 ff ff       	call   0x40387a
404020:	50                   	push   %eax
404021:	8d 8d f4 f7 ff ff    	lea    -0x80c(%ebp),%ecx
404027:	e8 d0 fa ff ff       	call   0x403afc
40402c:	f7 c6 00 00 ff ff    	test   $0xffff0000,%esi
404032:	75 11                	jne    0x404045
404034:	0f b7 c6             	movzwl %si,%eax
404037:	8d 8d f4 f7 ff ff    	lea    -0x80c(%ebp),%ecx
40403d:	50                   	push   %eax
40403e:	e8 34 f4 ff ff       	call   0x403477
404043:	eb 14                	jmp    0x404059
404045:	56                   	push   %esi
404046:	e8 e6 c9 00 00       	call   0x410a31
40404b:	59                   	pop    %ecx
40404c:	50                   	push   %eax
40404d:	56                   	push   %esi
40404e:	8d 8d f4 f7 ff ff    	lea    -0x80c(%ebp),%ecx
404054:	e8 51 f9 ff ff       	call   0x4039aa
404059:	57                   	push   %edi
40405a:	8b cb                	mov    %ebx,%ecx
40405c:	e8 7f f6 ff ff       	call   0x4036e0
404061:	ff b5 f0 f7 ff ff    	push   -0x810(%ebp)
404067:	8b b5 f4 f7 ff ff    	mov    -0x80c(%ebp),%esi
40406d:	8d 57 01             	lea    0x1(%edi),%edx
404070:	56                   	push   %esi
404071:	8b c8                	mov    %eax,%ecx
404073:	e8 0b d5 ff ff       	call   0x401583
404078:	59                   	pop    %ecx
404079:	59                   	pop    %ecx
40407a:	57                   	push   %edi
40407b:	8b cb                	mov    %ebx,%ecx
40407d:	e8 fd f8 ff ff       	call   0x40397f
404082:	8d 4e f0             	lea    -0x10(%esi),%ecx
404085:	e8 78 d2 ff ff       	call   0x401302
40408a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40408d:	5f                   	pop    %edi
40408e:	5e                   	pop    %esi
40408f:	33 cd                	xor    %ebp,%ecx
404091:	5b                   	pop    %ebx
404092:	e8 5e 4b 00 00       	call   0x408bf5
404097:	c9                   	leave
404098:	c2 08 00             	ret    $0x8
40409b:	68 05 40 00 80       	push   $0x80004005
4040a0:	eb 05                	jmp    0x4040a7
4040a2:	68 57 00 07 80       	push   $0x80070057
4040a7:	e8 13 d0 ff ff       	call   0x4010bf
4040ac:	cc                   	int3
4040ad:	cc                   	int3
4040ae:	cc                   	int3
4040af:	cc                   	int3
4040b0:	55                   	push   %ebp
4040b1:	8b ec                	mov    %esp,%ebp
4040b3:	56                   	push   %esi
4040b4:	8b f1                	mov    %ecx,%esi
4040b6:	c7 06 bc 33 42 00    	movl   $0x4233bc,(%esi)
4040bc:	e8 1f 00 00 00       	call   0x4040e0
4040c1:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4040c5:	74 0a                	je     0x4040d1
4040c7:	6a 08                	push   $0x8
4040c9:	56                   	push   %esi
4040ca:	e8 21 51 01 00       	call   0x4191f0
4040cf:	59                   	pop    %ecx
4040d0:	59                   	pop    %ecx
4040d1:	8b c6                	mov    %esi,%eax
4040d3:	5e                   	pop    %esi
4040d4:	5d                   	pop    %ebp
4040d5:	c2 04 00             	ret    $0x4
4040d8:	cc                   	int3
4040d9:	cc                   	int3
4040da:	cc                   	int3
4040db:	cc                   	int3
4040dc:	cc                   	int3
4040dd:	cc                   	int3
4040de:	cc                   	int3
4040df:	cc                   	int3
4040e0:	55                   	push   %ebp
4040e1:	8b ec                	mov    %esp,%ebp
4040e3:	83 ec 20             	sub    $0x20,%esp
4040e6:	a1 18 60 42 00       	mov    0x426018,%eax
4040eb:	33 c5                	xor    %ebp,%eax
4040ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
4040f0:	56                   	push   %esi
4040f1:	8b f1                	mov    %ecx,%esi