40ff3f:	ff 15 0c 90 42 00    	call   *0x42900c
40ff45:	ff 37                	push   (%edi)
40ff47:	ff 15 38 63 42 00    	call   *0x426338
40ff4d:	6a 00                	push   $0x0
40ff4f:	68 80 00 00 00       	push   $0x80
40ff54:	6a 04                	push   $0x4
40ff56:	6a 00                	push   $0x0
40ff58:	56                   	push   %esi
40ff59:	68 00 00 00 c0       	push   $0xc0000000
40ff5e:	ff 37                	push   (%edi)
40ff60:	89 44 24 44          	mov    %eax,0x44(%esp)
40ff64:	ff 15 94 60 42 00    	call   *0x426094
40ff6a:	a3 30 4e 42 00       	mov    %eax,0x424e30
40ff6f:	83 f8 ff             	cmp    $0xffffffff,%eax
40ff72:	0f 84 50 04 00 00    	je     0x4103c8
40ff78:	ff 15 70 61 42 00    	call   *0x426170
40ff7e:	33 c9                	xor    %ecx,%ecx
40ff80:	3d b7 00 00 00       	cmp    $0xb7,%eax
40ff85:	0f 95 c1             	setne  %cl
40ff88:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
40ff8c:	39 1d f0 5b 42 00    	cmp    %ebx,0x425bf0
40ff92:	74 05                	je     0x40ff99
40ff94:	e8 b8 fe ff ff       	call   0x40fe51
40ff99:	33 f6                	xor    %esi,%esi
40ff9b:	56                   	push   %esi
40ff9c:	56                   	push   %esi
40ff9d:	6a 0e                	push   $0xe
40ff9f:	ff 35 04 5e 42 00    	push   0x425e04
40ffa5:	ff 15 bc 62 42 00    	call   *0x4262bc
40ffab:	56                   	push   %esi
40ffac:	56                   	push   %esi
40ffad:	68 bd 00 00 00       	push   $0xbd
40ffb2:	ff 35 04 5e 42 00    	push   0x425e04
40ffb8:	89 44 24 28          	mov    %eax,0x28(%esp)
40ffbc:	ff 15 bc 62 42 00    	call   *0x4262bc
40ffc2:	8b f0                	mov    %eax,%esi
40ffc4:	85 f6                	test   %esi,%esi
40ffc6:	0f 84 b5 03 00 00    	je     0x410381
40ffcc:	56                   	push   %esi
40ffcd:	ff 15 e8 60 42 00    	call   *0x4260e8
40ffd3:	89 44 24 10          	mov    %eax,0x10(%esp)
40ffd7:	85 c0                	test   %eax,%eax
40ffd9:	0f 84 a2 03 00 00    	je     0x410381
40ffdf:	8b 0d 3c 4e 42 00    	mov    0x424e3c,%ecx
40ffe5:	8d 41 ff             	lea    -0x1(%ecx),%eax
40ffe8:	83 e8 01             	sub    $0x1,%eax
40ffeb:	0f 84 1d 01 00 00    	je     0x41010e
40fff1:	83 e8 01             	sub    $0x1,%eax
40fff4:	0f 84 b4 00 00 00    	je     0x4100ae
40fffa:	83 e8 01             	sub    $0x1,%eax
40fffd:	75 1f                	jne    0x41001e
40ffff:	50                   	push   %eax
410000:	8d 44 24 20          	lea    0x20(%esp),%eax
410004:	50                   	push   %eax
410005:	6a 03                	push   $0x3
410007:	68 24 43 42 00       	push   $0x424324
41000c:	ff 35 30 4e 42 00    	push   0x424e30
410012:	ff 15 e0 60 42 00    	call   *0x4260e0
410018:	8b 0d 3c 4e 42 00    	mov    0x424e3c,%ecx
41001e:	83 f9 04             	cmp    $0x4,%ecx
410021:	74 16                	je     0x410039
410023:	83 f9 05             	cmp    $0x5,%ecx
410026:	74 11                	je     0x410039
410028:	ff 15 ec 60 42 00    	call   *0x4260ec
41002e:	8d 4c 24 24          	lea    0x24(%esp),%ecx
410032:	bb 00 04 00 00       	mov    $0x400,%ebx
410037:	eb 09                	jmp    0x410042
410039:	33 c9                	xor    %ecx,%ecx
41003b:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
410040:	33 db                	xor    %ebx,%ebx
410042:	51                   	push   %ecx
410043:	6a 00                	push   $0x0
410045:	6a 00                	push   $0x0
410047:	6a 00                	push   $0x0
410049:	ff 74 24 28          	push   0x28(%esp)
41004d:	89 44 24 28          	mov    %eax,0x28(%esp)
410051:	ff 74 24 24          	push   0x24(%esp)
410055:	53                   	push   %ebx
410056:	50                   	push   %eax
410057:	ff 15 dc 60 42 00    	call   *0x4260dc
41005d:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
410062:	8b c8                	mov    %eax,%ecx
410064:	75 0c                	jne    0x410072
410066:	8b 44 24 18          	mov    0x18(%esp),%eax
41006a:	85 c0                	test   %eax,%eax
41006c:	74 2c                	je     0x41009a
41006e:	85 c9                	test   %ecx,%ecx
410070:	75 28                	jne    0x41009a
410072:	8b 15 f0 42 42 00    	mov    0x4242f0,%edx
410078:	8b 4c 24 20          	mov    0x20(%esp),%ecx
41007c:	6a 31                	push   $0x31
41007e:	ff 37                	push   (%edi)
410080:	ff 35 a0 42 42 00    	push   0x4242a0
410086:	e8 88 db ff ff       	call   0x40dc13
41008b:	83 f8 02             	cmp    $0x2,%eax
41008e:	0f 84 ed 02 00 00    	je     0x410381
410094:	8b 44 24 18          	mov    0x18(%esp),%eax
410098:	33 db                	xor    %ebx,%ebx
41009a:	8b 54 24 14          	mov    0x14(%esp),%edx
41009e:	50                   	push   %eax
41009f:	ff 74 24 14          	push   0x14(%esp)
4100a3:	53                   	push   %ebx
4100a4:	e8 f7 fc ff ff       	call   0x40fda0
4100a9:	e9 98 00 00 00       	jmp    0x410146
4100ae:	6a 00                	push   $0x0
4100b0:	8d 44 24 20          	lea    0x20(%esp),%eax
4100b4:	50                   	push   %eax
4100b5:	6a 02                	push   $0x2
4100b7:	68 1c 43 42 00       	push   $0x42431c
4100bc:	ff 35 30 4e 42 00    	push   0x424e30
4100c2:	ff 15 e0 60 42 00    	call   *0x4260e0
4100c8:	8b 54 24 10          	mov    0x10(%esp),%edx
4100cc:	8b ca                	mov    %edx,%ecx
4100ce:	ff 74 24 18          	push   0x18(%esp)
4100d2:	e8 97 fc ff ff       	call   0x40fd6e
4100d7:	6a 00                	push   $0x0
4100d9:	8d 44 24 20          	lea    0x20(%esp),%eax
4100dd:	50                   	push   %eax
4100de:	8b 44 24 20          	mov    0x20(%esp),%eax
4100e2:	03 c0                	add    %eax,%eax
4100e4:	50                   	push   %eax
4100e5:	ff 74 24 1c          	push   0x1c(%esp)
4100e9:	ff 35 30 4e 42 00    	push   0x424e30
4100ef:	ff 15 e0 60 42 00    	call   *0x4260e0
4100f5:	8b 54 24 10          	mov    0x10(%esp),%edx
4100f9:	8b ca                	mov    %edx,%ecx
4100fb:	ff 74 24 18          	push   0x18(%esp)
4100ff:	89 44 24 24          	mov    %eax,0x24(%esp)
410103:	e8 66 fc ff ff       	call   0x40fd6e
410108:	8b 44 24 20          	mov    0x20(%esp),%eax
41010c:	eb 38                	jmp    0x410146
41010e:	6a 00                	push   $0x0
410110:	8d 44 24 20          	lea    0x20(%esp),%eax
410114:	50                   	push   %eax
410115:	6a 02                	push   $0x2
410117:	68 20 43 42 00       	push   $0x424320
41011c:	ff 35 30 4e 42 00    	push   0x424e30
410122:	ff 15 e0 60 42 00    	call   *0x4260e0
410128:	6a 00                	push   $0x0
41012a:	8d 44 24 20          	lea    0x20(%esp),%eax
41012e:	50                   	push   %eax
41012f:	8b 44 24 20          	mov    0x20(%esp),%eax
410133:	03 c0                	add    %eax,%eax
410135:	50                   	push   %eax
410136:	ff 74 24 1c          	push   0x1c(%esp)
41013a:	ff 35 30 4e 42 00    	push   0x424e30
410140:	ff 15 e0 60 42 00    	call   *0x4260e0
410146:	85 c0                	test   %eax,%eax
410148:	0f 84 33 02 00 00    	je     0x410381
41014e:	ff 35 30 4e 42 00    	push   0x424e30
410154:	ff 15 f8 60 42 00    	call   *0x4260f8
41015a:	56                   	push   %esi
41015b:	ff 15 f0 60 42 00    	call   *0x4260f0
410161:	a1 3c 4e 42 00       	mov    0x424e3c,%eax
410166:	33 f6                	xor    %esi,%esi
410168:	56                   	push   %esi
410169:	56                   	push   %esi
41016a:	68 b9 00 00 00       	push   $0xb9
41016f:	ff 35 04 5e 42 00    	push   0x425e04
410175:	a3 bc 4e 42 00       	mov    %eax,0x424ebc
41017a:	ff 15 bc 62 42 00    	call   *0x4262bc
410180:	83 3d 3c 4e 42 00 01 	cmpl   $0x1,0x424e3c
410187:	89 35 14 43 42 00    	mov    %esi,0x424314
41018d:	75 0f                	jne    0x41019e
41018f:	85 db                	test   %ebx,%ebx
410191:	75 0b                	jne    0x41019e
410193:	33 d2                	xor    %edx,%edx
410195:	8b cf                	mov    %edi,%ecx
410197:	56                   	push   %esi
410198:	42                   	inc    %edx
410199:	e8 c5 02 00 00       	call   0x410463
41019e:	ff 35 30 4e 42 00    	push   0x424e30
4101a4:	ff 15 54 61 42 00    	call   *0x426154
4101aa:	83 0d 30 4e 42 00 ff 	orl    $0xffffffff,0x424e30
4101b1:	8d 44 24 30          	lea    0x30(%esp),%eax
4101b5:	68 18 02 00 00       	push   $0x218
4101ba:	56                   	push   %esi
4101bb:	50                   	push   %eax
4101bc:	e8 87 26 01 00       	call   0x422848
4101c1:	83 c4 0c             	add    $0xc,%esp
4101c4:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4101c8:	74 4f                	je     0x410219
4101ca:	ff 37                	push   (%edi)
4101cc:	ff 15 68 64 42 00    	call   *0x426468
4101d2:	ff 37                	push   (%edi)
4101d4:	89 44 24 38          	mov    %eax,0x38(%esp)
4101d8:	ff 15 34 63 42 00    	call   *0x426334
4101de:	89 44 24 38          	mov    %eax,0x38(%esp)
4101e2:	8d 84 24 4c 02 00 00 	lea    0x24c(%esp),%eax
4101e9:	50                   	push   %eax
4101ea:	56                   	push   %esi
4101eb:	ff 37                	push   (%edi)
4101ed:	ff 15 fc 60 42 00    	call   *0x4260fc
4101f3:	8b 0f                	mov    (%edi),%ecx
4101f5:	8d 54 24 3c          	lea    0x3c(%esp),%edx
4101f9:	f7 d8                	neg    %eax
4101fb:	1b c0                	sbb    %eax,%eax
4101fd:	23 84 24 6c 02 00 00 	and    0x26c(%esp),%eax
410204:	89 44 24 30          	mov    %eax,0x30(%esp)
410208:	e8 d4 01 00 00       	call   0x4103e1
41020d:	a1 3c 4e 42 00       	mov    0x424e3c,%eax
410212:	89 84 24 44 02 00 00 	mov    %eax,0x244(%esp)
410219:	39 35 f0 5b 42 00    	cmp    %esi,0x425bf0
41021f:	74 05                	je     0x410226
410221:	e8 76 fc ff ff       	call   0x40fe9c
410226:	8b de                	mov    %esi,%ebx
410228:	66 39 1d c8 59 42 00 	cmp    %bx,0x4259c8
41022f:	74 5a                	je     0x41028b
410231:	89 74 24 14          	mov    %esi,0x14(%esp)
410235:	39 5c 24 28          	cmp    %ebx,0x28(%esp)
410239:	75 05                	jne    0x410240
41023b:	33 db                	xor    %ebx,%ebx
41023d:	43                   	inc    %ebx
41023e:	eb 4b                	jmp    0x41028b
410240:	51                   	push   %ecx
410241:	8b 0f                	mov    (%edi),%ecx
410243:	8d 54 24 18          	lea    0x18(%esp),%edx
410247:	e8 c1 0d 00 00       	call   0x41100d
41024c:	8b 74 24 14          	mov    0x14(%esp),%esi
410250:	85 c0                	test   %eax,%eax
410252:	78 2a                	js     0x41027e
410254:	21 5c 24 14          	and    %ebx,0x14(%esp)
410258:	8d 44 24 14          	lea    0x14(%esp),%eax
41025c:	50                   	push   %eax
41025d:	51                   	push   %ecx
41025e:	8d 94 24 78 02 00 00 	lea    0x278(%esp),%edx
410265:	8b ce                	mov    %esi,%ecx
410267:	e8 24 f2 00 00       	call   0x41f490
41026c:	85 c0                	test   %eax,%eax
41026e:	78 0c                	js     0x41027c
410270:	83 7c 24 14 02       	cmpl   $0x2,0x14(%esp)
410275:	74 05                	je     0x41027c
410277:	33 db                	xor    %ebx,%ebx
410279:	43                   	inc    %ebx
41027a:	eb 02                	jmp    0x41027e
41027c:	33 db                	xor    %ebx,%ebx
41027e:	85 f6                	test   %esi,%esi
410280:	74 07                	je     0x410289
410282:	56                   	push   %esi
410283:	ff 15 dc 62 42 00    	call   *0x4262dc
410289:	33 f6                	xor    %esi,%esi
41028b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41028f:	75 08                	jne    0x410299
410291:	85 db                	test   %ebx,%ebx
410293:	0f 84 c6 00 00 00    	je     0x41035f
410299:	51                   	push   %ecx
41029a:	8b 0f                	mov    (%edi),%ecx
41029c:	8d 54 24 14          	lea    0x14(%esp),%edx
4102a0:	89 74 24 14          	mov    %esi,0x14(%esp)
4102a4:	e8 64 0d 00 00       	call   0x41100d
4102a9:	8b 74 24 10          	mov    0x10(%esp),%esi
4102ad:	85 c0                	test   %eax,%eax
4102af:	0f 88 9f 00 00 00    	js     0x410354
4102b5:	68 fa 01 00 00       	push   $0x1fa
4102ba:	8d 84 24 74 02 00 00 	lea    0x274(%esp),%eax
4102c1:	6a 00                	push   $0x0
4102c3:	50                   	push   %eax
4102c4:	e8 7f 25 01 00       	call   0x422848
4102c9:	8b 45 0c             	mov    0xc(%ebp),%eax
4102cc:	83 c4 0c             	add    $0xc,%esp
4102cf:	85 c0                	test   %eax,%eax
4102d1:	75 05                	jne    0x4102d8
4102d3:	b8 c8 59 42 00       	mov    $0x4259c8,%eax
4102d8:	50                   	push   %eax
4102d9:	ba fd 00 00 00       	mov    $0xfd,%edx
4102de:	8d 8c 24 74 02 00 00 	lea    0x274(%esp),%ecx
4102e5:	e8 6a 61 ff ff       	call   0x406454
4102ea:	85 c0                	test   %eax,%eax
4102ec:	79 1a                	jns    0x410308
4102ee:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
4102f3:	0f 84 cf 00 00 00    	je     0x4103c8
4102f9:	ff 74 24 10          	push   0x10(%esp)
4102fd:	ff 15 dc 62 42 00    	call   *0x4262dc
410303:	e9 c0 00 00 00       	jmp    0x4103c8
410308:	8d 94 24 70 02 00 00 	lea    0x270(%esp),%edx
41030f:	8b ce                	mov    %esi,%ecx
410311:	e8 38 fc 00 00       	call   0x41ff4e
410316:	85 c0                	test   %eax,%eax
410318:	78 3a                	js     0x410354
41031a:	66 83 bc 24 70 02 00 	cmpw   $0x0,0x270(%esp)
410321:	00 00
410323:	74 27                	je     0x41034c
410325:	8d 8c 24 70 02 00 00 	lea    0x270(%esp),%ecx
41032c:	e8 d8 dd ff ff       	call   0x40e109
410331:	85 c0                	test   %eax,%eax
410333:	75 0e                	jne    0x410343
410335:	8b 15 bc 4e 42 00    	mov    0x424ebc,%edx
41033b:	8b cf                	mov    %edi,%ecx
41033d:	50                   	push   %eax
41033e:	e8 20 01 00 00       	call   0x410463
410343:	66 ff 05 1c 4e 42 00 	incw   0x424e1c
41034a:	eb 08                	jmp    0x410354
41034c:	33 c9                	xor    %ecx,%ecx
41034e:	41                   	inc    %ecx
41034f:	e8 13 de ff ff       	call   0x40e167
410354:	85 f6                	test   %esi,%esi
410356:	74 07                	je     0x41035f
410358:	56                   	push   %esi
410359:	ff 15 dc 62 42 00    	call   *0x4262dc
41035f:	ff 35 3c 4f 42 00    	push   0x424f3c
410365:	ff 15 dc 61 42 00    	call   *0x4261dc
41036b:	e8 70 d0 ff ff       	call   0x40d3e0
410370:	0f b6 55 08          	movzbl 0x8(%ebp),%edx
410374:	8d 4c 24 30          	lea    0x30(%esp),%ecx
410378:	e8 90 e4 00 00       	call   0x41e80d
41037d:	b0 01                	mov    $0x1,%al
41037f:	eb 49                	jmp    0x4103ca
410381:	ff 35 3c 4f 42 00    	push   0x424f3c
410387:	ff 15 dc 61 42 00    	call   *0x4261dc
41038d:	ff 35 30 4e 42 00    	push   0x424e30
410393:	ff 15 54 61 42 00    	call   *0x426154
410399:	83 0d 30 4e 42 00 ff 	orl    $0xffffffff,0x424e30
4103a0:	85 f6                	test   %esi,%esi
4103a2:	74 07                	je     0x4103ab
4103a4:	56                   	push   %esi
4103a5:	ff 15 f0 60 42 00    	call   *0x4260f0
4103ab:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
4103b0:	74 08                	je     0x4103ba
4103b2:	ff 37                	push   (%edi)
4103b4:	ff 15 f4 60 42 00    	call   *0x4260f4
4103ba:	83 3d f0 5b 42 00 00 	cmpl   $0x0,0x425bf0
4103c1:	74 05                	je     0x4103c8
4103c3:	e8 d4 fa ff ff       	call   0x40fe9c
4103c8:	32 c0                	xor    %al,%al
4103ca:	8b 8c 24 74 04 00 00 	mov    0x474(%esp),%ecx
4103d1:	5f                   	pop    %edi
4103d2:	5e                   	pop    %esi
4103d3:	5b                   	pop    %ebx
4103d4:	33 cc                	xor    %esp,%ecx
4103d6:	e8 95 14 01 00       	call   0x421870
4103db:	8b e5                	mov    %ebp,%esp
4103dd:	5d                   	pop    %ebp
4103de:	c2 08 00             	ret    $0x8
4103e1:	8b ff                	mov    %edi,%edi
4103e3:	55                   	push   %ebp
4103e4:	8b ec                	mov    %esp,%ebp
4103e6:	51                   	push   %ecx
4103e7:	53                   	push   %ebx
4103e8:	56                   	push   %esi
4103e9:	57                   	push   %edi
4103ea:	8b f9                	mov    %ecx,%edi
4103ec:	33 db                	xor    %ebx,%ebx
4103ee:	57                   	push   %edi
4103ef:	8b f2                	mov    %edx,%esi
4103f1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4103f4:	ff 15 34 63 42 00    	call   *0x426334
4103fa:	85 c0                	test   %eax,%eax
4103fc:	74 4f                	je     0x41044d
4103fe:	68 04 20 40 00       	push   $0x402004
410403:	50                   	push   %eax