405e2a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
405e30:	68 07 01 00 00       	push   $0x107
405e35:	50                   	push   %eax
405e36:	e8 aa c9 02 00       	call   0x4327e5
405e3b:	83 c4 08             	add    $0x8,%esp
405e3e:	85 c0                	test   %eax,%eax
405e40:	74 29                	je     0x405e6b
405e42:	3b fd                	cmp    %ebp,%edi
405e44:	74 2f                	je     0x405e75
405e46:	66 8b 16             	mov    (%esi),%dx
405e49:	83 c6 02             	add    $0x2,%esi
405e4c:	66 89 17             	mov    %dx,(%edi)
405e4f:	0f b7 06             	movzwl (%esi),%eax
405e52:	83 c7 02             	add    $0x2,%edi
405e55:	66 85 c0             	test   %ax,%ax
405e58:	75 d6                	jne    0x405e30
405e5a:	33 c0                	xor    %eax,%eax
405e5c:	3b 7c 24 18          	cmp    0x18(%esp),%edi
405e60:	5b                   	pop    %ebx
405e61:	66 89 07             	mov    %ax,(%edi)
405e64:	5f                   	pop    %edi
405e65:	5e                   	pop    %esi
405e66:	0f 95 c0             	setne  %al
405e69:	5d                   	pop    %ebp
405e6a:	c3                   	ret
405e6b:	66 83 3e 00          	cmpw   $0x0,(%esi)
405e6f:	0f 85 3e ff ff ff    	jne    0x405db3
405e75:	33 c0                	xor    %eax,%eax
405e77:	3b 7c 24 18          	cmp    0x18(%esp),%edi
405e7b:	5b                   	pop    %ebx
405e7c:	66 89 07             	mov    %ax,(%edi)
405e7f:	5f                   	pop    %edi
405e80:	5e                   	pop    %esi
405e81:	0f 95 c0             	setne  %al
405e84:	5d                   	pop    %ebp
405e85:	c3                   	ret
405e86:	cc                   	int3
405e87:	cc                   	int3
405e88:	cc                   	int3
405e89:	cc                   	int3
405e8a:	cc                   	int3
405e8b:	cc                   	int3
405e8c:	cc                   	int3
405e8d:	cc                   	int3
405e8e:	cc                   	int3
405e8f:	cc                   	int3
405e90:	57                   	push   %edi
405e91:	8b 7c 24 08          	mov    0x8(%esp),%edi
405e95:	85 ff                	test   %edi,%edi
405e97:	74 4b                	je     0x405ee4
405e99:	8b c7                	mov    %edi,%eax
405e9b:	56                   	push   %esi
405e9c:	33 d2                	xor    %edx,%edx
405e9e:	8d 70 02             	lea    0x2(%eax),%esi
405ea1:	66 8b 08             	mov    (%eax),%cx
405ea4:	83 c0 02             	add    $0x2,%eax
405ea7:	66 85 c9             	test   %cx,%cx
405eaa:	75 f5                	jne    0x405ea1
405eac:	2b c6                	sub    %esi,%eax
405eae:	d1 f8                	sar    $1,%eax
405eb0:	74 31                	je     0x405ee3
405eb2:	b8 3a 00 00 00       	mov    $0x3a,%eax
405eb7:	66 3b 04 57          	cmp    (%edi,%edx,2),%ax
405ebb:	75 09                	jne    0x405ec6
405ebd:	b9 5c 00 00 00       	mov    $0x5c,%ecx
405ec2:	66 89 0c 57          	mov    %cx,(%edi,%edx,2)
405ec6:	8b c7                	mov    %edi,%eax
405ec8:	42                   	inc    %edx
405ec9:	8d 70 02             	lea    0x2(%eax),%esi
405ecc:	8d 64 24 00          	lea    0x0(%esp),%esp
405ed0:	66 8b 08             	mov    (%eax),%cx
405ed3:	83 c0 02             	add    $0x2,%eax
405ed6:	66 85 c9             	test   %cx,%cx
405ed9:	75 f5                	jne    0x405ed0
405edb:	2b c6                	sub    %esi,%eax
405edd:	d1 f8                	sar    $1,%eax
405edf:	3b d0                	cmp    %eax,%edx
405ee1:	72 cf                	jb     0x405eb2
405ee3:	5e                   	pop    %esi
405ee4:	5f                   	pop    %edi
405ee5:	c3                   	ret
405ee6:	cc                   	int3
405ee7:	cc                   	int3
405ee8:	cc                   	int3
405ee9:	cc                   	int3
405eea:	cc                   	int3
405eeb:	cc                   	int3
405eec:	cc                   	int3
405eed:	cc                   	int3
405eee:	cc                   	int3
405eef:	cc                   	int3
405ef0:	8b 44 24 0c          	mov    0xc(%esp),%eax
405ef4:	81 ec 08 02 00 00    	sub    $0x208,%esp
405efa:	56                   	push   %esi
405efb:	8b b4 24 14 02 00 00 	mov    0x214(%esp),%esi
405f02:	85 c0                	test   %eax,%eax
405f04:	75 11                	jne    0x405f17
405f06:	68 04 01 00 00       	push   $0x104
405f0b:	68 34 c9 45 00       	push   $0x45c934
405f10:	8d 44 24 0c          	lea    0xc(%esp),%eax
405f14:	50                   	push   %eax
405f15:	eb 37                	jmp    0x405f4e
405f17:	85 f6                	test   %esi,%esi
405f19:	75 28                	jne    0x405f43
405f1b:	39 b4 24 1c 02 00 00 	cmp    %esi,0x21c(%esp)
405f22:	75 1f                	jne    0x405f43
405f24:	50                   	push   %eax
405f25:	68 34 c9 45 00       	push   $0x45c934
405f2a:	68 0c c2 45 00       	push   $0x45c20c
405f2f:	8d 4c 24 10          	lea    0x10(%esp),%ecx
405f33:	68 04 01 00 00       	push   $0x104
405f38:	51                   	push   %ecx
405f39:	e8 21 a7 02 00       	call   0x43065f
405f3e:	83 c4 14             	add    $0x14,%esp
405f41:	eb 13                	jmp    0x405f56
405f43:	68 04 01 00 00       	push   $0x104
405f48:	50                   	push   %eax
405f49:	8d 54 24 0c          	lea    0xc(%esp),%edx
405f4d:	52                   	push   %edx
405f4e:	e8 57 ab 02 00       	call   0x430aaa
405f53:	83 c4 0c             	add    $0xc,%esp
405f56:	8d 44 24 04          	lea    0x4(%esp),%eax
405f5a:	50                   	push   %eax
405f5b:	e8 30 ff ff ff       	call   0x405e90
405f60:	83 c4 04             	add    $0x4,%esp
405f63:	85 f6                	test   %esi,%esi
405f65:	75 05                	jne    0x405f6c
405f67:	be 02 00 00 80       	mov    $0x80000002,%esi
405f6c:	8b 8c 24 10 02 00 00 	mov    0x210(%esp),%ecx
405f73:	6a 00                	push   $0x0
405f75:	51                   	push   %ecx
405f76:	6a 00                	push   $0x0
405f78:	e8 93 cf ff ff       	call   0x402f10
405f7d:	0b 84 24 2c 02 00 00 	or     0x22c(%esp),%eax
405f84:	8d 54 24 10          	lea    0x10(%esp),%edx
405f88:	50                   	push   %eax
405f89:	6a 00                	push   $0x0
405f8b:	6a 00                	push   $0x0
405f8d:	6a 00                	push   $0x0
405f8f:	52                   	push   %edx
405f90:	56                   	push   %esi
405f91:	ff 15 6c 33 47 00    	call   *0x47336c
405f97:	5e                   	pop    %esi
405f98:	81 c4 08 02 00 00    	add    $0x208,%esp
405f9e:	c3                   	ret
405f9f:	cc                   	int3
405fa0:	8b 44 24 08          	mov    0x8(%esp),%eax
405fa4:	85 c0                	test   %eax,%eax
405fa6:	75 01                	jne    0x405fa9
405fa8:	c3                   	ret
405fa9:	56                   	push   %esi
405faa:	8b 70 04             	mov    0x4(%eax),%esi
405fad:	57                   	push   %edi
405fae:	85 f6                	test   %esi,%esi
405fb0:	74 1b                	je     0x405fcd
405fb2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
405fb6:	8b 46 14             	mov    0x14(%esi),%eax
405fb9:	50                   	push   %eax
405fba:	57                   	push   %edi
405fbb:	e8 d7 d5 02 00       	call   0x433597
405fc0:	83 c4 08             	add    $0x8,%esp
405fc3:	85 c0                	test   %eax,%eax
405fc5:	74 0b                	je     0x405fd2
405fc7:	8b 36                	mov    (%esi),%esi
405fc9:	85 f6                	test   %esi,%esi
405fcb:	75 e9                	jne    0x405fb6
405fcd:	5f                   	pop    %edi
405fce:	33 c0                	xor    %eax,%eax
405fd0:	5e                   	pop    %esi
405fd1:	c3                   	ret
405fd2:	5f                   	pop    %edi
405fd3:	8b c6                	mov    %esi,%eax
405fd5:	5e                   	pop    %esi
405fd6:	c3                   	ret
405fd7:	cc                   	int3
405fd8:	cc                   	int3
405fd9:	cc                   	int3
405fda:	cc                   	int3
405fdb:	cc                   	int3
405fdc:	cc                   	int3
405fdd:	cc                   	int3
405fde:	cc                   	int3
405fdf:	cc                   	int3
405fe0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
405fe4:	8b 49 0c             	mov    0xc(%ecx),%ecx
405fe7:	33 c0                	xor    %eax,%eax
405fe9:	85 c9                	test   %ecx,%ecx
405feb:	74 0a                	je     0x405ff7
405fed:	8d 49 00             	lea    0x0(%ecx),%ecx
405ff0:	8b 09                	mov    (%ecx),%ecx
405ff2:	40                   	inc    %eax
405ff3:	85 c9                	test   %ecx,%ecx
405ff5:	75 f9                	jne    0x405ff0
405ff7:	c3                   	ret
405ff8:	cc                   	int3
405ff9:	cc                   	int3
405ffa:	cc                   	int3
405ffb:	cc                   	int3
405ffc:	cc                   	int3
405ffd:	cc                   	int3
405ffe:	cc                   	int3
405fff:	cc                   	int3
406000:	8b 44 24 08          	mov    0x8(%esp),%eax
406004:	85 c0                	test   %eax,%eax
406006:	75 01                	jne    0x406009
406008:	c3                   	ret
406009:	56                   	push   %esi
40600a:	8b 70 0c             	mov    0xc(%eax),%esi
40600d:	57                   	push   %edi
40600e:	85 f6                	test   %esi,%esi
406010:	74 1b                	je     0x40602d
406012:	8b 7c 24 0c          	mov    0xc(%esp),%edi
406016:	8b 46 04             	mov    0x4(%esi),%eax
406019:	50                   	push   %eax
40601a:	57                   	push   %edi
40601b:	e8 77 d5 02 00       	call   0x433597
406020:	83 c4 08             	add    $0x8,%esp
406023:	85 c0                	test   %eax,%eax
406025:	74 0b                	je     0x406032
406027:	8b 36                	mov    (%esi),%esi
406029:	85 f6                	test   %esi,%esi
40602b:	75 e9                	jne    0x406016
40602d:	5f                   	pop    %edi
40602e:	33 c0                	xor    %eax,%eax
406030:	5e                   	pop    %esi
406031:	c3                   	ret
406032:	5f                   	pop    %edi
406033:	b8 01 00 00 00       	mov    $0x1,%eax
406038:	5e                   	pop    %esi
406039:	c3                   	ret
40603a:	cc                   	int3
40603b:	cc                   	int3
40603c:	cc                   	int3
40603d:	cc                   	int3
40603e:	cc                   	int3
40603f:	cc                   	int3
406040:	56                   	push   %esi
406041:	6a 18                	push   $0x18
406043:	e8 ce a9 02 00       	call   0x430a16
406048:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40604c:	8b f0                	mov    %eax,%esi
40604e:	33 c0                	xor    %eax,%eax
406050:	83 c4 04             	add    $0x4,%esp
406053:	89 06                	mov    %eax,(%esi)
406055:	89 46 04             	mov    %eax,0x4(%esi)
406058:	89 46 08             	mov    %eax,0x8(%esi)
40605b:	89 46 0c             	mov    %eax,0xc(%esi)
40605e:	89 46 10             	mov    %eax,0x10(%esi)
406061:	3b c8                	cmp    %eax,%ecx
406063:	74 09                	je     0x40606e
406065:	51                   	push   %ecx
406066:	e8 2d 22 04 00       	call   0x448298
40606b:	83 c4 04             	add    $0x4,%esp
40606e:	89 46 14             	mov    %eax,0x14(%esi)
406071:	8b c6                	mov    %esi,%eax
406073:	5e                   	pop    %esi
406074:	c3                   	ret
406075:	cc                   	int3
406076:	cc                   	int3
406077:	cc                   	int3
406078:	cc                   	int3
406079:	cc                   	int3
40607a:	cc                   	int3
40607b:	cc                   	int3
40607c:	cc                   	int3
40607d:	cc                   	int3
40607e:	cc                   	int3
40607f:	cc                   	int3
406080:	53                   	push   %ebx
406081:	56                   	push   %esi
406082:	57                   	push   %edi
406083:	8b 7c 24 10          	mov    0x10(%esp),%edi
406087:	8b 77 04             	mov    0x4(%edi),%esi
40608a:	33 db                	xor    %ebx,%ebx
40608c:	3b f3                	cmp    %ebx,%esi
40608e:	74 0f                	je     0x40609f
406090:	56                   	push   %esi
406091:	8b 36                	mov    (%esi),%esi
406093:	e8 78 00 00 00       	call   0x406110
406098:	83 c4 04             	add    $0x4,%esp
40609b:	3b f3                	cmp    %ebx,%esi
40609d:	75 f1                	jne    0x406090
40609f:	89 5f 08             	mov    %ebx,0x8(%edi)
4060a2:	89 5f 04             	mov    %ebx,0x4(%edi)
4060a5:	5f                   	pop    %edi
4060a6:	5e                   	pop    %esi
4060a7:	5b                   	pop    %ebx
4060a8:	c3                   	ret
4060a9:	cc                   	int3
4060aa:	cc                   	int3
4060ab:	cc                   	int3
4060ac:	cc                   	int3
4060ad:	cc                   	int3
4060ae:	cc                   	int3
4060af:	cc                   	int3
4060b0:	56                   	push   %esi
4060b1:	6a 0c                	push   $0xc
4060b3:	e8 5e a9 02 00       	call   0x430a16
4060b8:	8b f0                	mov    %eax,%esi
4060ba:	8b 44 24 0c          	mov    0xc(%esp),%eax
4060be:	50                   	push   %eax
4060bf:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4060c5:	e8 ce 21 04 00       	call   0x448298
4060ca:	89 46 04             	mov    %eax,0x4(%esi)
4060cd:	83 c4 08             	add    $0x8,%esp
4060d0:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4060d7:	8b c6                	mov    %esi,%eax
4060d9:	5e                   	pop    %esi
4060da:	c3                   	ret
4060db:	cc                   	int3
4060dc:	cc                   	int3
4060dd:	cc                   	int3
4060de:	cc                   	int3
4060df:	cc                   	int3
4060e0:	56                   	push   %esi
4060e1:	8b 74 24 08          	mov    0x8(%esp),%esi
4060e5:	8b 46 04             	mov    0x4(%esi),%eax
4060e8:	85 c0                	test   %eax,%eax
4060ea:	74 09                	je     0x4060f5
4060ec:	50                   	push   %eax
4060ed:	e8 ab a8 02 00       	call   0x43099d
4060f2:	83 c4 04             	add    $0x4,%esp
4060f5:	8b 46 08             	mov    0x8(%esi),%eax
4060f8:	85 c0                	test   %eax,%eax
4060fa:	74 09                	je     0x406105
4060fc:	50                   	push   %eax
4060fd:	e8 9b a8 02 00       	call   0x43099d
406102:	83 c4 04             	add    $0x4,%esp
406105:	56                   	push   %esi
406106:	e8 92 a8 02 00       	call   0x43099d
40610b:	83 c4 04             	add    $0x4,%esp
40610e:	5e                   	pop    %esi
40610f:	c3                   	ret
406110:	53                   	push   %ebx
406111:	8b 5c 24 08          	mov    0x8(%esp),%ebx
406115:	56                   	push   %esi
406116:	8b 73 0c             	mov    0xc(%ebx),%esi
406119:	57                   	push   %edi
40611a:	8b 7b 04             	mov    0x4(%ebx),%edi
40611d:	85 ff                	test   %edi,%edi
40611f:	74 0f                	je     0x406130
406121:	57                   	push   %edi
406122:	8b 3f                	mov    (%edi),%edi
406124:	e8 e7 ff ff ff       	call   0x406110
406129:	83 c4 04             	add    $0x4,%esp
40612c:	85 ff                	test   %edi,%edi
40612e:	75 f1                	jne    0x406121
406130:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
406137:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
40613e:	85 f6                	test   %esi,%esi