41fdfd:	89 65 f0             	mov    %esp,-0x10(%ebp)
41fe00:	8b f1                	mov    %ecx,%esi
41fe02:	89 75 ec             	mov    %esi,-0x14(%ebp)
41fe05:	c7 06 34 14 40 00    	movl   $0x401434,(%esi)
41fe0b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41fe0f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41fe12:	ff 15 38 74 4a 00    	call   *0x4a7438
41fe18:	8b ce                	mov    %esi,%ecx
41fe1a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41fe1e:	ff 15 28 75 4a 00    	call   *0x4a7528
41fe24:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41fe2b:	eb 20                	jmp    0x41fe4d
41fe2d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41fe30:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41fe33:	85 c9                	test   %ecx,%ecx
41fe35:	74 06                	je     0x41fe3d
41fe37:	ff 15 24 75 4a 00    	call   *0x4a7524
41fe3d:	b8 43 fe 41 00       	mov    $0x41fe43,%eax
41fe42:	c3                   	ret
41fe43:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41fe4a:	8b 75 ec             	mov    -0x14(%ebp),%esi
41fe4d:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
41fe51:	ff 15 3c 74 4a 00    	call   *0x4a743c
41fe57:	c7 06 4c 14 40 00    	movl   $0x40144c,(%esi)
41fe5d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41fe60:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41fe67:	59                   	pop    %ecx
41fe68:	5f                   	pop    %edi
41fe69:	5e                   	pop    %esi
41fe6a:	5b                   	pop    %ebx
41fe6b:	c9                   	leave
41fe6c:	c3                   	ret
41fe6d:	c7 01 1c 14 40 00    	movl   $0x40141c,(%ecx)
41fe73:	e9 5b ff ff ff       	jmp    0x41fdd3
41fe78:	6a 14                	push   $0x14
41fe7a:	b8 59 18 49 00       	mov    $0x491859,%eax
41fe7f:	e8 b8 06 07 00       	call   0x49053c
41fe84:	8b f1                	mov    %ecx,%esi
41fe86:	89 75 ec             	mov    %esi,-0x14(%ebp)
41fe89:	85 f6                	test   %esi,%esi
41fe8b:	75 07                	jne    0x41fe94
41fe8d:	b8 03 40 00 80       	mov    $0x80004003,%eax
41fe92:	eb 6f                	jmp    0x41ff03
41fe94:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41fe97:	ff 15 38 74 4a 00    	call   *0x4a7438
41fe9d:	33 ff                	xor    %edi,%edi
41fe9f:	89 7d fc             	mov    %edi,-0x4(%ebp)
41fea2:	6a 24                	push   $0x24
41fea4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41fea8:	ff 15 14 74 4a 00    	call   *0x4a7414
41feae:	59                   	pop    %ecx
41feaf:	85 c0                	test   %eax,%eax
41feb1:	74 18                	je     0x41fecb
41feb3:	c7 00 64 14 40 00    	movl   $0x401464,(%eax)
41feb9:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
41fec0:	89 78 08             	mov    %edi,0x8(%eax)
41fec3:	89 78 0c             	mov    %edi,0xc(%eax)
41fec6:	89 78 10             	mov    %edi,0x10(%eax)
41fec9:	eb 02                	jmp    0x41fecd
41fecb:	8b c7                	mov    %edi,%eax
41fecd:	89 06                	mov    %eax,(%esi)
41fecf:	eb 15                	jmp    0x41fee6
41fed1:	8b 45 e8             	mov    -0x18(%ebp),%eax
41fed4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41fed7:	8b 45 ec             	mov    -0x14(%ebp),%eax
41feda:	83 20 00             	andl   $0x0,(%eax)
41fedd:	b8 e3 fe 41 00       	mov    $0x41fee3,%eax
41fee2:	c3                   	ret
41fee3:	8b 75 ec             	mov    -0x14(%ebp),%esi
41fee6:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
41feed:	ff 15 3c 74 4a 00    	call   *0x4a743c
41fef3:	8b 06                	mov    (%esi),%eax
41fef5:	f7 d8                	neg    %eax
41fef7:	1b c0                	sbb    %eax,%eax
41fef9:	25 f2 ff f8 7f       	and    $0x7ff8fff2,%eax
41fefe:	05 0e 00 07 80       	add    $0x8007000e,%eax
41ff03:	e8 99 05 07 00       	call   0x4904a1
41ff08:	c3                   	ret
41ff09:	8b ff                	mov    %edi,%edi
41ff0b:	55                   	push   %ebp
41ff0c:	8b ec                	mov    %esp,%ebp
41ff0e:	56                   	push   %esi
41ff0f:	8b 75 08             	mov    0x8(%ebp),%esi
41ff12:	57                   	push   %edi
41ff13:	8b f9                	mov    %ecx,%edi
41ff15:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
41ff19:	75 0b                	jne    0x41ff26
41ff1b:	56                   	push   %esi
41ff1c:	6a 02                	push   $0x2
41ff1e:	ff 15 58 72 4a 00    	call   *0x4a7258
41ff24:	eb 0c                	jmp    0x41ff32
41ff26:	6a 00                	push   $0x0
41ff28:	56                   	push   %esi
41ff29:	ff 77 08             	push   0x8(%edi)
41ff2c:	ff 15 4c 72 4a 00    	call   *0x4a724c
41ff32:	85 c0                	test   %eax,%eax
41ff34:	75 07                	jne    0x41ff3d
41ff36:	e8 4d 03 00 00       	call   0x420288
41ff3b:	eb 08                	jmp    0x41ff45
41ff3d:	89 47 08             	mov    %eax,0x8(%edi)
41ff40:	33 c0                	xor    %eax,%eax
41ff42:	89 77 0c             	mov    %esi,0xc(%edi)
41ff45:	5f                   	pop    %edi
41ff46:	5e                   	pop    %esi
41ff47:	5d                   	pop    %ebp
41ff48:	c2 04 00             	ret    $0x4
41ff4b:	cc                   	int3
41ff4c:	cc                   	int3
41ff4d:	cc                   	int3
41ff4e:	cc                   	int3
41ff4f:	cc                   	int3
41ff50:	8b ff                	mov    %edi,%edi
41ff52:	55                   	push   %ebp
41ff53:	8b ec                	mov    %esp,%ebp
41ff55:	53                   	push   %ebx
41ff56:	8b 5d 10             	mov    0x10(%ebp),%ebx
41ff59:	57                   	push   %edi
41ff5a:	85 db                	test   %ebx,%ebx
41ff5c:	75 07                	jne    0x41ff65
41ff5e:	b8 03 40 00 80       	mov    $0x80004003,%eax
41ff63:	eb 52                	jmp    0x41ffb7
41ff65:	8b 55 0c             	mov    0xc(%ebp),%edx
41ff68:	33 c9                	xor    %ecx,%ecx
41ff6a:	56                   	push   %esi
41ff6b:	be ec f0 40 00       	mov    $0x40f0ec,%esi
41ff70:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
41ff73:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
41ff76:	75 08                	jne    0x41ff80
41ff78:	41                   	inc    %ecx
41ff79:	83 f9 04             	cmp    $0x4,%ecx
41ff7c:	75 f2                	jne    0x41ff70
41ff7e:	eb 15                	jmp    0x41ff95
41ff80:	be 0c f1 40 00       	mov    $0x40f10c,%esi
41ff85:	33 c9                	xor    %ecx,%ecx
41ff87:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
41ff8a:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
41ff8d:	75 1f                	jne    0x41ffae
41ff8f:	41                   	inc    %ecx
41ff90:	83 f9 04             	cmp    $0x4,%ecx
41ff93:	75 f2                	jne    0x41ff87
41ff95:	8b 7d 08             	mov    0x8(%ebp),%edi
41ff98:	57                   	push   %edi
41ff99:	8b 07                	mov    (%edi),%eax
41ff9b:	8b 70 04             	mov    0x4(%eax),%esi
41ff9e:	8b ce                	mov    %esi,%ecx
41ffa0:	ff 15 2c 81 4a 00    	call   *0x4a812c
41ffa6:	ff d6                	call   *%esi
41ffa8:	89 3b                	mov    %edi,(%ebx)
41ffaa:	33 c0                	xor    %eax,%eax
41ffac:	eb 08                	jmp    0x41ffb6
41ffae:	83 23 00             	andl   $0x0,(%ebx)
41ffb1:	b8 02 40 00 80       	mov    $0x80004002,%eax
41ffb6:	5e                   	pop    %esi
41ffb7:	5f                   	pop    %edi
41ffb8:	5b                   	pop    %ebx
41ffb9:	5d                   	pop    %ebp
41ffba:	c2 0c 00             	ret    $0xc
41ffbd:	cc                   	int3
41ffbe:	cc                   	int3
41ffbf:	cc                   	int3
41ffc0:	8b ff                	mov    %edi,%edi
41ffc2:	55                   	push   %ebp
41ffc3:	8b ec                	mov    %esp,%ebp
41ffc5:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ffc8:	33 c0                	xor    %eax,%eax
41ffca:	40                   	inc    %eax
41ffcb:	f0 0f c1 41 04       	lock xadd %eax,0x4(%ecx)
41ffd0:	40                   	inc    %eax
41ffd1:	5d                   	pop    %ebp
41ffd2:	c2 04 00             	ret    $0x4
41ffd5:	cc                   	int3
41ffd6:	cc                   	int3
41ffd7:	cc                   	int3
41ffd8:	cc                   	int3
41ffd9:	cc                   	int3
41ffda:	cc                   	int3
41ffdb:	cc                   	int3
41ffdc:	cc                   	int3
41ffdd:	cc                   	int3
41ffde:	cc                   	int3
41ffdf:	cc                   	int3
41ffe0:	8b ff                	mov    %edi,%edi
41ffe2:	55                   	push   %ebp
41ffe3:	8b ec                	mov    %esp,%ebp
41ffe5:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ffe8:	56                   	push   %esi
41ffe9:	83 ce ff             	or     $0xffffffff,%esi
41ffec:	f0 0f c1 71 04       	lock xadd %esi,0x4(%ecx)
41fff1:	4e                   	dec    %esi
41fff2:	75 12                	jne    0x420006
41fff4:	85 c9                	test   %ecx,%ecx
41fff6:	74 0e                	je     0x420006
41fff8:	51                   	push   %ecx
41fff9:	c7 01 64 14 40 00    	movl   $0x401464,(%ecx)
41ffff:	ff 15 10 74 4a 00    	call   *0x4a7410
420005:	59                   	pop    %ecx
420006:	8b c6                	mov    %esi,%eax
420008:	5e                   	pop    %esi
420009:	5d                   	pop    %ebp
42000a:	c2 04 00             	ret    $0x4
42000d:	cc                   	int3
42000e:	cc                   	int3
42000f:	cc                   	int3
420010:	8b ff                	mov    %edi,%edi
420012:	55                   	push   %ebp
420013:	8b ec                	mov    %esp,%ebp
420015:	51                   	push   %ecx
420016:	53                   	push   %ebx
420017:	56                   	push   %esi
420018:	8b 75 14             	mov    0x14(%ebp),%esi
42001b:	85 f6                	test   %esi,%esi
42001d:	74 03                	je     0x420022
42001f:	83 26 00             	andl   $0x0,(%esi)
420022:	8b 4d 08             	mov    0x8(%ebp),%ecx
420025:	8b 59 0c             	mov    0xc(%ecx),%ebx
420028:	8b 51 10             	mov    0x10(%ecx),%edx
42002b:	8d 43 0e             	lea    0xe(%ebx),%eax
42002e:	3b d0                	cmp    %eax,%edx
420030:	76 08                	jbe    0x42003a
420032:	33 c0                	xor    %eax,%eax
420034:	40                   	inc    %eax
420035:	e9 9d 00 00 00       	jmp    0x4200d7
42003a:	57                   	push   %edi
42003b:	8b 7d 10             	mov    0x10(%ebp),%edi
42003e:	85 ff                	test   %edi,%edi
420040:	0f 84 8e 00 00 00    	je     0x4200d4
420046:	2b da                	sub    %edx,%ebx
420048:	83 c3 0e             	add    $0xe,%ebx
42004b:	3b fb                	cmp    %ebx,%edi
42004d:	76 02                	jbe    0x420051
42004f:	8b fb                	mov    %ebx,%edi
420051:	6a 0e                	push   $0xe
420053:	5b                   	pop    %ebx
420054:	3b d3                	cmp    %ebx,%edx
420056:	73 32                	jae    0x42008a
420058:	2b da                	sub    %edx,%ebx
42005a:	3b fb                	cmp    %ebx,%edi
42005c:	73 02                	jae    0x420060
42005e:	8b df                	mov    %edi,%ebx
420060:	8d 41 14             	lea    0x14(%ecx),%eax
420063:	53                   	push   %ebx
420064:	03 c2                	add    %edx,%eax
420066:	50                   	push   %eax
420067:	ff 75 0c             	push   0xc(%ebp)
42006a:	e8 be 0f 07 00       	call   0x49102d
42006f:	8b 4d 08             	mov    0x8(%ebp),%ecx
420072:	83 c4 0c             	add    $0xc,%esp
420075:	8b 45 0c             	mov    0xc(%ebp),%eax
420078:	2b fb                	sub    %ebx,%edi
42007a:	03 c3                	add    %ebx,%eax
42007c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42007f:	01 59 10             	add    %ebx,0x10(%ecx)
420082:	85 f6                	test   %esi,%esi
420084:	74 0a                	je     0x420090
420086:	01 1e                	add    %ebx,(%esi)
420088:	eb 06                	jmp    0x420090
42008a:	8b 45 0c             	mov    0xc(%ebp),%eax
42008d:	89 45 fc             	mov    %eax,-0x4(%ebp)
420090:	85 ff                	test   %edi,%edi
420092:	74 40                	je     0x4200d4
420094:	ff 71 08             	push   0x8(%ecx)
420097:	ff 15 54 72 4a 00    	call   *0x4a7254
42009d:	8b c8                	mov    %eax,%ecx
42009f:	85 c9                	test   %ecx,%ecx
4200a1:	75 07                	jne    0x4200aa
4200a3:	e8 e0 01 00 00       	call   0x420288
4200a8:	eb 2c                	jmp    0x4200d6
4200aa:	8b 5d 08             	mov    0x8(%ebp),%ebx
4200ad:	57                   	push   %edi
4200ae:	8b 43 10             	mov    0x10(%ebx),%eax
4200b1:	83 c0 f2             	add    $0xfffffff2,%eax
4200b4:	03 c1                	add    %ecx,%eax
4200b6:	50                   	push   %eax
4200b7:	ff 75 fc             	push   -0x4(%ebp)
4200ba:	e8 6e 0f 07 00       	call   0x49102d
4200bf:	83 c4 0c             	add    $0xc,%esp
4200c2:	ff 73 08             	push   0x8(%ebx)
4200c5:	ff 15 50 72 4a 00    	call   *0x4a7250
4200cb:	01 7b 10             	add    %edi,0x10(%ebx)
4200ce:	85 f6                	test   %esi,%esi
4200d0:	74 02                	je     0x4200d4
4200d2:	01 3e                	add    %edi,(%esi)
4200d4:	33 c0                	xor    %eax,%eax
4200d6:	5f                   	pop    %edi
4200d7:	5e                   	pop    %esi
4200d8:	5b                   	pop    %ebx
4200d9:	c9                   	leave
4200da:	c2 10 00             	ret    $0x10
4200dd:	cc                   	int3
4200de:	cc                   	int3
4200df:	cc                   	int3
4200e0:	8b ff                	mov    %edi,%edi
4200e2:	55                   	push   %ebp
4200e3:	8b ec                	mov    %esp,%ebp
4200e5:	51                   	push   %ecx
4200e6:	53                   	push   %ebx
4200e7:	56                   	push   %esi
4200e8:	57                   	push   %edi
4200e9:	8b 7d 14             	mov    0x14(%ebp),%edi
4200ec:	85 ff                	test   %edi,%edi
4200ee:	74 03                	je     0x4200f3
4200f0:	83 27 00             	andl   $0x0,(%edi)
4200f3:	8b 75 10             	mov    0x10(%ebp),%esi
4200f6:	85 f6                	test   %esi,%esi
4200f8:	75 07                	jne    0x420101
4200fa:	33 c0                	xor    %eax,%eax
4200fc:	e9 c8 00 00 00       	jmp    0x4201c9
420101:	8b 4d 08             	mov    0x8(%ebp),%ecx
420104:	8b 41 10             	mov    0x10(%ecx),%eax
420107:	8d 14 30             	lea    (%eax,%esi,1),%edx
42010a:	3b d0                	cmp    %eax,%edx
42010c:	0f 82 b2 00 00 00    	jb     0x4201c4
420112:	3b d6                	cmp    %esi,%edx
420114:	0f 82 aa 00 00 00    	jb     0x4201c4
42011a:	8b 41 0c             	mov    0xc(%ecx),%eax
42011d:	6a 0e                	push   $0xe
42011f:	5b                   	pop    %ebx
420120:	03 c3                	add    %ebx,%eax
420122:	3b c2                	cmp    %edx,%eax
420124:	73 14                	jae    0x42013a
420126:	8d 42 f2             	lea    -0xe(%edx),%eax
420129:	50                   	push   %eax
42012a:	e8 da fd ff ff       	call   0x41ff09
42012f:	85 c0                	test   %eax,%eax
420131:	0f 85 92 00 00 00    	jne    0x4201c9
420137:	8b 4d 08             	mov    0x8(%ebp),%ecx
42013a:	8b 41 10             	mov    0x10(%ecx),%eax
42013d:	3b c3                	cmp    %ebx,%eax
42013f:	73 4d                	jae    0x42018e
420141:	2b d8                	sub    %eax,%ebx
420143:	3b f3                	cmp    %ebx,%esi
420145:	73 02                	jae    0x420149
420147:	8b de                	mov    %esi,%ebx
420149:	53                   	push   %ebx
42014a:	ff 75 0c             	push   0xc(%ebp)
42014d:	83 c1 14             	add    $0x14,%ecx
420150:	03 c1                	add    %ecx,%eax
420152:	50                   	push   %eax
420153:	e8 d5 0e 07 00       	call   0x49102d
420158:	8b 4d 08             	mov    0x8(%ebp),%ecx
42015b:	83 c4 0c             	add    $0xc,%esp
42015e:	8b 45 0c             	mov    0xc(%ebp),%eax
420161:	2b f3                	sub    %ebx,%esi
420163:	03 c3                	add    %ebx,%eax
420165:	89 45 fc             	mov    %eax,-0x4(%ebp)
420168:	01 59 10             	add    %ebx,0x10(%ecx)
42016b:	85 ff                	test   %edi,%edi
42016d:	74 02                	je     0x420171
42016f:	01 1f                	add    %ebx,(%edi)
420171:	8b 5d fc             	mov    -0x4(%ebp),%ebx