403e59:	75 5b                	jne    0x403eb6
403e5b:	85 db                	test   %ebx,%ebx
403e5d:	0f 84 c7 00 00 00    	je     0x403f2a
403e63:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403e69:	50                   	push   %eax
403e6a:	6a 00                	push   $0x0
403e6c:	68 38 b8 44 00       	push   $0x44b838
403e71:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
403e77:	50                   	push   %eax
403e78:	ff 15 1c b1 44 00    	call   *0x44b11c
403e7e:	85 c0                	test   %eax,%eax
403e80:	0f 84 82 00 00 00    	je     0x403f08
403e86:	8b 35 7c b1 44 00    	mov    0x44b17c,%esi
403e8c:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403e92:	6a 01                	push   $0x1
403e94:	50                   	push   %eax
403e95:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403e9b:	ff d6                	call   *%esi
403e9d:	6a 04                	push   $0x4
403e9f:	6a 00                	push   $0x0
403ea1:	85 c0                	test   %eax,%eax
403ea3:	74 09                	je     0x403eae
403ea5:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403eab:	50                   	push   %eax
403eac:	eb 06                	jmp    0x403eb4
403eae:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403eb4:	ff d6                	call   *%esi
403eb6:	8b 85 94 f9 ff ff    	mov    -0x66c(%ebp),%eax
403ebc:	8d 8d 9c f9 ff ff    	lea    -0x664(%ebp),%ecx
403ec2:	51                   	push   %ecx
403ec3:	50                   	push   %eax
403ec4:	ff 15 78 b1 44 00    	call   *0x44b178
403eca:	85 c0                	test   %eax,%eax
403ecc:	74 7e                	je     0x403f4c
403ece:	8b 85 94 f9 ff ff    	mov    -0x66c(%ebp),%eax
403ed4:	e9 af fe ff ff       	jmp    0x403d88
403ed9:	ff d7                	call   *%edi
403edb:	0f b7 f0             	movzwl %ax,%esi
403ede:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403ee4:	85 c0                	test   %eax,%eax
403ee6:	0f 4e f0             	cmovle %eax,%esi
403ee9:	b8 05 40 00 80       	mov    $0x80004005,%eax
403eee:	85 f6                	test   %esi,%esi
403ef0:	0f 49 f0             	cmovns %eax,%esi
403ef3:	56                   	push   %esi
403ef4:	68 0b 01 00 00       	push   $0x10b
403ef9:	68 24 b8 44 00       	push   $0x44b824
403efe:	e8 d0 f8 ff ff       	call   0x4037d3
403f03:	e9 d0 00 00 00       	jmp    0x403fd8
403f08:	ff d7                	call   *%edi
403f0a:	0f b7 f0             	movzwl %ax,%esi
403f0d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403f13:	85 c0                	test   %eax,%eax
403f15:	0f 4e f0             	cmovle %eax,%esi
403f18:	b8 05 40 00 80       	mov    $0x80004005,%eax
403f1d:	85 f6                	test   %esi,%esi
403f1f:	0f 49 f0             	cmovns %eax,%esi
403f22:	56                   	push   %esi
403f23:	68 15 01 00 00       	push   $0x115
403f28:	eb cf                	jmp    0x403ef9
403f2a:	ff d7                	call   *%edi
403f2c:	0f b7 f0             	movzwl %ax,%esi
403f2f:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403f35:	85 c0                	test   %eax,%eax
403f37:	0f 4e f0             	cmovle %eax,%esi
403f3a:	b8 05 40 00 80       	mov    $0x80004005,%eax
403f3f:	85 f6                	test   %esi,%esi
403f41:	0f 49 f0             	cmovns %eax,%esi
403f44:	56                   	push   %esi
403f45:	68 25 01 00 00       	push   $0x125
403f4a:	eb ad                	jmp    0x403ef9
403f4c:	ff d7                	call   *%edi
403f4e:	83 f8 12             	cmp    $0x12,%eax
403f51:	75 5b                	jne    0x403fae
403f53:	33 f6                	xor    %esi,%esi
403f55:	eb 06                	jmp    0x403f5d
403f57:	8b 9d 84 f9 ff ff    	mov    -0x67c(%ebp),%ebx
403f5d:	ff b5 90 f9 ff ff    	push   -0x670(%ebp)
403f63:	ff 15 64 b1 44 00    	call   *0x44b164
403f69:	85 c0                	test   %eax,%eax
403f6b:	75 6b                	jne    0x403fd8
403f6d:	ff d7                	call   *%edi
403f6f:	0f b7 f0             	movzwl %ax,%esi
403f72:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403f78:	85 c0                	test   %eax,%eax
403f7a:	0f 4e f0             	cmovle %eax,%esi
403f7d:	81 fe 20 00 07 80    	cmp    $0x80070020,%esi
403f83:	75 1a                	jne    0x403f9f
403f85:	85 db                	test   %ebx,%ebx
403f87:	74 1a                	je     0x403fa3
403f89:	6a 04                	push   $0x4
403f8b:	6a 00                	push   $0x0
403f8d:	ff b5 90 f9 ff ff    	push   -0x670(%ebp)
403f93:	ff 15 7c b1 44 00    	call   *0x44b17c
403f99:	85 c0                	test   %eax,%eax
403f9b:	74 06                	je     0x403fa3
403f9d:	33 f6                	xor    %esi,%esi
403f9f:	85 f6                	test   %esi,%esi
403fa1:	79 35                	jns    0x403fd8
403fa3:	56                   	push   %esi
403fa4:	68 41 01 00 00       	push   $0x141
403fa9:	e9 4b ff ff ff       	jmp    0x403ef9
403fae:	ff d7                	call   *%edi
403fb0:	0f b7 f0             	movzwl %ax,%esi
403fb3:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403fb9:	85 c0                	test   %eax,%eax
403fbb:	0f 4e f0             	cmovle %eax,%esi
403fbe:	b8 05 40 00 80       	mov    $0x80004005,%eax
403fc3:	85 f6                	test   %esi,%esi
403fc5:	0f 49 f0             	cmovns %eax,%esi
403fc8:	56                   	push   %esi
403fc9:	68 32 01 00 00       	push   $0x132
403fce:	e9 26 ff ff ff       	jmp    0x403ef9
403fd3:	be ff ff 00 80       	mov    $0x8000ffff,%esi
403fd8:	8b 85 94 f9 ff ff    	mov    -0x66c(%ebp),%eax
403fde:	83 f8 ff             	cmp    $0xffffffff,%eax
403fe1:	74 07                	je     0x403fea
403fe3:	50                   	push   %eax
403fe4:	ff 15 58 b1 44 00    	call   *0x44b158
403fea:	83 bd 98 f9 ff ff 00 	cmpl   $0x0,-0x668(%ebp)
403ff1:	74 0b                	je     0x403ffe
403ff3:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403ff9:	e8 f1 14 04 00       	call   0x4454ef
403ffe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404001:	8b c6                	mov    %esi,%eax
404003:	5f                   	pop    %edi
404004:	5e                   	pop    %esi
404005:	33 cd                	xor    %ebp,%ecx
404007:	5b                   	pop    %ebx
404008:	e8 29 9e 02 00       	call   0x42de36
40400d:	8b e5                	mov    %ebp,%esp
40400f:	5d                   	pop    %ebp
404010:	c2 08 00             	ret    $0x8
404013:	55                   	push   %ebp
404014:	8b ec                	mov    %esp,%ebp
404016:	56                   	push   %esi
404017:	57                   	push   %edi
404018:	ff 75 0c             	push   0xc(%ebp)
40401b:	8b 7d 08             	mov    0x8(%ebp),%edi
40401e:	33 f6                	xor    %esi,%esi
404020:	57                   	push   %edi
404021:	ff 15 20 b1 44 00    	call   *0x44b120
404027:	85 c0                	test   %eax,%eax
404029:	0f 85 ab 00 00 00    	jne    0x4040da
40402f:	ff 15 e8 b0 44 00    	call   *0x44b0e8
404035:	3d b7 00 00 00       	cmp    $0xb7,%eax
40403a:	75 07                	jne    0x404043
40403c:	33 f6                	xor    %esi,%esi
40403e:	e9 97 00 00 00       	jmp    0x4040da
404043:	83 f8 03             	cmp    $0x3,%eax
404046:	74 0c                	je     0x404054
404048:	6a 00                	push   $0x0
40404a:	57                   	push   %edi
40404b:	e8 92 00 00 00       	call   0x4040e2
404050:	85 c0                	test   %eax,%eax
404052:	75 e8                	jne    0x40403c
404054:	0f b7 07             	movzwl (%edi),%eax
404057:	8b cf                	mov    %edi,%ecx
404059:	53                   	push   %ebx
40405a:	33 db                	xor    %ebx,%ebx
40405c:	66 85 c0             	test   %ax,%ax
40405f:	74 66                	je     0x4040c7
404061:	6a 5c                	push   $0x5c
404063:	5a                   	pop    %edx
404064:	66 3b c2             	cmp    %dx,%ax
404067:	0f 44 d9             	cmove  %ecx,%ebx
40406a:	83 c1 02             	add    $0x2,%ecx
40406d:	0f b7 01             	movzwl (%ecx),%eax
404070:	66 85 c0             	test   %ax,%ax
404073:	75 ef                	jne    0x404064
404075:	85 db                	test   %ebx,%ebx
404077:	74 4e                	je     0x4040c7
404079:	ff 75 0c             	push   0xc(%ebp)
40407c:	33 c0                	xor    %eax,%eax
40407e:	57                   	push   %edi
40407f:	66 89 03             	mov    %ax,(%ebx)
404082:	e8 8c ff ff ff       	call   0x404013
404087:	8b f0                	mov    %eax,%esi
404089:	6a 5c                	push   $0x5c
40408b:	58                   	pop    %eax
40408c:	66 89 03             	mov    %ax,(%ebx)
40408f:	85 f6                	test   %esi,%esi
404091:	78 46                	js     0x4040d9
404093:	ff 75 0c             	push   0xc(%ebp)
404096:	57                   	push   %edi
404097:	ff 15 20 b1 44 00    	call   *0x44b120
40409d:	85 c0                	test   %eax,%eax
40409f:	75 22                	jne    0x4040c3
4040a1:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4040a7:	3d b7 00 00 00       	cmp    $0xb7,%eax
4040ac:	75 05                	jne    0x4040b3
4040ae:	33 f6                	xor    %esi,%esi
4040b0:	46                   	inc    %esi
4040b1:	eb 26                	jmp    0x4040d9
4040b3:	0f b7 f0             	movzwl %ax,%esi
4040b6:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4040bc:	85 c0                	test   %eax,%eax
4040be:	0f 4e f0             	cmovle %eax,%esi
4040c1:	eb 16                	jmp    0x4040d9
4040c3:	33 f6                	xor    %esi,%esi
4040c5:	eb 12                	jmp    0x4040d9
4040c7:	be 03 00 07 80       	mov    $0x80070003,%esi
4040cc:	56                   	push   %esi
4040cd:	6a 72                	push   $0x72
4040cf:	68 24 b8 44 00       	push   $0x44b824
4040d4:	e8 fa f6 ff ff       	call   0x4037d3
4040d9:	5b                   	pop    %ebx
4040da:	5f                   	pop    %edi
4040db:	8b c6                	mov    %esi,%eax
4040dd:	5e                   	pop    %esi
4040de:	5d                   	pop    %ebp
4040df:	c2 08 00             	ret    $0x8
4040e2:	55                   	push   %ebp
4040e3:	8b ec                	mov    %esp,%ebp
4040e5:	56                   	push   %esi
4040e6:	ff 75 08             	push   0x8(%ebp)
4040e9:	33 f6                	xor    %esi,%esi
4040eb:	ff 15 6c b1 44 00    	call   *0x44b16c
4040f1:	83 f8 ff             	cmp    $0xffffffff,%eax
4040f4:	74 10                	je     0x404106
4040f6:	a8 10                	test   $0x10,%al
4040f8:	74 0c                	je     0x404106
4040fa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4040fd:	85 c9                	test   %ecx,%ecx
4040ff:	74 02                	je     0x404103
404101:	89 01                	mov    %eax,(%ecx)
404103:	33 f6                	xor    %esi,%esi
404105:	46                   	inc    %esi
404106:	8b c6                	mov    %esi,%eax
404108:	5e                   	pop    %esi
404109:	5d                   	pop    %ebp
40410a:	c2 08 00             	ret    $0x8
40410d:	55                   	push   %ebp
40410e:	8b ec                	mov    %esp,%ebp
404110:	51                   	push   %ecx
404111:	53                   	push   %ebx
404112:	56                   	push   %esi
404113:	33 db                	xor    %ebx,%ebx
404115:	57                   	push   %edi
404116:	8b 7d 08             	mov    0x8(%ebp),%edi
404119:	8b c3                	mov    %ebx,%eax
40411b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40411e:	8b f3                	mov    %ebx,%esi
404120:	85 ff                	test   %edi,%edi
404122:	74 22                	je     0x404146
404124:	39 07                	cmp    %eax,(%edi)
404126:	74 1e                	je     0x404146
404128:	8d 45 fc             	lea    -0x4(%ebp),%eax
40412b:	50                   	push   %eax
40412c:	ff 37                	push   (%edi)
40412e:	e8 2a e6 ff ff       	call   0x40275d
404133:	8b f0                	mov    %eax,%esi
404135:	85 f6                	test   %esi,%esi
404137:	0f 88 8a 00 00 00    	js     0x4041c7
40413d:	8b 45 fc             	mov    -0x4(%ebp),%eax
404140:	85 c0                	test   %eax,%eax
404142:	74 02                	je     0x404146
404144:	8b 1f                	mov    (%edi),%ebx
404146:	53                   	push   %ebx
404147:	50                   	push   %eax
404148:	ff 15 60 b1 44 00    	call   *0x44b160
40414e:	8b d8                	mov    %eax,%ebx
404150:	85 db                	test   %ebx,%ebx
404152:	75 26                	jne    0x40417a
404154:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40415a:	0f b7 f0             	movzwl %ax,%esi
40415d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
404163:	85 c0                	test   %eax,%eax
404165:	0f 4e f0             	cmovle %eax,%esi
404168:	b8 05 40 00 80       	mov    $0x80004005,%eax
40416d:	85 f6                	test   %esi,%esi
40416f:	0f 49 f0             	cmovns %eax,%esi
404172:	56                   	push   %esi
404173:	68 87 01 00 00       	push   $0x187
404178:	eb 43                	jmp    0x4041bd
40417a:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
40417d:	73 48                	jae    0x4041c7
40417f:	53                   	push   %ebx
404180:	57                   	push   %edi
404181:	e8 58 dd ff ff       	call   0x401ede
404186:	8b f0                	mov    %eax,%esi
404188:	85 f6                	test   %esi,%esi
40418a:	78 3b                	js     0x4041c7
40418c:	ff 37                	push   (%edi)
40418e:	53                   	push   %ebx
40418f:	ff 15 60 b1 44 00    	call   *0x44b160
404195:	85 c0                	test   %eax,%eax
404197:	75 2e                	jne    0x4041c7
404199:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40419f:	0f b7 f0             	movzwl %ax,%esi
4041a2:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4041a8:	85 c0                	test   %eax,%eax
4041aa:	0f 4e f0             	cmovle %eax,%esi
4041ad:	b8 05 40 00 80       	mov    $0x80004005,%eax
4041b2:	85 f6                	test   %esi,%esi
4041b4:	0f 49 f0             	cmovns %eax,%esi
4041b7:	56                   	push   %esi
4041b8:	68 90 01 00 00       	push   $0x190
4041bd:	68 24 b8 44 00       	push   $0x44b824
4041c2:	e8 0c f6 ff ff       	call   0x4037d3
4041c7:	5f                   	pop    %edi
4041c8:	8b c6                	mov    %esi,%eax
4041ca:	5e                   	pop    %esi
4041cb:	5b                   	pop    %ebx
4041cc:	8b e5                	mov    %ebp,%esp
4041ce:	5d                   	pop    %ebp
4041cf:	c2 04 00             	ret    $0x4
4041d2:	55                   	push   %ebp
4041d3:	8b ec                	mov    %esp,%ebp
4041d5:	51                   	push   %ecx
4041d6:	8b 45 0c             	mov    0xc(%ebp),%eax
4041d9:	83 4d 0c ff          	orl    $0xffffffff,0xc(%ebp)
4041dd:	53                   	push   %ebx
4041de:	56                   	push   %esi
4041df:	8b 35 88 b1 44 00    	mov    0x44b188,%esi
4041e5:	57                   	push   %edi
4041e6:	8b 7d 08             	mov    0x8(%ebp),%edi
4041e9:	57                   	push   %edi
4041ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
4041ed:	83 8f 98 04 00 00 ff 	orl    $0xffffffff,0x498(%edi)
4041f4:	c7 87 94 04 00 00 01 	movl   $0x1,0x494(%edi)
4041fb:	00 00 00
4041fe:	ff d6                	call   *%esi
404200:	8d 87 d0 00 00 00    	lea    0xd0(%edi),%eax
404206:	50                   	push   %eax
404207:	ff d6                	call   *%esi
404209:	8d 87 a0 04 00 00    	lea    0x4a0(%edi),%eax
40420f:	50                   	push   %eax
404210:	e8 f9 08 01 00       	call   0x414b0e
404215:	8d 87 b8 04 00 00    	lea    0x4b8(%edi),%eax
40421b:	50                   	push   %eax
40421c:	e8 ed 08 01 00       	call   0x414b0e
404221:	33 db                	xor    %ebx,%ebx
404223:	39 9f dc 04 00 00    	cmp    %ebx,0x4dc(%edi)
404229:	0f 8e 1e 01 00 00    	jle    0x40434d
40422f:	8b 35 f8 b0 44 00    	mov    0x44b0f8,%esi
404235:	8b 87 e0 04 00 00    	mov    0x4e0(%edi),%eax
40423b:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40423e:	66 83 38 2d          	cmpw   $0x2d,(%eax)
404242:	0f 85 f8 00 00 00    	jne    0x404340
404248:	68 60 b8 44 00       	push   $0x44b860
40424d:	ff d6                	call   *%esi
40424f:	50                   	push   %eax
404250:	b8 60 b8 44 00       	mov    $0x44b860,%eax
404255:	50                   	push   %eax
404256:	50                   	push   %eax
404257:	ff d6                	call   *%esi
404259:	50                   	push   %eax
40425a:	8b 87 e0 04 00 00    	mov    0x4e0(%edi),%eax
404260:	8b 04 98             	mov    (%eax,%ebx,4),%eax