40c9ed:	e8 46 fa 00 00       	call   0x41c438
40c9f2:	8b f1                	mov    %ecx,%esi
40c9f4:	89 75 f0             	mov    %esi,-0x10(%ebp)
40c9f7:	68 5c 02 00 00       	push   $0x25c
40c9fc:	e8 85 15 00 00       	call   0x40df86
40ca01:	33 ff                	xor    %edi,%edi
40ca03:	89 7d fc             	mov    %edi,-0x4(%ebp)
40ca06:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
40ca0c:	c7 06 04 1d 40 00    	movl   $0x401d04,(%esi)
40ca12:	e8 95 ab ff ff       	call   0x4075ac
40ca17:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40ca1b:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40ca21:	e8 bc aa ff ff       	call   0x4074e2
40ca26:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40ca2a:	89 be 90 00 00 00    	mov    %edi,0x90(%esi)
40ca30:	c7 86 94 00 00 00 01 	movl   $0x1,0x94(%esi)
40ca37:	00 00 00
40ca3a:	89 be 98 00 00 00    	mov    %edi,0x98(%esi)
40ca40:	89 be 9c 00 00 00    	mov    %edi,0x9c(%esi)
40ca46:	89 be a0 00 00 00    	mov    %edi,0xa0(%esi)
40ca4c:	89 be a4 00 00 00    	mov    %edi,0xa4(%esi)
40ca52:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ca56:	8b c6                	mov    %esi,%eax
40ca58:	e8 a9 f9 00 00       	call   0x41c406
40ca5d:	c3                   	ret
40ca5e:	cc                   	int3
40ca5f:	cc                   	int3
40ca60:	8b ff                	mov    %edi,%edi
40ca62:	55                   	push   %ebp
40ca63:	8b ec                	mov    %esp,%ebp
40ca65:	56                   	push   %esi
40ca66:	8b f1                	mov    %ecx,%esi
40ca68:	e8 14 00 00 00       	call   0x40ca81
40ca6d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40ca71:	74 07                	je     0x40ca7a
40ca73:	56                   	push   %esi
40ca74:	e8 2a e8 00 00       	call   0x41b2a3
40ca79:	59                   	pop    %ecx
40ca7a:	8b c6                	mov    %esi,%eax
40ca7c:	5e                   	pop    %esi
40ca7d:	5d                   	pop    %ebp
40ca7e:	c2 04 00             	ret    $0x4
40ca81:	8b ff                	mov    %edi,%edi
40ca83:	55                   	push   %ebp
40ca84:	8b ec                	mov    %esp,%ebp
40ca86:	6a ff                	push   $0xffffffff
40ca88:	68 35 d0 41 00       	push   $0x41d035
40ca8d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ca93:	50                   	push   %eax
40ca94:	51                   	push   %ecx
40ca95:	56                   	push   %esi
40ca96:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40ca9b:	33 c5                	xor    %ebp,%eax
40ca9d:	50                   	push   %eax
40ca9e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40caa1:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40caa7:	8b f1                	mov    %ecx,%esi
40caa9:	89 75 f0             	mov    %esi,-0x10(%ebp)
40caac:	c7 06 04 1d 40 00    	movl   $0x401d04,(%esi)
40cab2:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40cab9:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40cabf:	ff 15 6c 33 42 00    	call   *0x42336c
40cac5:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40cac9:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
40cacf:	ff 15 48 33 42 00    	call   *0x423348
40cad5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cad9:	8b ce                	mov    %esi,%ecx
40cadb:	e8 01 15 00 00       	call   0x40dfe1
40cae0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40cae3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40caea:	59                   	pop    %ecx
40caeb:	5e                   	pop    %esi
40caec:	c9                   	leave
40caed:	c3                   	ret
40caee:	cc                   	int3
40caef:	cc                   	int3
40caf0:	8b ff                	mov    %edi,%edi
40caf2:	55                   	push   %ebp
40caf3:	8b ec                	mov    %esp,%ebp
40caf5:	56                   	push   %esi
40caf6:	8b f1                	mov    %ecx,%esi
40caf8:	8d 86 a8 00 00 00    	lea    0xa8(%esi),%eax
40cafe:	50                   	push   %eax
40caff:	68 03 04 00 00       	push   $0x403
40cb04:	ff 75 08             	push   0x8(%ebp)
40cb07:	ff 15 70 33 42 00    	call   *0x423370
40cb0d:	8d 86 e8 00 00 00    	lea    0xe8(%esi),%eax
40cb13:	50                   	push   %eax
40cb14:	68 fc 03 00 00       	push   $0x3fc
40cb19:	ff 75 08             	push   0x8(%ebp)
40cb1c:	ff 15 70 33 42 00    	call   *0x423370
40cb22:	5e                   	pop    %esi
40cb23:	5d                   	pop    %ebp
40cb24:	c2 04 00             	ret    $0x4
40cb27:	cc                   	int3
40cb28:	cc                   	int3
40cb29:	cc                   	int3
40cb2a:	cc                   	int3
40cb2b:	cc                   	int3
40cb2c:	cc                   	int3
40cb2d:	cc                   	int3
40cb2e:	cc                   	int3
40cb2f:	cc                   	int3
40cb30:	b8 f8 1c 40 00       	mov    $0x401cf8,%eax
40cb35:	c3                   	ret
40cb36:	6a 4c                	push   $0x4c
40cb38:	b8 f5 cc 41 00       	mov    $0x41ccf5,%eax
40cb3d:	e8 29 f9 00 00       	call   0x41c46b
40cb42:	8b f9                	mov    %ecx,%edi
40cb44:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cb47:	ff 15 40 32 42 00    	call   *0x423240
40cb4d:	33 f6                	xor    %esi,%esi
40cb4f:	89 75 fc             	mov    %esi,-0x4(%ebp)
40cb52:	8d 45 e0             	lea    -0x20(%ebp),%eax
40cb55:	50                   	push   %eax
40cb56:	ff b7 08 01 00 00    	push   0x108(%edi)
40cb5c:	ff 15 3c 34 42 00    	call   *0x42343c
40cb62:	6a 2c                	push   $0x2c
40cb64:	8d 45 a8             	lea    -0x58(%ebp),%eax
40cb67:	56                   	push   %esi
40cb68:	50                   	push   %eax
40cb69:	e8 b3 fa 00 00       	call   0x41c621
40cb6e:	83 c4 0c             	add    $0xc,%esp
40cb71:	c7 45 a8 0f 00 00 00 	movl   $0xf,-0x58(%ebp)
40cb78:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cb7b:	89 75 ac             	mov    %esi,-0x54(%ebp)
40cb7e:	6a 7d                	push   $0x7d
40cb80:	ff 15 74 33 42 00    	call   *0x423374
40cb86:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cb89:	2b 45 e0             	sub    -0x20(%ebp),%eax
40cb8c:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cb8f:	db 45 d8             	fildl  -0x28(%ebp)
40cb92:	89 75 bc             	mov    %esi,-0x44(%ebp)
40cb95:	dd 5d d4             	fstpl  -0x2c(%ebp)
40cb98:	dd 45 d4             	fldl   -0x2c(%ebp)
40cb9b:	dc 0d 50 62 40 00    	fmull  0x406250
40cba1:	e8 69 fa 00 00       	call   0x41c60f
40cba6:	89 45 b0             	mov    %eax,-0x50(%ebp)
40cba9:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cbac:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cbaf:	8b 40 f8             	mov    -0x8(%eax),%eax
40cbb2:	40                   	inc    %eax
40cbb3:	50                   	push   %eax
40cbb4:	ff 15 78 33 42 00    	call   *0x423378
40cbba:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
40cbc0:	83 cb ff             	or     $0xffffffff,%ebx
40cbc3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40cbc6:	85 c0                	test   %eax,%eax
40cbc8:	8d 45 a8             	lea    -0x58(%ebp),%eax
40cbcb:	50                   	push   %eax
40cbcc:	56                   	push   %esi
40cbcd:	be 61 10 00 00       	mov    $0x1061,%esi
40cbd2:	56                   	push   %esi
40cbd3:	51                   	push   %ecx
40cbd4:	74 12                	je     0x40cbe8
40cbd6:	ff 15 40 34 42 00    	call   *0x423440
40cbdc:	53                   	push   %ebx
40cbdd:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cbe0:	ff 15 7c 33 42 00    	call   *0x42337c
40cbe6:	eb 0d                	jmp    0x40cbf5
40cbe8:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40cbef:	ff 15 40 34 42 00    	call   *0x423440
40cbf5:	6a 7c                	push   $0x7c
40cbf7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cbfa:	ff 15 74 33 42 00    	call   *0x423374
40cc00:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cc03:	2b 45 e0             	sub    -0x20(%ebp),%eax
40cc06:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cc09:	db 45 d8             	fildl  -0x28(%ebp)
40cc0c:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
40cc13:	dd 5d d4             	fstpl  -0x2c(%ebp)
40cc16:	dd 45 d4             	fldl   -0x2c(%ebp)
40cc19:	dc 0d 60 62 40 00    	fmull  0x406260
40cc1f:	e8 eb f9 00 00       	call   0x41c60f
40cc24:	89 45 b0             	mov    %eax,-0x50(%ebp)
40cc27:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cc2a:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cc2d:	8b 40 f8             	mov    -0x8(%eax),%eax
40cc30:	40                   	inc    %eax
40cc31:	50                   	push   %eax
40cc32:	ff 15 78 33 42 00    	call   *0x423378
40cc38:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
40cc3e:	85 c0                	test   %eax,%eax
40cc40:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40cc43:	8d 45 a8             	lea    -0x58(%ebp),%eax
40cc46:	50                   	push   %eax
40cc47:	6a 01                	push   $0x1
40cc49:	56                   	push   %esi
40cc4a:	51                   	push   %ecx
40cc4b:	74 12                	je     0x40cc5f
40cc4d:	ff 15 40 34 42 00    	call   *0x423440
40cc53:	53                   	push   %ebx
40cc54:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cc57:	ff 15 7c 33 42 00    	call   *0x42337c
40cc5d:	eb 0d                	jmp    0x40cc6c
40cc5f:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40cc66:	ff 15 40 34 42 00    	call   *0x423440
40cc6c:	6a 7e                	push   $0x7e
40cc6e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cc71:	ff 15 74 33 42 00    	call   *0x423374
40cc77:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cc7a:	2b 45 e0             	sub    -0x20(%ebp),%eax
40cc7d:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cc80:	db 45 d8             	fildl  -0x28(%ebp)
40cc83:	c7 45 bc 02 00 00 00 	movl   $0x2,-0x44(%ebp)
40cc8a:	dd 5d d4             	fstpl  -0x2c(%ebp)
40cc8d:	dd 45 d4             	fldl   -0x2c(%ebp)
40cc90:	dc 0d 88 62 40 00    	fmull  0x406288
40cc96:	e8 74 f9 00 00       	call   0x41c60f
40cc9b:	89 45 b0             	mov    %eax,-0x50(%ebp)
40cc9e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cca1:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cca4:	8b 40 f8             	mov    -0x8(%eax),%eax
40cca7:	40                   	inc    %eax
40cca8:	50                   	push   %eax
40cca9:	ff 15 78 33 42 00    	call   *0x423378
40ccaf:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
40ccb5:	85 c0                	test   %eax,%eax
40ccb7:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40ccba:	8d 45 a8             	lea    -0x58(%ebp),%eax
40ccbd:	50                   	push   %eax
40ccbe:	6a 02                	push   $0x2
40ccc0:	56                   	push   %esi
40ccc1:	51                   	push   %ecx
40ccc2:	74 12                	je     0x40ccd6
40ccc4:	ff 15 40 34 42 00    	call   *0x423440
40ccca:	53                   	push   %ebx
40cccb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ccce:	ff 15 7c 33 42 00    	call   *0x42337c
40ccd4:	eb 0d                	jmp    0x40cce3
40ccd6:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40ccdd:	ff 15 40 34 42 00    	call   *0x423440
40cce3:	6a 7f                	push   $0x7f
40cce5:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cce8:	ff 15 74 33 42 00    	call   *0x423374
40ccee:	8b 45 e8             	mov    -0x18(%ebp),%eax
40ccf1:	2b 45 e0             	sub    -0x20(%ebp),%eax
40ccf4:	89 45 d8             	mov    %eax,-0x28(%ebp)
40ccf7:	db 45 d8             	fildl  -0x28(%ebp)
40ccfa:	c7 45 bc 03 00 00 00 	movl   $0x3,-0x44(%ebp)
40cd01:	dd 5d d4             	fstpl  -0x2c(%ebp)
40cd04:	dd 45 d4             	fldl   -0x2c(%ebp)
40cd07:	dc 0d 68 62 40 00    	fmull  0x406268
40cd0d:	e8 fd f8 00 00       	call   0x41c60f
40cd12:	89 45 b0             	mov    %eax,-0x50(%ebp)
40cd15:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cd18:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cd1b:	8b 40 f8             	mov    -0x8(%eax),%eax
40cd1e:	40                   	inc    %eax
40cd1f:	50                   	push   %eax
40cd20:	ff 15 78 33 42 00    	call   *0x423378
40cd26:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
40cd2c:	85 c0                	test   %eax,%eax
40cd2e:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40cd31:	8d 45 a8             	lea    -0x58(%ebp),%eax
40cd34:	50                   	push   %eax
40cd35:	6a 03                	push   $0x3
40cd37:	56                   	push   %esi
40cd38:	51                   	push   %ecx
40cd39:	74 12                	je     0x40cd4d
40cd3b:	ff 15 40 34 42 00    	call   *0x423440
40cd41:	53                   	push   %ebx
40cd42:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cd45:	ff 15 7c 33 42 00    	call   *0x42337c
40cd4b:	eb 0d                	jmp    0x40cd5a
40cd4d:	ff 15 40 34 42 00    	call   *0x423440
40cd53:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40cd5a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40cd5d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cd60:	ff 15 44 32 42 00    	call   *0x423244
40cd66:	e8 af f6 00 00       	call   0x41c41a
40cd6b:	c3                   	ret
40cd6c:	8b ff                	mov    %edi,%edi
40cd6e:	55                   	push   %ebp
40cd6f:	8b ec                	mov    %esp,%ebp
40cd71:	83 ec 3c             	sub    $0x3c,%esp
40cd74:	53                   	push   %ebx
40cd75:	56                   	push   %esi
40cd76:	57                   	push   %edi
40cd77:	6a 3c                	push   $0x3c
40cd79:	33 db                	xor    %ebx,%ebx
40cd7b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40cd7e:	53                   	push   %ebx
40cd7f:	50                   	push   %eax
40cd80:	8b f9                	mov    %ecx,%edi
40cd82:	e8 9a f8 00 00       	call   0x41c621
40cd87:	8b 45 08             	mov    0x8(%ebp),%eax
40cd8a:	83 c4 0c             	add    $0xc,%esp
40cd8d:	c7 45 d8 34 1f 42 00 	movl   $0x421f34,-0x28(%ebp)
40cd94:	c7 45 c4 05 00 00 00 	movl   $0x5,-0x3c(%ebp)
40cd9b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40cd9e:	53                   	push   %ebx
40cd9f:	53                   	push   %ebx
40cda0:	68 04 10 00 00       	push   $0x1004
40cda5:	ff b7 08 01 00 00    	push   0x108(%edi)
40cdab:	ff 15 40 34 42 00    	call   *0x423440
40cdb1:	89 45 c8             	mov    %eax,-0x38(%ebp)
40cdb4:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40cdb7:	50                   	push   %eax
40cdb8:	53                   	push   %ebx
40cdb9:	68 4d 10 00 00       	push   $0x104d
40cdbe:	ff b7 08 01 00 00    	push   0x108(%edi)
40cdc4:	ff 15 40 34 42 00    	call   *0x423440
40cdca:	8b f0                	mov    %eax,%esi
40cdcc:	85 f6                	test   %esi,%esi
40cdce:	0f 88 f0 00 00 00    	js     0x40cec4
40cdd4:	53                   	push   %ebx
40cdd5:	56                   	push   %esi
40cdd6:	8d 8f e8 00 00 00    	lea    0xe8(%edi),%ecx
40cddc:	ff 15 1c 31 42 00    	call   *0x42311c
40cde2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40cde5:	8b 43 08             	mov    0x8(%ebx),%eax
40cde8:	8d 4b 08             	lea    0x8(%ebx),%ecx
40cdeb:	8b 40 f8             	mov    -0x8(%eax),%eax
40cdee:	40                   	inc    %eax
40cdef:	50                   	push   %eax
40cdf0:	ff 15 78 33 42 00    	call   *0x423378
40cdf6:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cdf9:	85 c0                	test   %eax,%eax
40cdfb:	0f 84 c3 00 00 00    	je     0x40cec4
40ce01:	33 c0                	xor    %eax,%eax
40ce03:	89 75 c8             	mov    %esi,-0x38(%ebp)
40ce06:	40                   	inc    %eax
40ce07:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40ce0a:	89 45 cc             	mov    %eax,-0x34(%ebp)
40ce0d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40ce10:	50                   	push   %eax
40ce11:	6a 00                	push   $0x0
40ce13:	68 4c 10 00 00       	push   $0x104c
40ce18:	ff b7 08 01 00 00    	push   0x108(%edi)
40ce1e:	ff 15 40 34 42 00    	call   *0x423440
40ce24:	6a ff                	push   $0xffffffff
40ce26:	8d 4b 08             	lea    0x8(%ebx),%ecx
40ce29:	ff 15 7c 33 42 00    	call   *0x42337c
40ce2f:	8d 4b 20             	lea    0x20(%ebx),%ecx
40ce32:	8b 01                	mov    (%ecx),%eax
40ce34:	8b 40 f8             	mov    -0x8(%eax),%eax
40ce37:	40                   	inc    %eax
40ce38:	50                   	push   %eax
40ce39:	ff 15 78 33 42 00    	call   *0x423378
40ce3f:	89 45 d8             	mov    %eax,-0x28(%ebp)
40ce42:	85 c0                	test   %eax,%eax
40ce44:	74 7e                	je     0x40cec4
40ce46:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40ce49:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
40ce50:	50                   	push   %eax
40ce51:	6a 00                	push   $0x0
40ce53:	68 4c 10 00 00       	push   $0x104c
40ce58:	ff b7 08 01 00 00    	push   0x108(%edi)
40ce5e:	89 75 c8             	mov    %esi,-0x38(%ebp)