40fd11:	8b 4b 10             	mov    0x10(%ebx),%ecx
40fd14:	6a 00                	push   $0x0
40fd16:	89 4c 24 28          	mov    %ecx,0x28(%esp)
40fd1a:	6a 04                	push   $0x4
40fd1c:	8b 01                	mov    (%ecx),%eax
40fd1e:	8b 40 04             	mov    0x4(%eax),%eax
40fd21:	89 44 24 28          	mov    %eax,0x28(%esp)
40fd25:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
40fd2a:	0f 85 39 13 01 00    	jne    0x421069
40fd30:	8d 44 24 20          	lea    0x20(%esp),%eax
40fd34:	50                   	push   %eax
40fd35:	e8 36 30 00 00       	call   0x412d70
40fd3a:	8b c8                	mov    %eax,%ecx
40fd3c:	85 c9                	test   %ecx,%ecx
40fd3e:	0f 88 53 ff ff ff    	js     0x40fc97
40fd44:	83 03 04             	addl   $0x4,(%ebx)
40fd47:	85 c9                	test   %ecx,%ecx
40fd49:	0f 88 48 ff ff ff    	js     0x40fc97
40fd4f:	33 c9                	xor    %ecx,%ecx
40fd51:	8d 34 75 02 00 00 00 	lea    0x2(,%esi,2),%esi
40fd58:	39 4b 08             	cmp    %ecx,0x8(%ebx)
40fd5b:	0f 84 34 ff ff ff    	je     0x40fc95
40fd61:	8b 4b 10             	mov    0x10(%ebx),%ecx
40fd64:	6a 00                	push   $0x0
40fd66:	56                   	push   %esi
40fd67:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
40fd6b:	8b 01                	mov    (%ecx),%eax
40fd6d:	57                   	push   %edi
40fd6e:	8b 40 04             	mov    0x4(%eax),%eax
40fd71:	89 44 24 2c          	mov    %eax,0x2c(%esp)
40fd75:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
40fd7a:	0f 85 03 13 01 00    	jne    0x421083
40fd80:	e8 eb 2f 00 00       	call   0x412d70
40fd85:	8b c8                	mov    %eax,%ecx
40fd87:	85 c9                	test   %ecx,%ecx
40fd89:	0f 89 06 ff ff ff    	jns    0x40fc95
40fd8f:	e9 03 ff ff ff       	jmp    0x40fc97
40fd94:	25 ff 0f 00 00       	and    $0xfff,%eax
40fd99:	83 f8 1f             	cmp    $0x1f,%eax
40fd9c:	0f 85 0d 13 01 00    	jne    0x4210af
40fda2:	33 db                	xor    %ebx,%ebx
40fda4:	39 5e 08             	cmp    %ebx,0x8(%esi)
40fda7:	0f 86 03 ff ff ff    	jbe    0x40fcb0
40fdad:	8d 49 00             	lea    0x0(%ecx),%ecx
40fdb0:	85 c9                	test   %ecx,%ecx
40fdb2:	0f 88 f8 fe ff ff    	js     0x40fcb0
40fdb8:	8b 46 0c             	mov    0xc(%esi),%eax
40fdbb:	8b cf                	mov    %edi,%ecx
40fdbd:	ff 34 98             	push   (%eax,%ebx,4)
40fdc0:	e8 f6 3b 00 00       	call   0x4139bb
40fdc5:	43                   	inc    %ebx
40fdc6:	8b c8                	mov    %eax,%ecx
40fdc8:	3b 5e 08             	cmp    0x8(%esi),%ebx
40fdcb:	0f 83 df fe ff ff    	jae    0x40fcb0
40fdd1:	eb dd                	jmp    0x40fdb0
40fdd3:	81 e2 1f f0 00 00    	and    $0xf01f,%edx
40fdd9:	c6 44 24 13 01       	movb   $0x1,0x13(%esp)
40fdde:	83 ca 1f             	or     $0x1f,%edx
40fde1:	66 89 16             	mov    %dx,(%esi)
40fde4:	e9 da fd ff ff       	jmp    0x40fbc3
40fde9:	66 8b 06             	mov    (%esi),%ax
40fdec:	ba 08 f0 00 00       	mov    $0xf008,%edx
40fdf1:	66 23 c2             	and    %dx,%ax
40fdf4:	66 83 c8 08          	or     $0x8,%ax
40fdf8:	66 89 06             	mov    %ax,(%esi)
40fdfb:	e9 bb fe ff ff       	jmp    0x40fcbb
40fe00:	83 f9 46             	cmp    $0x46,%ecx
40fe03:	76 09                	jbe    0x40fe0e
40fe05:	83 f9 49             	cmp    $0x49,%ecx
40fe08:	0f 85 87 fd ff ff    	jne    0x40fb95
40fe0e:	b8 13 0d 04 80       	mov    $0x80040d13,%eax
40fe13:	e9 a5 fe ff ff       	jmp    0x40fcbd
40fe18:	ff 76 08             	push   0x8(%esi)
40fe1b:	8b cb                	mov    %ebx,%ecx
40fe1d:	6a 10                	push   $0x10
40fe1f:	e8 f2 ee ff ff       	call   0x40ed16
40fe24:	8b c8                	mov    %eax,%ecx
40fe26:	e9 6f fe ff ff       	jmp    0x40fc9a
40fe2b:	90                   	nop
40fe2c:	79 11                	jns    0x40fe3f
40fe2e:	42                   	inc    %edx
40fe2f:	00 84 fc 40 00 fc 0f 	add    %al,0xffc0040(%esp,%edi,8)
40fe36:	42                   	inc    %edx
40fe37:	00 18                	add    %bl,(%eax)
40fe39:	fe 40 00             	incb   0x0(%eax)
40fe3c:	9a fc 40 00 00 04 04 	lcall  $0x404,$0x40fc
40fe43:	04 04                	add    $0x4,%al
40fe45:	04 04                	add    $0x4,%al
40fe47:	04 04                	add    $0x4,%al
40fe49:	04 04                	add    $0x4,%al
40fe4b:	04 04                	add    $0x4,%al
40fe4d:	04 04                	add    $0x4,%al
40fe4f:	04 04                	add    $0x4,%al
40fe51:	04 04                	add    $0x4,%al
40fe53:	04 04                	add    $0x4,%al
40fe55:	04 04                	add    $0x4,%al
40fe57:	04 04                	add    $0x4,%al
40fe59:	04 04                	add    $0x4,%al
40fe5b:	04 04                	add    $0x4,%al
40fe5d:	04 04                	add    $0x4,%al
40fe5f:	04 04                	add    $0x4,%al
40fe61:	04 04                	add    $0x4,%al
40fe63:	01 04 04             	add    %eax,(%esp,%eax,1)
40fe66:	04 04                	add    $0x4,%al
40fe68:	04 02                	add    $0x2,%al
40fe6a:	03 cc                	add    %esp,%ecx
40fe6c:	cc                   	int3
40fe6d:	cc                   	int3
40fe6e:	cc                   	int3
40fe6f:	cc                   	int3
40fe70:	8b ff                	mov    %edi,%edi
40fe72:	55                   	push   %ebp
40fe73:	8b ec                	mov    %esp,%ebp
40fe75:	6a ff                	push   $0xffffffff
40fe77:	68 a3 e7 41 00       	push   $0x41e7a3
40fe7c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40fe82:	50                   	push   %eax
40fe83:	51                   	push   %ecx
40fe84:	b8 ac 58 00 00       	mov    $0x58ac,%eax
40fe89:	e8 a2 e1 00 00       	call   0x41e030
40fe8e:	a1 08 85 43 00       	mov    0x438508,%eax
40fe93:	33 c5                	xor    %ebp,%eax
40fe95:	89 45 ec             	mov    %eax,-0x14(%ebp)
40fe98:	53                   	push   %ebx
40fe99:	56                   	push   %esi
40fe9a:	57                   	push   %edi
40fe9b:	50                   	push   %eax
40fe9c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fe9f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40fea5:	89 65 f0             	mov    %esp,-0x10(%ebp)
40fea8:	8b 7d 08             	mov    0x8(%ebp),%edi
40feab:	8d 8d 9c a7 ff ff    	lea    -0x5864(%ebp),%ecx
40feb1:	89 bd 18 a8 ff ff    	mov    %edi,-0x57e8(%ebp)
40feb7:	e8 1f 4d 01 00       	call   0x424bdb
40febc:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40fec3:	a1 9c 8d 43 00       	mov    0x438d9c,%eax
40fec8:	51                   	push   %ecx
40fec9:	8d 8d 54 a7 ff ff    	lea    -0x58ac(%ebp),%ecx
40fecf:	89 47 7c             	mov    %eax,0x7c(%edi)
40fed2:	e8 18 c5 ff ff       	call   0x40c3ef
40fed7:	b9 84 8d 43 00       	mov    $0x438d84,%ecx
40fedc:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40fee0:	e8 0d 7e 01 00       	call   0x427cf2
40fee5:	8b 35 18 8a 43 00    	mov    0x438a18,%esi
40feeb:	b9 84 8d 43 00       	mov    $0x438d84,%ecx
40fef0:	8d 46 01             	lea    0x1(%esi),%eax
40fef3:	a3 18 8a 43 00       	mov    %eax,0x438a18
40fef8:	e8 7b 8c 01 00       	call   0x428b78
40fefd:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
40ff03:	50                   	push   %eax
40ff04:	8d 8d 1c b1 ff ff    	lea    -0x4ee4(%ebp),%ecx
40ff0a:	e8 39 5d 00 00       	call   0x415c48
40ff0f:	6a 0a                	push   $0xa
40ff11:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40ff14:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40ff18:	50                   	push   %eax
40ff19:	56                   	push   %esi
40ff1a:	ff 15 f0 a4 43 00    	call   *0x43a4f0
40ff20:	83 c4 0c             	add    $0xc,%esp
40ff23:	8d 8d 1c b1 ff ff    	lea    -0x4ee4(%ebp),%ecx
40ff29:	50                   	push   %eax
40ff2a:	e8 3f 5d 01 00       	call   0x425c6e
40ff2f:	8d 8d c8 be ff ff    	lea    -0x4138(%ebp),%ecx
40ff35:	e8 e0 c4 ff ff       	call   0x40c41a
40ff3a:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40ff3e:	ff b5 20 b1 ff ff    	push   -0x4ee0(%ebp)
40ff44:	e8 f3 ee ff ff       	call   0x40ee3c
40ff49:	85 c0                	test   %eax,%eax
40ff4b:	0f 88 e0 1b 00 00    	js     0x411b31
40ff51:	83 3d 20 8a 43 00 00 	cmpl   $0x0,0x438a20
40ff58:	a1 70 8d 43 00       	mov    0x438d70,%eax
40ff5d:	89 85 d0 be ff ff    	mov    %eax,-0x4130(%ebp)
40ff63:	a1 7c 8d 43 00       	mov    0x438d7c,%eax
40ff68:	89 85 d4 be ff ff    	mov    %eax,-0x412c(%ebp)
40ff6e:	74 0a                	je     0x40ff7a
40ff70:	c7 85 10 bf ff ff ff 	movl   $0xffffffff,-0x40f0(%ebp)
40ff77:	ff ff ff
40ff7a:	8b 85 f0 be ff ff    	mov    -0x4110(%ebp),%eax
40ff80:	8b 0d 14 8a 43 00    	mov    0x438a14,%ecx
40ff86:	89 08                	mov    %ecx,(%eax)
40ff88:	f7 d1                	not    %ecx
40ff8a:	8b 85 f0 be ff ff    	mov    -0x4110(%ebp),%eax
40ff90:	89 48 04             	mov    %ecx,0x4(%eax)
40ff93:	8d 8d c8 be ff ff    	lea    -0x4138(%ebp),%ecx
40ff99:	e8 8f 59 00 00       	call   0x41592d
40ff9e:	85 c0                	test   %eax,%eax
40ffa0:	0f 88 a5 1b 00 00    	js     0x411b4b
40ffa6:	8d 8d b4 a7 ff ff    	lea    -0x584c(%ebp),%ecx
40ffac:	c7 85 10 bf ff ff ff 	movl   $0xffffffff,-0x40f0(%ebp)
40ffb3:	ff ff ff
40ffb6:	e8 c7 c4 ff ff       	call   0x40c482
40ffbb:	8b c1                	mov    %ecx,%eax
40ffbd:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40ffc1:	50                   	push   %eax
40ffc2:	6a 00                	push   $0x0
40ffc4:	ff 15 44 d0 43 00    	call   *0x43d044
40ffca:	8b d8                	mov    %eax,%ebx
40ffcc:	89 9d 3c a8 ff ff    	mov    %ebx,-0x57c4(%ebp)
40ffd2:	85 db                	test   %ebx,%ebx
40ffd4:	0f 88 8b 1b 00 00    	js     0x411b65
40ffda:	e9 a5 00 00 00       	jmp    0x410084
40ffdf:	56                   	push   %esi
40ffe0:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
40ffe6:	e8 f4 e6 ff ff       	call   0x40e6df
40ffeb:	8d 8d 34 bd ff ff    	lea    -0x42cc(%ebp),%ecx
40fff1:	e8 c0 e6 ff ff       	call   0x40e6b6
40fff6:	8d 8d 1c a8 ff ff    	lea    -0x57e4(%ebp),%ecx
40fffc:	e8 fe c1 ff ff       	call   0x40c1ff
410001:	8d 8d a0 bb ff ff    	lea    -0x4460(%ebp),%ecx
410007:	e8 aa e6 ff ff       	call   0x40e6b6
41000c:	8d 8d 2c a8 ff ff    	lea    -0x57d4(%ebp),%ecx
410012:	e8 e8 c1 ff ff       	call   0x40c1ff
410017:	8d 8d 28 a8 ff ff    	lea    -0x57d8(%ebp),%ecx
41001d:	e8 d7 56 01 00       	call   0x4256f9
410022:	8d 8d 38 a8 ff ff    	lea    -0x57c8(%ebp),%ecx
410028:	e8 26 50 00 00       	call   0x415053
41002d:	8d 8d 34 a8 ff ff    	lea    -0x57cc(%ebp),%ecx
410033:	e8 d6 39 00 00       	call   0x413a0e
410038:	8d 8d 30 a8 ff ff    	lea    -0x57d0(%ebp),%ecx
41003e:	e8 cb 39 00 00       	call   0x413a0e
410043:	8d 8d 24 a8 ff ff    	lea    -0x57dc(%ebp),%ecx
410049:	e8 fa c1 ff ff       	call   0x40c248
41004e:	8d 8d d4 a7 ff ff    	lea    -0x582c(%ebp),%ecx
410054:	e8 4c 4f 00 00       	call   0x414fa5
410059:	8d 8d 68 bf ff ff    	lea    -0x4098(%ebp),%ecx
41005f:	e8 84 e4 ff ff       	call   0x40e4e8
410064:	8d 8d 20 a8 ff ff    	lea    -0x57e0(%ebp),%ecx
41006a:	e8 e2 4e 00 00       	call   0x414f51
41006f:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410075:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
410079:	e8 44 ea ff ff       	call   0x40eac2
41007e:	8b bd 18 a8 ff ff    	mov    -0x57e8(%ebp),%edi
410084:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
410088:	0f 85 09 01 00 00    	jne    0x410197
41008e:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410094:	e8 9d 3a 00 00       	call   0x413b36
410099:	8d 8d 20 a8 ff ff    	lea    -0x57e0(%ebp),%ecx
41009f:	c7 85 f8 a7 ff ff 00 	movl   $0x0,-0x5808(%ebp)
4100a6:	00 00 00
4100a9:	e8 d4 c3 ff ff       	call   0x40c482
4100ae:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
4100b2:	8d 8d 7c a7 ff ff    	lea    -0x5884(%ebp),%ecx
4100b8:	66 c7 85 7c a7 ff ff 	movw   $0x0,-0x5884(%ebp)
4100bf:	00 00
4100c1:	c7 85 84 a7 ff ff 00 	movl   $0x0,-0x587c(%ebp)
4100c8:	00 00 00
4100cb:	c7 85 88 a7 ff ff 00 	movl   $0x0,-0x5878(%ebp)
4100d2:	00 00 00
4100d5:	c7 85 8c a7 ff ff 00 	movl   $0x0,-0x5874(%ebp)
4100dc:	00 00 00
4100df:	c7 85 90 a7 ff ff 00 	movl   $0x0,-0x5870(%ebp)
4100e6:	00 00 00
4100e9:	c7 85 94 a7 ff ff 00 	movl   $0x0,-0x586c(%ebp)
4100f0:	00 00 00
4100f3:	e8 54 c8 01 00       	call   0x42c94c
4100f8:	8d 4f 24             	lea    0x24(%edi),%ecx
4100fb:	e8 7f bd 00 00       	call   0x41be7f
410100:	8d 85 c4 a7 ff ff    	lea    -0x583c(%ebp),%eax
410106:	c7 85 c4 a7 ff ff 00 	movl   $0x0,-0x583c(%ebp)
41010d:	00 00 00
410110:	50                   	push   %eax
410111:	6a 00                	push   $0x0
410113:	ff 15 14 a0 43 00    	call   *0x43a014
410119:	8d 8d c4 a7 ff ff    	lea    -0x583c(%ebp),%ecx
41011f:	e8 ec 47 00 00       	call   0x414910
410124:	ff 15 04 a3 43 00    	call   *0x43a304
41012a:	51                   	push   %ecx
41012b:	8b d8                	mov    %eax,%ebx
41012d:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410133:	8d 85 54 a7 ff ff    	lea    -0x58ac(%ebp),%eax
410139:	50                   	push   %eax
41013a:	83 ec 08             	sub    $0x8,%esp
41013d:	8d 85 c8 be ff ff    	lea    -0x4138(%ebp),%eax
410143:	50                   	push   %eax
410144:	e8 37 f0 ff ff       	call   0x40f180
410149:	8b f0                	mov    %eax,%esi
41014b:	ff 15 04 a3 43 00    	call   *0x43a304
410151:	2b c3                	sub    %ebx,%eax
410153:	8d 4f 24             	lea    0x24(%edi),%ecx
410156:	50                   	push   %eax
410157:	e8 ab ba 00 00       	call   0x41bc07
41015c:	81 fe b4 0d 04 80    	cmp    $0x80040db4,%esi
410162:	0f 85 84 00 00 00    	jne    0x4101ec
410168:	ff 35 70 8d 43 00    	push   0x438d70
41016e:	ff 15 b0 a2 43 00    	call   *0x43a2b0
410174:	83 3d 20 8a 43 00 00 	cmpl   $0x0,0x438a20
41017b:	0f 85 fe 19 00 00    	jne    0x411b7f
410181:	8d 8d 20 a8 ff ff    	lea    -0x57e0(%ebp),%ecx
410187:	e8 c5 4d 00 00       	call   0x414f51
41018c:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410192:	e8 2b e9 ff ff       	call   0x40eac2
410197:	8d 8d b4 a7 ff ff    	lea    -0x584c(%ebp),%ecx
41019d:	e8 5d c0 ff ff       	call   0x40c1ff
4101a2:	8d 8d c8 be ff ff    	lea    -0x4138(%ebp),%ecx
4101a8:	e8 42 53 01 00       	call   0x4254ef
4101ad:	8d 8d 1c b1 ff ff    	lea    -0x4ee4(%ebp),%ecx
4101b3:	e8 ec f5 ff ff       	call   0x40f7a4
4101b8:	8d 8d 54 a7 ff ff    	lea    -0x58ac(%ebp),%ecx
4101be:	e8 d0 4d 01 00       	call   0x424f93
4101c3:	8d 8d 9c a7 ff ff    	lea    -0x5864(%ebp),%ecx
4101c9:	e8 44 52 01 00       	call   0x425412
4101ce:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4101d1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4101d8:	59                   	pop    %ecx
4101d9:	5f                   	pop    %edi
4101da:	5e                   	pop    %esi
4101db:	5b                   	pop    %ebx
4101dc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4101df:	33 cd                	xor    %ebp,%ecx
4101e1:	e8 da a5 00 00       	call   0x41a7c0
4101e6:	8b e5                	mov    %ebp,%esp
4101e8:	5d                   	pop    %ebp
4101e9:	c2 04 00             	ret    $0x4
4101ec:	85 f6                	test   %esi,%esi
4101ee:	0f 88 8b 19 00 00    	js     0x411b7f
4101f4:	83 3d 60 8a 43 00 00 	cmpl   $0x0,0x438a60
4101fb:	74 11                	je     0x41020e
4101fd:	ff 35 70 8d 43 00    	push   0x438d70
410203:	ff 15 b0 a2 43 00    	call   *0x43a2b0
410209:	e9 73 ff ff ff       	jmp    0x410181
41020e:	a1 1c 8a 43 00       	mov    0x438a1c,%eax
410213:	85 c0                	test   %eax,%eax
410215:	74 57                	je     0x41026e
410217:	8b 8d 3c a8 ff ff    	mov    -0x57c4(%ebp),%ecx
41021d:	81 f9 07 00 01 80    	cmp    $0x80010007,%ecx
410223:	74 2d                	je     0x410252
410225:	81 f9 ba 06 07 80    	cmp    $0x800706ba,%ecx
41022b:	74 25                	je     0x410252
41022d:	81 f9 05 01 01 80    	cmp    $0x80010105,%ecx
410233:	74 1d                	je     0x410252
410235:	6a 00                	push   $0x0
410237:	ff 35 c8 8d 43 00    	push   0x438dc8
41023d:	ff 15 d0 a2 43 00    	call   *0x43a2d0
410243:	85 c0                	test   %eax,%eax
410245:	74 3d                	je     0x410284
410247:	a1 1c 8a 43 00       	mov    0x438a1c,%eax
41024c:	8b 8d 3c a8 ff ff    	mov    -0x57c4(%ebp),%ecx
410252:	85 c0                	test   %eax,%eax
410254:	74 18                	je     0x41026e
410256:	81 f9 07 00 01 80    	cmp    $0x80010007,%ecx
41025c:	74 10                	je     0x41026e
41025e:	81 f9 ba 06 07 80    	cmp    $0x800706ba,%ecx
410264:	74 08                	je     0x41026e
410266:	81 f9 05 01 01 80    	cmp    $0x80010105,%ecx
41026c:	75 63                	jne    0x4102d1
41026e:	6a ff                	push   $0xffffffff
410270:	ff 35 c8 8d 43 00    	push   0x438dc8
410276:	ff 15 d0 a2 43 00    	call   *0x43a2d0
41027c:	85 c0                	test   %eax,%eax
41027e:	0f 85 15 19 00 00    	jne    0x411b99