40d957:	8b 4b 40             	mov    0x40(%ebx),%ecx
40d95a:	e8 89 ff ff ff       	call   0x40d8e8
40d95f:	8b 4b 34             	mov    0x34(%ebx),%ecx
40d962:	8b f0                	mov    %eax,%esi
40d964:	e8 7f ff ff ff       	call   0x40d8e8
40d969:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40d96c:	03 f0                	add    %eax,%esi
40d96e:	e8 75 ff ff ff       	call   0x40d8e8
40d973:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
40d976:	03 f0                	add    %eax,%esi
40d978:	e8 53 ff ff ff       	call   0x40d8d0
40d97d:	8b 4b 30             	mov    0x30(%ebx),%ecx
40d980:	03 f0                	add    %eax,%esi
40d982:	e8 49 ff ff ff       	call   0x40d8d0
40d987:	8b 4b 28             	mov    0x28(%ebx),%ecx
40d98a:	03 f0                	add    %eax,%esi
40d98c:	e8 3f ff ff ff       	call   0x40d8d0
40d991:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40d994:	03 f0                	add    %eax,%esi
40d996:	e8 35 ff ff ff       	call   0x40d8d0
40d99b:	8b 4b 18             	mov    0x18(%ebx),%ecx
40d99e:	03 f0                	add    %eax,%esi
40d9a0:	e8 2b ff ff ff       	call   0x40d8d0
40d9a5:	8b 4b 14             	mov    0x14(%ebx),%ecx
40d9a8:	03 f0                	add    %eax,%esi
40d9aa:	e8 21 ff ff ff       	call   0x40d8d0
40d9af:	8b 4b 44             	mov    0x44(%ebx),%ecx
40d9b2:	03 f0                	add    %eax,%esi
40d9b4:	e8 17 ff ff ff       	call   0x40d8d0
40d9b9:	8b 55 fc             	mov    -0x4(%ebp),%edx
40d9bc:	03 f0                	add    %eax,%esi
40d9be:	8d 7a 50             	lea    0x50(%edx),%edi
40d9c1:	8b 07                	mov    (%edi),%eax
40d9c3:	85 c0                	test   %eax,%eax
40d9c5:	74 0a                	je     0x40d9d1
40d9c7:	83 38 01             	cmpl   $0x1,(%eax)
40d9ca:	75 05                	jne    0x40d9d1
40d9cc:	39 72 54             	cmp    %esi,0x54(%edx)
40d9cf:	73 14                	jae    0x40d9e5
40d9d1:	8b cf                	mov    %edi,%ecx
40d9d3:	e8 75 fb ff ff       	call   0x40d54d
40d9d8:	56                   	push   %esi
40d9d9:	6a 00                	push   $0x0
40d9db:	8b cf                	mov    %edi,%ecx
40d9dd:	e8 99 fb ff ff       	call   0x40d57b
40d9e2:	8b 55 fc             	mov    -0x4(%ebp),%edx
40d9e5:	8b 37                	mov    (%edi),%esi
40d9e7:	8b 4f 04             	mov    0x4(%edi),%ecx
40d9ea:	8d 46 04             	lea    0x4(%esi),%eax
40d9ed:	f7 de                	neg    %esi
40d9ef:	1b f6                	sbb    %esi,%esi
40d9f1:	23 f0                	and    %eax,%esi
40d9f3:	8b fe                	mov    %esi,%edi
40d9f5:	f7 df                	neg    %edi
40d9f7:	1b ff                	sbb    %edi,%edi
40d9f9:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
40d9fc:	23 f8                	and    %eax,%edi
40d9fe:	85 f6                	test   %esi,%esi
40da00:	0f 84 b1 00 00 00    	je     0x40dab7
40da06:	8d 42 0c             	lea    0xc(%edx),%eax
40da09:	8b ce                	mov    %esi,%ecx
40da0b:	50                   	push   %eax
40da0c:	ff 73 0c             	push   0xc(%ebx)
40da0f:	8b d7                	mov    %edi,%edx
40da11:	e8 b9 58 00 00       	call   0x4132cf
40da16:	8b 75 fc             	mov    -0x4(%ebp),%esi
40da19:	8b d7                	mov    %edi,%edx
40da1b:	8d 4e 14             	lea    0x14(%esi),%ecx
40da1e:	51                   	push   %ecx
40da1f:	ff 73 14             	push   0x14(%ebx)
40da22:	8b c8                	mov    %eax,%ecx
40da24:	e8 10 59 00 00       	call   0x413339
40da29:	8d 4e 18             	lea    0x18(%esi),%ecx
40da2c:	8b d7                	mov    %edi,%edx
40da2e:	51                   	push   %ecx
40da2f:	ff 73 18             	push   0x18(%ebx)
40da32:	8b c8                	mov    %eax,%ecx
40da34:	e8 00 59 00 00       	call   0x413339
40da39:	8d 4e 1c             	lea    0x1c(%esi),%ecx
40da3c:	8b d7                	mov    %edi,%edx
40da3e:	51                   	push   %ecx
40da3f:	ff 73 1c             	push   0x1c(%ebx)
40da42:	8b c8                	mov    %eax,%ecx
40da44:	e8 f0 58 00 00       	call   0x413339
40da49:	8d 4e 28             	lea    0x28(%esi),%ecx
40da4c:	8b d7                	mov    %edi,%edx
40da4e:	51                   	push   %ecx
40da4f:	ff 73 28             	push   0x28(%ebx)
40da52:	8b c8                	mov    %eax,%ecx
40da54:	e8 e0 58 00 00       	call   0x413339
40da59:	8d 4e 44             	lea    0x44(%esi),%ecx
40da5c:	8b d7                	mov    %edi,%edx
40da5e:	51                   	push   %ecx
40da5f:	ff 73 44             	push   0x44(%ebx)
40da62:	8b c8                	mov    %eax,%ecx
40da64:	e8 d0 58 00 00       	call   0x413339
40da69:	8d 4e 3c             	lea    0x3c(%esi),%ecx
40da6c:	8b d7                	mov    %edi,%edx
40da6e:	51                   	push   %ecx
40da6f:	ff 73 3c             	push   0x3c(%ebx)
40da72:	8b c8                	mov    %eax,%ecx
40da74:	e8 c0 58 00 00       	call   0x413339
40da79:	8d 4e 40             	lea    0x40(%esi),%ecx
40da7c:	8b d7                	mov    %edi,%edx
40da7e:	51                   	push   %ecx
40da7f:	ff 73 40             	push   0x40(%ebx)
40da82:	8b c8                	mov    %eax,%ecx
40da84:	e8 46 58 00 00       	call   0x4132cf
40da89:	8d 4e 30             	lea    0x30(%esi),%ecx
40da8c:	8b d7                	mov    %edi,%edx
40da8e:	51                   	push   %ecx
40da8f:	ff 73 30             	push   0x30(%ebx)
40da92:	8b c8                	mov    %eax,%ecx
40da94:	e8 a0 58 00 00       	call   0x413339
40da99:	8d 4e 34             	lea    0x34(%esi),%ecx
40da9c:	8b d7                	mov    %edi,%edx
40da9e:	51                   	push   %ecx
40da9f:	ff 73 34             	push   0x34(%ebx)
40daa2:	8b c8                	mov    %eax,%ecx
40daa4:	e8 26 58 00 00       	call   0x4132cf
40daa9:	2b f8                	sub    %eax,%edi
40daab:	57                   	push   %edi
40daac:	6a 00                	push   $0x0
40daae:	50                   	push   %eax
40daaf:	e8 f9 a8 01 00       	call   0x4283ad
40dab4:	83 c4 0c             	add    $0xc,%esp
40dab7:	5f                   	pop    %edi
40dab8:	5e                   	pop    %esi
40dab9:	5b                   	pop    %ebx
40daba:	c9                   	leave
40dabb:	c2 04 00             	ret    $0x4
40dabe:	8b ff                	mov    %edi,%edi
40dac0:	55                   	push   %ebp
40dac1:	8b ec                	mov    %esp,%ebp
40dac3:	56                   	push   %esi
40dac4:	57                   	push   %edi
40dac5:	8b f1                	mov    %ecx,%esi
40dac7:	ff 15 b4 c3 42 00    	call   *0x42c3b4
40dacd:	ff 75 08             	push   0x8(%ebp)
40dad0:	8d 4e 0c             	lea    0xc(%esi),%ecx
40dad3:	c7 06 bc 10 40 00    	movl   $0x4010bc,(%esi)
40dad9:	33 ff                	xor    %edi,%edi
40dadb:	89 79 50             	mov    %edi,0x50(%ecx)
40dade:	89 79 54             	mov    %edi,0x54(%ecx)
40dae1:	e8 57 fe ff ff       	call   0x40d93d
40dae6:	89 7e 64             	mov    %edi,0x64(%esi)
40dae9:	8b c6                	mov    %esi,%eax
40daeb:	89 7e 68             	mov    %edi,0x68(%esi)
40daee:	5f                   	pop    %edi
40daef:	5e                   	pop    %esi
40daf0:	5d                   	pop    %ebp
40daf1:	c2 04 00             	ret    $0x4
40daf4:	cc                   	int3
40daf5:	cc                   	int3
40daf6:	cc                   	int3
40daf7:	cc                   	int3
40daf8:	cc                   	int3
40daf9:	cc                   	int3
40dafa:	cc                   	int3
40dafb:	cc                   	int3
40dafc:	cc                   	int3
40dafd:	cc                   	int3
40dafe:	cc                   	int3
40daff:	cc                   	int3
40db00:	8b ff                	mov    %edi,%edi
40db02:	55                   	push   %ebp
40db03:	8b ec                	mov    %esp,%ebp
40db05:	b8 04 14 00 00       	mov    $0x1404,%eax
40db0a:	e8 61 a8 01 00       	call   0x428370
40db0f:	a1 74 b6 42 00       	mov    0x42b674,%eax
40db14:	33 c5                	xor    %ebp,%eax
40db16:	89 45 fc             	mov    %eax,-0x4(%ebp)
40db19:	56                   	push   %esi
40db1a:	8d 71 64             	lea    0x64(%ecx),%esi
40db1d:	8b 06                	mov    (%esi),%eax
40db1f:	85 c0                	test   %eax,%eax
40db21:	75 5a                	jne    0x40db7d
40db23:	8d 41 0c             	lea    0xc(%ecx),%eax
40db26:	ba 00 08 00 00       	mov    $0x800,%edx
40db2b:	50                   	push   %eax
40db2c:	8d 8d fc eb ff ff    	lea    -0x1404(%ebp),%ecx
40db32:	e8 a8 f7 ff ff       	call   0x40d2df
40db37:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
40db3d:	50                   	push   %eax
40db3e:	68 40 24 40 00       	push   $0x402440
40db43:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
40db49:	68 00 04 00 00       	push   $0x400
40db4e:	50                   	push   %eax
40db4f:	e8 18 fd ff ff       	call   0x40d86c
40db54:	8d 8d fc fb ff ff    	lea    -0x404(%ebp),%ecx
40db5a:	83 c4 10             	add    $0x10,%esp
40db5d:	8d 51 01             	lea    0x1(%ecx),%edx
40db60:	8a 01                	mov    (%ecx),%al
40db62:	41                   	inc    %ecx
40db63:	84 c0                	test   %al,%al
40db65:	75 f9                	jne    0x40db60
40db67:	2b ca                	sub    %edx,%ecx
40db69:	8d 41 01             	lea    0x1(%ecx),%eax
40db6c:	8b ce                	mov    %esi,%ecx
40db6e:	50                   	push   %eax
40db6f:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
40db75:	50                   	push   %eax
40db76:	e8 00 fa ff ff       	call   0x40d57b
40db7b:	8b 06                	mov    (%esi),%eax
40db7d:	8d 48 04             	lea    0x4(%eax),%ecx
40db80:	f7 d8                	neg    %eax
40db82:	5e                   	pop    %esi
40db83:	1b c0                	sbb    %eax,%eax
40db85:	23 c1                	and    %ecx,%eax
40db87:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40db8a:	33 cd                	xor    %ebp,%ecx
40db8c:	e8 4f 9f 01 00       	call   0x427ae0
40db91:	c9                   	leave
40db92:	c3                   	ret
40db93:	cc                   	int3
40db94:	cc                   	int3
40db95:	cc                   	int3
40db96:	cc                   	int3
40db97:	cc                   	int3
40db98:	cc                   	int3
40db99:	cc                   	int3
40db9a:	cc                   	int3
40db9b:	cc                   	int3
40db9c:	cc                   	int3
40db9d:	cc                   	int3
40db9e:	cc                   	int3
40db9f:	cc                   	int3
40dba0:	8b ff                	mov    %edi,%edi
40dba2:	55                   	push   %ebp
40dba3:	8b ec                	mov    %esp,%ebp
40dba5:	56                   	push   %esi
40dba6:	8b f1                	mov    %ecx,%esi
40dba8:	e8 23 00 00 00       	call   0x40dbd0
40dbad:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40dbb1:	74 07                	je     0x40dbba
40dbb3:	56                   	push   %esi
40dbb4:	e8 82 a1 01 00       	call   0x427d3b
40dbb9:	59                   	pop    %ecx
40dbba:	8b c6                	mov    %esi,%eax
40dbbc:	5e                   	pop    %esi
40dbbd:	5d                   	pop    %ebp
40dbbe:	c2 04 00             	ret    $0x4
40dbc1:	cc                   	int3
40dbc2:	cc                   	int3
40dbc3:	cc                   	int3
40dbc4:	cc                   	int3
40dbc5:	cc                   	int3
40dbc6:	cc                   	int3
40dbc7:	cc                   	int3
40dbc8:	cc                   	int3
40dbc9:	cc                   	int3
40dbca:	cc                   	int3
40dbcb:	cc                   	int3
40dbcc:	cc                   	int3
40dbcd:	cc                   	int3
40dbce:	cc                   	int3
40dbcf:	cc                   	int3
40dbd0:	8b ff                	mov    %edi,%edi
40dbd2:	56                   	push   %esi
40dbd3:	8b f1                	mov    %ecx,%esi
40dbd5:	8d 4e 64             	lea    0x64(%esi),%ecx
40dbd8:	e8 70 f9 ff ff       	call   0x40d54d
40dbdd:	8d 4e 5c             	lea    0x5c(%esi),%ecx
40dbe0:	e8 68 f9 ff ff       	call   0x40d54d
40dbe5:	8b ce                	mov    %esi,%ecx
40dbe7:	5e                   	pop    %esi
40dbe8:	ff 25 44 c3 42 00    	jmp    *0x42c344
40dbee:	8b ff                	mov    %edi,%edi
40dbf0:	56                   	push   %esi
40dbf1:	8b 35 24 bb 42 00    	mov    0x42bb24,%esi
40dbf7:	85 f6                	test   %esi,%esi
40dbf9:	74 0b                	je     0x40dc06
40dbfb:	51                   	push   %ecx
40dbfc:	8b ce                	mov    %esi,%ecx
40dbfe:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40dc04:	ff d6                	call   *%esi
40dc06:	5e                   	pop    %esi
40dc07:	c3                   	ret
40dc08:	cc                   	int3
40dc09:	cc                   	int3
40dc0a:	cc                   	int3
40dc0b:	cc                   	int3
40dc0c:	cc                   	int3
40dc0d:	cc                   	int3
40dc0e:	cc                   	int3
40dc0f:	cc                   	int3
40dc10:	6a 00                	push   $0x0
40dc12:	6a 00                	push   $0x0
40dc14:	e8 46 a6 01 00       	call   0x42825f
40dc19:	cc                   	int3
40dc1a:	cc                   	int3
40dc1b:	cc                   	int3
40dc1c:	cc                   	int3
40dc1d:	cc                   	int3
40dc1e:	cc                   	int3
40dc1f:	cc                   	int3
40dc20:	8b ff                	mov    %edi,%edi
40dc22:	55                   	push   %ebp
40dc23:	8b ec                	mov    %esp,%ebp
40dc25:	83 ec 6c             	sub    $0x6c,%esp
40dc28:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
40dc2b:	ff 75 08             	push   0x8(%ebp)
40dc2e:	e8 8b fe ff ff       	call   0x40dabe
40dc33:	68 38 9f 42 00       	push   $0x429f38
40dc38:	8d 45 94             	lea    -0x6c(%ebp),%eax
40dc3b:	50                   	push   %eax
40dc3c:	e8 1e a6 01 00       	call   0x42825f
40dc41:	cc                   	int3
40dc42:	cc                   	int3
40dc43:	cc                   	int3
40dc44:	cc                   	int3
40dc45:	cc                   	int3
40dc46:	cc                   	int3
40dc47:	cc                   	int3
40dc48:	cc                   	int3
40dc49:	cc                   	int3
40dc4a:	cc                   	int3
40dc4b:	cc                   	int3
40dc4c:	cc                   	int3
40dc4d:	cc                   	int3
40dc4e:	cc                   	int3
40dc4f:	cc                   	int3
40dc50:	8b ff                	mov    %edi,%edi
40dc52:	55                   	push   %ebp
40dc53:	8b ec                	mov    %esp,%ebp
40dc55:	51                   	push   %ecx
40dc56:	53                   	push   %ebx
40dc57:	8b 5d 08             	mov    0x8(%ebp),%ebx
40dc5a:	56                   	push   %esi
40dc5b:	57                   	push   %edi
40dc5c:	8b f1                	mov    %ecx,%esi
40dc5e:	53                   	push   %ebx
40dc5f:	89 75 fc             	mov    %esi,-0x4(%ebp)
40dc62:	ff 15 00 c3 42 00    	call   *0x42c300
40dc68:	8d 56 0c             	lea    0xc(%esi),%edx
40dc6b:	c7 06 bc 10 40 00    	movl   $0x4010bc,(%esi)
40dc71:	6a 14                	push   $0x14
40dc73:	8d 43 0c             	lea    0xc(%ebx),%eax
40dc76:	8b fa                	mov    %edx,%edi
40dc78:	59                   	pop    %ecx
40dc79:	8b f0                	mov    %eax,%esi
40dc7b:	83 c0 50             	add    $0x50,%eax
40dc7e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40dc80:	50                   	push   %eax
40dc81:	8d 4a 50             	lea    0x50(%edx),%ecx
40dc84:	e8 91 f8 ff ff       	call   0x40d51a
40dc89:	8b 75 fc             	mov    -0x4(%ebp),%esi
40dc8c:	8d 43 64             	lea    0x64(%ebx),%eax
40dc8f:	50                   	push   %eax
40dc90:	8d 4e 64             	lea    0x64(%esi),%ecx