40cd5f:	ff 75 f4             	push   -0xc(%ebp)
40cd62:	8d 4e 20             	lea    0x20(%esi),%ecx
40cd65:	e8 8b 00 00 00       	call   0x40cdf5
40cd6a:	ff 75 f8             	push   -0x8(%ebp)
40cd6d:	8d 4e 14             	lea    0x14(%esi),%ecx
40cd70:	e8 46 00 00 00       	call   0x40cdbb
40cd75:	ff 75 fc             	push   -0x4(%ebp)
40cd78:	8d 4e 18             	lea    0x18(%esi),%ecx
40cd7b:	e8 3b 00 00 00       	call   0x40cdbb
40cd80:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cd83:	50                   	push   %eax
40cd84:	ff 76 18             	push   0x18(%esi)
40cd87:	8d 45 f8             	lea    -0x8(%ebp),%eax
40cd8a:	50                   	push   %eax
40cd8b:	ff 76 14             	push   0x14(%esi)
40cd8e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cd91:	50                   	push   %eax
40cd92:	ff 76 20             	push   0x20(%esi)
40cd95:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cd98:	50                   	push   %eax
40cd99:	8b c6                	mov    %esi,%eax
40cd9b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40cd9e:	ff 70 1c             	push   0x1c(%eax)
40cda1:	51                   	push   %ecx
40cda2:	50                   	push   %eax
40cda3:	ff 75 08             	push   0x8(%ebp)
40cda6:	ff 15 9c a3 43 00    	call   *0x43a39c
40cdac:	5f                   	pop    %edi
40cdad:	5e                   	pop    %esi
40cdae:	5b                   	pop    %ebx
40cdaf:	85 c0                	test   %eax,%eax
40cdb1:	0f 84 5a 37 01 00    	je     0x420511
40cdb7:	c9                   	leave
40cdb8:	c2 04 00             	ret    $0x4
40cdbb:	6a 00                	push   $0x0
40cdbd:	b8 51 e1 41 00       	mov    $0x41e151,%eax
40cdc2:	e8 47 e0 00 00       	call   0x41ae0e
40cdc7:	8b f9                	mov    %ecx,%edi
40cdc9:	83 3f 00             	cmpl   $0x0,(%edi)
40cdcc:	0f 85 52 37 01 00    	jne    0x420524
40cdd2:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40cdd6:	74 15                	je     0x40cded
40cdd8:	ff 75 08             	push   0x8(%ebp)
40cddb:	8b 35 44 1a 40 00    	mov    0x401a44,%esi
40cde1:	8b ce                	mov    %esi,%ecx
40cde3:	ff 15 20 a5 43 00    	call   *0x43a520
40cde9:	ff d6                	call   *%esi
40cdeb:	89 07                	mov    %eax,(%edi)
40cded:	e8 ea df 00 00       	call   0x41addc
40cdf2:	c2 04 00             	ret    $0x4
40cdf5:	6a 00                	push   $0x0
40cdf7:	b8 51 e1 41 00       	mov    $0x41e151,%eax
40cdfc:	e8 0d e0 00 00       	call   0x41ae0e
40ce01:	8b f9                	mov    %ecx,%edi
40ce03:	83 3f 00             	cmpl   $0x0,(%edi)
40ce06:	74 1d                	je     0x40ce25
40ce08:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ce0c:	ff 37                	push   (%edi)
40ce0e:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40ce14:	8b ce                	mov    %esi,%ecx
40ce16:	ff 15 20 a5 43 00    	call   *0x43a520
40ce1c:	ff d6                	call   *%esi
40ce1e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ce22:	83 27 00             	andl   $0x0,(%edi)
40ce25:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40ce29:	74 15                	je     0x40ce40
40ce2b:	ff 75 08             	push   0x8(%ebp)
40ce2e:	8b 35 44 1a 40 00    	mov    0x401a44,%esi
40ce34:	8b ce                	mov    %esi,%ecx
40ce36:	ff 15 20 a5 43 00    	call   *0x43a520
40ce3c:	ff d6                	call   *%esi
40ce3e:	89 07                	mov    %eax,(%edi)
40ce40:	e8 97 df 00 00       	call   0x41addc
40ce45:	c2 04 00             	ret    $0x4
40ce48:	8b ff                	mov    %edi,%edi
40ce4a:	55                   	push   %ebp
40ce4b:	8b ec                	mov    %esp,%ebp
40ce4d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40ce51:	56                   	push   %esi
40ce52:	74 31                	je     0x40ce85
40ce54:	8b 75 10             	mov    0x10(%ebp),%esi
40ce57:	85 f6                	test   %esi,%esi
40ce59:	74 2a                	je     0x40ce85
40ce5b:	8b 45 0c             	mov    0xc(%ebp),%eax
40ce5e:	56                   	push   %esi
40ce5f:	ff 75 08             	push   0x8(%ebp)
40ce62:	89 06                	mov    %eax,(%esi)
40ce64:	51                   	push   %ecx
40ce65:	ff 15 d0 a3 43 00    	call   *0x43a3d0
40ce6b:	85 c0                	test   %eax,%eax
40ce6d:	0f 84 d3 36 01 00    	je     0x420546
40ce73:	ff 75 08             	push   0x8(%ebp)
40ce76:	ff 15 c0 a3 43 00    	call   *0x43a3c0
40ce7c:	89 06                	mov    %eax,(%esi)
40ce7e:	33 c0                	xor    %eax,%eax
40ce80:	5e                   	pop    %esi
40ce81:	5d                   	pop    %ebp
40ce82:	c2 0c 00             	ret    $0xc
40ce85:	b8 03 40 00 80       	mov    $0x80004003,%eax
40ce8a:	eb f4                	jmp    0x40ce80
40ce8c:	8b ff                	mov    %edi,%edi
40ce8e:	55                   	push   %ebp
40ce8f:	8b ec                	mov    %esp,%ebp
40ce91:	6a ff                	push   $0xffffffff
40ce93:	68 27 e4 41 00       	push   $0x41e427
40ce98:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ce9e:	50                   	push   %eax
40ce9f:	56                   	push   %esi
40cea0:	57                   	push   %edi
40cea1:	a1 08 85 43 00       	mov    0x438508,%eax
40cea6:	33 c5                	xor    %ebp,%eax
40cea8:	50                   	push   %eax
40cea9:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ceac:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ceb2:	8b f9                	mov    %ecx,%edi
40ceb4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ceb8:	ff 77 20             	push   0x20(%edi)
40cebb:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40cec1:	8b ce                	mov    %esi,%ecx
40cec3:	ff 15 20 a5 43 00    	call   *0x43a520
40cec9:	ff d6                	call   *%esi
40cecb:	83 67 20 00          	andl   $0x0,0x20(%edi)
40cecf:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40ced6:	ff 77 1c             	push   0x1c(%edi)
40ced9:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40cedf:	8b ce                	mov    %esi,%ecx
40cee1:	ff 15 20 a5 43 00    	call   *0x43a520
40cee7:	ff d6                	call   *%esi
40cee9:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ceed:	83 67 1c 00          	andl   $0x0,0x1c(%edi)
40cef1:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
40cef5:	74 1e                	je     0x40cf15
40cef7:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40cefe:	ff 77 18             	push   0x18(%edi)
40cf01:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40cf07:	8b ce                	mov    %esi,%ecx
40cf09:	ff 15 20 a5 43 00    	call   *0x43a520
40cf0f:	ff d6                	call   *%esi
40cf11:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cf15:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
40cf19:	74 1a                	je     0x40cf35
40cf1b:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40cf22:	ff 77 14             	push   0x14(%edi)
40cf25:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40cf2b:	8b ce                	mov    %esi,%ecx
40cf2d:	ff 15 20 a5 43 00    	call   *0x43a520
40cf33:	ff d6                	call   *%esi
40cf35:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40cf38:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40cf3f:	59                   	pop    %ecx
40cf40:	5f                   	pop    %edi
40cf41:	5e                   	pop    %esi
40cf42:	c9                   	leave
40cf43:	c3                   	ret
40cf44:	cc                   	int3
40cf45:	cc                   	int3
40cf46:	cc                   	int3
40cf47:	cc                   	int3
40cf48:	cc                   	int3
40cf49:	cc                   	int3
40cf4a:	cc                   	int3
40cf4b:	cc                   	int3
40cf4c:	cc                   	int3
40cf4d:	cc                   	int3
40cf4e:	cc                   	int3
40cf4f:	cc                   	int3
40cf50:	8b ff                	mov    %edi,%edi
40cf52:	55                   	push   %ebp
40cf53:	8b ec                	mov    %esp,%ebp
40cf55:	6a ff                	push   $0xffffffff
40cf57:	68 87 e4 41 00       	push   $0x41e487
40cf5c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40cf62:	50                   	push   %eax
40cf63:	81 ec bc 04 00 00    	sub    $0x4bc,%esp
40cf69:	a1 08 85 43 00       	mov    0x438508,%eax
40cf6e:	33 c5                	xor    %ebp,%eax
40cf70:	89 45 ec             	mov    %eax,-0x14(%ebp)
40cf73:	53                   	push   %ebx
40cf74:	56                   	push   %esi
40cf75:	57                   	push   %edi
40cf76:	50                   	push   %eax
40cf77:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cf7a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40cf80:	89 65 f0             	mov    %esp,-0x10(%ebp)
40cf83:	8b da                	mov    %edx,%ebx
40cf85:	89 9d 98 fb ff ff    	mov    %ebx,-0x468(%ebp)
40cf8b:	8b c1                	mov    %ecx,%eax
40cf8d:	89 85 88 fb ff ff    	mov    %eax,-0x478(%ebp)
40cf93:	6a 34                	push   $0x34
40cf95:	89 85 70 fb ff ff    	mov    %eax,-0x490(%ebp)
40cf9b:	8d 85 ac fb ff ff    	lea    -0x454(%ebp),%eax
40cfa1:	6a 00                	push   $0x0
40cfa3:	50                   	push   %eax
40cfa4:	e8 b8 10 01 00       	call   0x41e061
40cfa9:	a1 10 5f 40 00       	mov    0x405f10,%eax
40cfae:	33 f6                	xor    %esi,%esi
40cfb0:	89 85 bc fb ff ff    	mov    %eax,-0x444(%ebp)
40cfb6:	83 c4 0c             	add    $0xc,%esp
40cfb9:	a1 14 5f 40 00       	mov    0x405f14,%eax
40cfbe:	89 85 c0 fb ff ff    	mov    %eax,-0x440(%ebp)
40cfc4:	a1 18 5f 40 00       	mov    0x405f18,%eax
40cfc9:	89 85 c4 fb ff ff    	mov    %eax,-0x43c(%ebp)
40cfcf:	a1 1c 5f 40 00       	mov    0x405f1c,%eax
40cfd4:	c7 85 b0 fb ff ff 02 	movl   $0x2,-0x450(%ebp)
40cfdb:	00 00 00
40cfde:	c7 85 b4 fb ff ff 02 	movl   $0x2,-0x44c(%ebp)
40cfe5:	00 00 00
40cfe8:	89 85 c8 fb ff ff    	mov    %eax,-0x438(%ebp)
40cfee:	c7 85 cc fb ff ff 01 	movl   $0x1,-0x434(%ebp)
40cff5:	00 00 00
40cff8:	c7 85 d0 fb ff ff 06 	movl   $0x6,-0x430(%ebp)
40cfff:	00 00 00
40d002:	89 b5 8c fb ff ff    	mov    %esi,-0x474(%ebp)
40d008:	33 ff                	xor    %edi,%edi
40d00a:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d00d:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
40d013:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d017:	8d 8d ec fb ff ff    	lea    -0x414(%ebp),%ecx
40d01d:	89 8d a4 fb ff ff    	mov    %ecx,-0x45c(%ebp)
40d023:	ba 00 04 00 00       	mov    $0x400,%edx
40d028:	89 bd 94 fb ff ff    	mov    %edi,-0x46c(%ebp)
40d02e:	89 bd 9c fb ff ff    	mov    %edi,-0x464(%ebp)
40d034:	89 95 a8 fb ff ff    	mov    %edx,-0x458(%ebp)
40d03a:	a1 f4 8a 43 00       	mov    0x438af4,%eax
40d03f:	90                   	nop
40d040:	83 3d 74 8a 43 00 00 	cmpl   $0x0,0x438a74
40d047:	0f 85 e4 00 00 00    	jne    0x40d131
40d04d:	8b 1b                	mov    (%ebx),%ebx
40d04f:	8d 85 94 fb ff ff    	lea    -0x46c(%ebp),%eax
40d055:	50                   	push   %eax
40d056:	52                   	push   %edx
40d057:	51                   	push   %ecx
40d058:	ff b5 98 fb ff ff    	push   -0x468(%ebp)
40d05e:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
40d061:	8b cb                	mov    %ebx,%ecx
40d063:	ff 15 20 a5 43 00    	call   *0x43a520
40d069:	ff d3                	call   *%ebx
40d06b:	8b d8                	mov    %eax,%ebx
40d06d:	85 db                	test   %ebx,%ebx
40d06f:	0f 84 54 02 00 00    	je     0x40d2c9
40d075:	81 fb 10 12 04 00    	cmp    $0x41210,%ebx
40d07b:	0f 84 8a 01 00 00    	je     0x40d20b
40d081:	81 fb 01 40 00 80    	cmp    $0x80004001,%ebx
40d087:	0f 84 7e 01 00 00    	je     0x40d20b
40d08d:	81 fb 7a 00 07 80    	cmp    $0x8007007a,%ebx
40d093:	75 7d                	jne    0x40d112
40d095:	81 bd a8 fb ff ff 00 	cmpl   $0x400,-0x458(%ebp)
40d09c:	04 00 00
40d09f:	0f 85 0c 01 00 00    	jne    0x40d1b1
40d0a5:	8b 85 94 fb ff ff    	mov    -0x46c(%ebp),%eax
40d0ab:	3d 00 04 00 00       	cmp    $0x400,%eax
40d0b0:	0f 86 dc 00 00 00    	jbe    0x40d192
40d0b6:	3d 00 00 01 00       	cmp    $0x10000,%eax
40d0bb:	0f 83 99 00 00 00    	jae    0x40d15a
40d0c1:	8b 1d 3c 1a 40 00    	mov    0x401a3c,%ebx
40d0c7:	8b cb                	mov    %ebx,%ecx
40d0c9:	50                   	push   %eax
40d0ca:	ff 15 20 a5 43 00    	call   *0x43a520
40d0d0:	ff d3                	call   *%ebx
40d0d2:	8b d8                	mov    %eax,%ebx
40d0d4:	3b de                	cmp    %esi,%ebx
40d0d6:	74 21                	je     0x40d0f9
40d0d8:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
40d0dc:	56                   	push   %esi
40d0dd:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40d0e3:	8b ce                	mov    %esi,%ecx
40d0e5:	ff 15 20 a5 43 00    	call   *0x43a520
40d0eb:	ff d6                	call   *%esi
40d0ed:	8b f3                	mov    %ebx,%esi
40d0ef:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d0f3:	89 b5 8c fb ff ff    	mov    %esi,-0x474(%ebp)
40d0f9:	8b 95 94 fb ff ff    	mov    -0x46c(%ebp),%edx
40d0ff:	8b ce                	mov    %esi,%ecx
40d101:	8b 9d 98 fb ff ff    	mov    -0x468(%ebp),%ebx
40d107:	89 b5 a4 fb ff ff    	mov    %esi,-0x45c(%ebp)
40d10d:	e9 22 ff ff ff       	jmp    0x40d034
40d112:	85 db                	test   %ebx,%ebx
40d114:	0f 88 cf 00 00 00    	js     0x40d1e9
40d11a:	8b 8d a4 fb ff ff    	mov    -0x45c(%ebp),%ecx
40d120:	8b 95 a8 fb ff ff    	mov    -0x458(%ebp),%edx
40d126:	8b 9d 98 fb ff ff    	mov    -0x468(%ebp),%ebx
40d12c:	e9 09 ff ff ff       	jmp    0x40d03a
40d131:	89 85 94 fb ff ff    	mov    %eax,-0x46c(%ebp)
40d137:	3b c2                	cmp    %edx,%eax
40d139:	0f 87 01 ff ff ff    	ja     0x40d040
40d13f:	8b 9d a4 fb ff ff    	mov    -0x45c(%ebp),%ebx
40d145:	50                   	push   %eax
40d146:	ff 35 74 8a 43 00    	push   0x438a74
40d14c:	53                   	push   %ebx
40d14d:	e8 94 dd 00 00       	call   0x41aee6
40d152:	83 c4 0c             	add    $0xc,%esp
40d155:	e9 75 01 00 00       	jmp    0x40d2cf
40d15a:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40d15e:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d164:	8b cf                	mov    %edi,%ecx
40d166:	6a 00                	push   $0x0
40d168:	ff 15 20 a5 43 00    	call   *0x43a520
40d16e:	ff d7                	call   *%edi
40d170:	c7 45 fc 0b 00 00 00 	movl   $0xb,-0x4(%ebp)
40d177:	56                   	push   %esi
40d178:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40d17e:	8b ce                	mov    %esi,%ecx
40d180:	ff 15 20 a5 43 00    	call   *0x43a520
40d186:	ff d6                	call   *%esi
40d188:	b8 12 12 04 80       	mov    $0x80041212,%eax
40d18d:	e9 da 04 00 00       	jmp    0x40d66c
40d192:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
40d196:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d19c:	8b cf                	mov    %edi,%ecx
40d19e:	6a 00                	push   $0x0
40d1a0:	ff 15 20 a5 43 00    	call   *0x43a520
40d1a6:	ff d7                	call   *%edi
40d1a8:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
40d1af:	eb 1d                	jmp    0x40d1ce
40d1b1:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40d1b5:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d1bb:	8b cf                	mov    %edi,%ecx
40d1bd:	6a 00                	push   $0x0
40d1bf:	ff 15 20 a5 43 00    	call   *0x43a520
40d1c5:	ff d7                	call   *%edi
40d1c7:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
40d1ce:	56                   	push   %esi
40d1cf:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40d1d5:	8b ce                	mov    %esi,%ecx
40d1d7:	ff 15 20 a5 43 00    	call   *0x43a520
40d1dd:	ff d6                	call   *%esi
40d1df:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40d1e4:	e9 83 04 00 00       	jmp    0x40d66c
40d1e9:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
40d1ed:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
40d1f3:	8b cf                	mov    %edi,%ecx
40d1f5:	6a 00                	push   $0x0
40d1f7:	ff 15 20 a5 43 00    	call   *0x43a520
40d1fd:	ff d7                	call   *%edi
40d1ff:	c7 45 fc 0e 00 00 00 	movl   $0xe,-0x4(%ebp)
40d206:	e9 4e 04 00 00       	jmp    0x40d659
40d20b:	a1 44 8a 43 00       	mov    0x438a44,%eax
40d210:	85 c0                	test   %eax,%eax
40d212:	75 57                	jne    0x40d26b
40d214:	68 10 91 43 00       	push   $0x439110
40d219:	68 44 8a 43 00       	push   $0x438a44
40d21e:	6a 01                	push   $0x1
40d220:	68 c0 75 40 00       	push   $0x4075c0
40d225:	ff 15 f8 a3 43 00    	call   *0x43a3f8
40d22b:	85 c0                	test   %eax,%eax
40d22d:	75 37                	jne    0x40d266
40d22f:	ff 15 a8 a0 43 00    	call   *0x43a0a8
40d235:	8b d8                	mov    %eax,%ebx
40d237:	85 db                	test   %ebx,%ebx
40d239:	7e 09                	jle    0x40d244