4158de:	e8 cd e2 ff ff       	call   0x413bb0
4158e3:	50                   	push   %eax
4158e4:	ff 76 5c             	push   0x5c(%esi)
4158e7:	e8 c4 e2 ff ff       	call   0x413bb0
4158ec:	50                   	push   %eax
4158ed:	ff 76 50             	push   0x50(%esi)
4158f0:	e8 d8 e8 ff ff       	call   0x4141cd
4158f5:	50                   	push   %eax
4158f6:	ff 76 4c             	push   0x4c(%esi)
4158f9:	e8 cf e8 ff ff       	call   0x4141cd
4158fe:	50                   	push   %eax
4158ff:	ff 76 40             	push   0x40(%esi)
415902:	e8 91 e7 ff ff       	call   0x414098
415907:	50                   	push   %eax
415908:	ff 36                	push   (%esi)
41590a:	68 c9 00 00 20       	push   $0x200000c9
41590f:	6a 02                	push   $0x2
415911:	e8 f9 fb fe ff       	call   0x40550f
415916:	8b 4d 18             	mov    0x18(%ebp),%ecx
415919:	83 c4 2c             	add    $0x2c,%esp
41591c:	8b 47 0c             	mov    0xc(%edi),%eax
41591f:	41                   	inc    %ecx
415920:	89 4d 18             	mov    %ecx,0x18(%ebp)
415923:	3b c8                	cmp    %eax,%ecx
415925:	72 84                	jb     0x4158ab
415927:	8b 55 10             	mov    0x10(%ebp),%edx
41592a:	33 ff                	xor    %edi,%edi
41592c:	8b 42 14             	mov    0x14(%edx),%eax
41592f:	8b cf                	mov    %edi,%ecx
415931:	89 7d 18             	mov    %edi,0x18(%ebp)
415934:	85 c0                	test   %eax,%eax
415936:	0f 84 81 00 00 00    	je     0x4159bd
41593c:	8b 7d 10             	mov    0x10(%ebp),%edi
41593f:	83 fb 03             	cmp    $0x3,%ebx
415942:	75 05                	jne    0x415949
415944:	2b c1                	sub    %ecx,%eax
415946:	48                   	dec    %eax
415947:	eb 02                	jmp    0x41594b
415949:	8b c1                	mov    %ecx,%eax
41594b:	69 f0 e0 00 00 00    	imul   $0xe0,%eax,%esi
415951:	03 77 10             	add    0x10(%edi),%esi
415954:	ff 76 6c             	push   0x6c(%esi)
415957:	e8 ab e3 ff ff       	call   0x413d07
41595c:	50                   	push   %eax
41595d:	ff 76 58             	push   0x58(%esi)
415960:	e8 cb e2 ff ff       	call   0x413c30
415965:	50                   	push   %eax
415966:	ff 76 54             	push   0x54(%esi)
415969:	e8 c2 e2 ff ff       	call   0x413c30
41596e:	50                   	push   %eax
41596f:	ff 76 60             	push   0x60(%esi)
415972:	e8 39 e2 ff ff       	call   0x413bb0
415977:	50                   	push   %eax
415978:	ff 76 5c             	push   0x5c(%esi)
41597b:	e8 30 e2 ff ff       	call   0x413bb0
415980:	50                   	push   %eax
415981:	ff 76 50             	push   0x50(%esi)
415984:	e8 44 e8 ff ff       	call   0x4141cd
415989:	50                   	push   %eax
41598a:	ff 76 4c             	push   0x4c(%esi)
41598d:	e8 3b e8 ff ff       	call   0x4141cd
415992:	50                   	push   %eax
415993:	ff 76 40             	push   0x40(%esi)
415996:	e8 fd e6 ff ff       	call   0x414098
41599b:	50                   	push   %eax
41599c:	ff 36                	push   (%esi)
41599e:	68 c9 00 00 20       	push   $0x200000c9
4159a3:	6a 02                	push   $0x2
4159a5:	e8 65 fb fe ff       	call   0x40550f
4159aa:	8b 4d 18             	mov    0x18(%ebp),%ecx
4159ad:	83 c4 2c             	add    $0x2c,%esp
4159b0:	8b 47 14             	mov    0x14(%edi),%eax
4159b3:	41                   	inc    %ecx
4159b4:	89 4d 18             	mov    %ecx,0x18(%ebp)
4159b7:	3b c8                	cmp    %eax,%ecx
4159b9:	72 84                	jb     0x41593f
4159bb:	33 ff                	xor    %edi,%edi
4159bd:	83 fb 03             	cmp    $0x3,%ebx
4159c0:	7e 6c                	jle    0x415a2e
4159c2:	8b 5d 14             	mov    0x14(%ebp),%ebx
4159c5:	39 7b 04             	cmp    %edi,0x4(%ebx)
4159c8:	76 64                	jbe    0x415a2e
4159ca:	8b c7                	mov    %edi,%eax
4159cc:	89 7d 10             	mov    %edi,0x10(%ebp)
4159cf:	8b 33                	mov    (%ebx),%esi
4159d1:	03 f0                	add    %eax,%esi
4159d3:	ff b6 84 00 00 00    	push   0x84(%esi)
4159d9:	e8 29 e3 ff ff       	call   0x413d07
4159de:	50                   	push   %eax
4159df:	ff 76 78             	push   0x78(%esi)
4159e2:	e8 c9 e1 ff ff       	call   0x413bb0
4159e7:	50                   	push   %eax
4159e8:	ff 76 74             	push   0x74(%esi)
4159eb:	e8 c0 e1 ff ff       	call   0x413bb0
4159f0:	50                   	push   %eax
4159f1:	ff 76 68             	push   0x68(%esi)
4159f4:	e8 d4 e7 ff ff       	call   0x4141cd
4159f9:	50                   	push   %eax
4159fa:	ff 76 64             	push   0x64(%esi)
4159fd:	e8 cb e7 ff ff       	call   0x4141cd
415a02:	50                   	push   %eax
415a03:	ff 36                	push   (%esi)
415a05:	e8 60 e7 ff ff       	call   0x41416a
415a0a:	50                   	push   %eax
415a0b:	ff 76 18             	push   0x18(%esi)
415a0e:	68 cf 00 00 20       	push   $0x200000cf
415a13:	6a 02                	push   $0x2
415a15:	e8 f5 fa fe ff       	call   0x40550f
415a1a:	8b 45 10             	mov    0x10(%ebp),%eax
415a1d:	83 c4 24             	add    $0x24,%esp
415a20:	47                   	inc    %edi
415a21:	05 f8 00 00 00       	add    $0xf8,%eax
415a26:	89 45 10             	mov    %eax,0x10(%ebp)
415a29:	3b 7b 04             	cmp    0x4(%ebx),%edi
415a2c:	72 a1                	jb     0x4159cf
415a2e:	5f                   	pop    %edi
415a2f:	5b                   	pop    %ebx
415a30:	5e                   	pop    %esi
415a31:	5d                   	pop    %ebp
415a32:	c2 14 00             	ret    $0x14
415a35:	55                   	push   %ebp
415a36:	8b ec                	mov    %esp,%ebp
415a38:	83 ec 1c             	sub    $0x1c,%esp
415a3b:	53                   	push   %ebx
415a3c:	56                   	push   %esi
415a3d:	33 f6                	xor    %esi,%esi
415a3f:	57                   	push   %edi
415a40:	8b de                	mov    %esi,%ebx
415a42:	89 75 f0             	mov    %esi,-0x10(%ebp)
415a45:	8b fe                	mov    %esi,%edi
415a47:	89 75 f4             	mov    %esi,-0xc(%ebp)
415a4a:	89 7d fc             	mov    %edi,-0x4(%ebp)
415a4d:	89 75 f8             	mov    %esi,-0x8(%ebp)
415a50:	39 5d 08             	cmp    %ebx,0x8(%ebp)
415a53:	0f 8e f1 0a 00 00    	jle    0x41654a
415a59:	c7 45 ec 2d 00 00 00 	movl   $0x2d,-0x14(%ebp)
415a60:	c7 45 e8 2f 00 00 00 	movl   $0x2f,-0x18(%ebp)
415a67:	8b 45 f4             	mov    -0xc(%ebp),%eax
415a6a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
415a6d:	6a 3d                	push   $0x3d
415a6f:	5a                   	pop    %edx
415a70:	85 c0                	test   %eax,%eax
415a72:	74 0c                	je     0x415a80
415a74:	50                   	push   %eax
415a75:	e8 75 fa 02 00       	call   0x4454ef
415a7a:	6a 3d                	push   $0x3d
415a7c:	89 75 f4             	mov    %esi,-0xc(%ebp)
415a7f:	5a                   	pop    %edx
415a80:	8b 75 0c             	mov    0xc(%ebp),%esi
415a83:	8b 0c 9e             	mov    (%esi,%ebx,4),%ecx
415a86:	0f b7 01             	movzwl (%ecx),%eax
415a89:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
415a8d:	0f 84 84 00 00 00    	je     0x415b17
415a93:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
415a97:	74 7e                	je     0x415b17
415a99:	52                   	push   %edx
415a9a:	51                   	push   %ecx
415a9b:	e8 2a 9d 01 00       	call   0x42f7ca
415aa0:	59                   	pop    %ecx
415aa1:	59                   	pop    %ecx
415aa2:	85 c0                	test   %eax,%eax
415aa4:	0f 84 fb 09 00 00    	je     0x4164a5
415aaa:	2b 04 9e             	sub    (%esi,%ebx,4),%eax
415aad:	d1 f8                	sar    $1,%eax
415aaf:	50                   	push   %eax
415ab0:	ff 34 9e             	push   (%esi,%ebx,4)
415ab3:	8d 45 f8             	lea    -0x8(%ebp),%eax
415ab6:	50                   	push   %eax
415ab7:	e8 e9 c6 fe ff       	call   0x4021a5
415abc:	8b f8                	mov    %eax,%edi
415abe:	85 ff                	test   %edi,%edi
415ac0:	0f 88 e8 0a 00 00    	js     0x4165ae
415ac6:	8d 45 f0             	lea    -0x10(%ebp),%eax
415ac9:	50                   	push   %eax
415aca:	ff 75 f8             	push   -0x8(%ebp)
415acd:	ff 75 1c             	push   0x1c(%ebp)
415ad0:	e8 3e 23 ff ff       	call   0x407e13
415ad5:	8b f8                	mov    %eax,%edi
415ad7:	89 7d fc             	mov    %edi,-0x4(%ebp)
415ada:	85 ff                	test   %edi,%edi
415adc:	0f 88 c2 0a 00 00    	js     0x4165a4
415ae2:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
415ae6:	0f 84 b9 09 00 00    	je     0x4164a5
415aec:	ff 75 f8             	push   -0x8(%ebp)
415aef:	8d 45 f4             	lea    -0xc(%ebp),%eax
415af2:	68 54 5d 45 00       	push   $0x455d54
415af7:	50                   	push   %eax
415af8:	e8 23 c4 fe ff       	call   0x401f20
415afd:	8b f8                	mov    %eax,%edi
415aff:	83 c4 0c             	add    $0xc,%esp
415b02:	89 7d fc             	mov    %edi,-0x4(%ebp)
415b05:	85 ff                	test   %edi,%edi
415b07:	0f 89 98 09 00 00    	jns    0x4164a5
415b0d:	68 68 5d 45 00       	push   $0x455d68
415b12:	e9 05 0c 00 00       	jmp    0x41671c
415b17:	6a ff                	push   $0xffffffff
415b19:	68 b4 58 45 00       	push   $0x4558b4
415b1e:	6a ff                	push   $0xffffffff
415b20:	8d 41 02             	lea    0x2(%ecx),%eax
415b23:	50                   	push   %eax
415b24:	6a 01                	push   $0x1
415b26:	6a 7f                	push   $0x7f
415b28:	ff 15 28 b1 44 00    	call   *0x44b128
415b2e:	83 f8 02             	cmp    $0x2,%eax
415b31:	0f 84 b0 09 00 00    	je     0x4164e7
415b37:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415b3a:	6a ff                	push   $0xffffffff
415b3c:	68 3c 39 45 00       	push   $0x45393c
415b41:	6a ff                	push   $0xffffffff
415b43:	83 c0 02             	add    $0x2,%eax
415b46:	50                   	push   %eax
415b47:	6a 01                	push   $0x1
415b49:	6a 7f                	push   $0x7f
415b4b:	ff 15 28 b1 44 00    	call   *0x44b128
415b51:	83 f8 02             	cmp    $0x2,%eax
415b54:	0f 84 8d 09 00 00    	je     0x4164e7
415b5a:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415b5d:	6a ff                	push   $0xffffffff
415b5f:	68 f8 58 45 00       	push   $0x4558f8
415b64:	6a ff                	push   $0xffffffff
415b66:	83 c0 02             	add    $0x2,%eax
415b69:	50                   	push   %eax
415b6a:	6a 01                	push   $0x1
415b6c:	6a 7f                	push   $0x7f
415b6e:	ff 15 28 b1 44 00    	call   *0x44b128
415b74:	83 f8 02             	cmp    $0x2,%eax
415b77:	0f 84 62 09 00 00    	je     0x4164df
415b7d:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415b80:	6a ff                	push   $0xffffffff
415b82:	68 fc 58 45 00       	push   $0x4558fc
415b87:	6a ff                	push   $0xffffffff
415b89:	83 c0 02             	add    $0x2,%eax
415b8c:	50                   	push   %eax
415b8d:	6a 01                	push   $0x1
415b8f:	6a 7f                	push   $0x7f
415b91:	ff 15 28 b1 44 00    	call   *0x44b128
415b97:	83 f8 02             	cmp    $0x2,%eax
415b9a:	0f 84 3f 09 00 00    	je     0x4164df
415ba0:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415ba3:	6a ff                	push   $0xffffffff
415ba5:	68 00 59 45 00       	push   $0x455900
415baa:	6a ff                	push   $0xffffffff
415bac:	83 c0 02             	add    $0x2,%eax
415baf:	50                   	push   %eax
415bb0:	6a 01                	push   $0x1
415bb2:	6a 7f                	push   $0x7f
415bb4:	ff 15 28 b1 44 00    	call   *0x44b128
415bba:	83 f8 02             	cmp    $0x2,%eax
415bbd:	0f 84 1c 09 00 00    	je     0x4164df
415bc3:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415bc6:	6a ff                	push   $0xffffffff
415bc8:	68 0c 59 45 00       	push   $0x45590c
415bcd:	6a ff                	push   $0xffffffff
415bcf:	83 c0 02             	add    $0x2,%eax
415bd2:	50                   	push   %eax
415bd3:	6a 01                	push   $0x1
415bd5:	6a 7f                	push   $0x7f
415bd7:	ff 15 28 b1 44 00    	call   *0x44b128
415bdd:	83 f8 02             	cmp    $0x2,%eax
415be0:	0f 84 e0 08 00 00    	je     0x4164c6
415be6:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415be9:	6a ff                	push   $0xffffffff
415beb:	68 10 59 45 00       	push   $0x455910
415bf0:	6a ff                	push   $0xffffffff
415bf2:	83 c0 02             	add    $0x2,%eax
415bf5:	50                   	push   %eax
415bf6:	6a 01                	push   $0x1
415bf8:	6a 7f                	push   $0x7f
415bfa:	ff 15 28 b1 44 00    	call   *0x44b128
415c00:	83 f8 02             	cmp    $0x2,%eax
415c03:	0f 84 bd 08 00 00    	je     0x4164c6
415c09:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c0c:	6a ff                	push   $0xffffffff
415c0e:	68 1c 59 45 00       	push   $0x45591c
415c13:	6a ff                	push   $0xffffffff
415c15:	83 c0 02             	add    $0x2,%eax
415c18:	50                   	push   %eax
415c19:	6a 01                	push   $0x1
415c1b:	6a 7f                	push   $0x7f
415c1d:	ff 15 28 b1 44 00    	call   *0x44b128
415c23:	83 f8 02             	cmp    $0x2,%eax
415c26:	0f 84 9a 08 00 00    	je     0x4164c6
415c2c:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c2f:	6a ff                	push   $0xffffffff
415c31:	68 20 59 45 00       	push   $0x455920
415c36:	6a ff                	push   $0xffffffff
415c38:	83 c0 02             	add    $0x2,%eax
415c3b:	50                   	push   %eax
415c3c:	6a 01                	push   $0x1
415c3e:	6a 7f                	push   $0x7f
415c40:	ff 15 28 b1 44 00    	call   *0x44b128
415c46:	83 f8 02             	cmp    $0x2,%eax
415c49:	0f 84 77 08 00 00    	je     0x4164c6
415c4f:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c52:	6a ff                	push   $0xffffffff
415c54:	68 30 59 45 00       	push   $0x455930
415c59:	6a ff                	push   $0xffffffff
415c5b:	83 c0 02             	add    $0x2,%eax
415c5e:	50                   	push   %eax
415c5f:	6a 01                	push   $0x1
415c61:	6a 7f                	push   $0x7f
415c63:	ff 15 28 b1 44 00    	call   *0x44b128
415c69:	83 f8 02             	cmp    $0x2,%eax
415c6c:	75 1b                	jne    0x415c89
415c6e:	8b 4d 10             	mov    0x10(%ebp),%ecx
415c71:	6a 03                	push   $0x3
415c73:	58                   	pop    %eax
415c74:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
415c78:	89 41 04             	mov    %eax,0x4(%ecx)
415c7b:	0f 85 90 08 00 00    	jne    0x416511
415c81:	89 41 08             	mov    %eax,0x8(%ecx)
415c84:	e9 88 08 00 00       	jmp    0x416511
415c89:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c8c:	6a ff                	push   $0xffffffff
415c8e:	68 40 59 45 00       	push   $0x455940
415c93:	6a ff                	push   $0xffffffff
415c95:	83 c0 02             	add    $0x2,%eax
415c98:	50                   	push   %eax
415c99:	6a 01                	push   $0x1
415c9b:	6a 7f                	push   $0x7f
415c9d:	ff 15 28 b1 44 00    	call   *0x44b128
415ca3:	83 f8 02             	cmp    $0x2,%eax
415ca6:	75 0f                	jne    0x415cb7
415ca8:	8b 45 10             	mov    0x10(%ebp),%eax
415cab:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
415cb2:	e9 5a 08 00 00       	jmp    0x416511
415cb7:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415cba:	6a ff                	push   $0xffffffff
415cbc:	68 54 59 45 00       	push   $0x455954
415cc1:	6a ff                	push   $0xffffffff
415cc3:	83 c0 02             	add    $0x2,%eax
415cc6:	50                   	push   %eax
415cc7:	6a 01                	push   $0x1
415cc9:	6a 7f                	push   $0x7f
415ccb:	ff 15 28 b1 44 00    	call   *0x44b128
415cd1:	83 f8 02             	cmp    $0x2,%eax
415cd4:	75 0f                	jne    0x415ce5
415cd6:	8b 45 10             	mov    0x10(%ebp),%eax
415cd9:	c7 40 08 04 00 00 00 	movl   $0x4,0x8(%eax)
415ce0:	e9 2c 08 00 00       	jmp    0x416511
415ce5:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415ce8:	6a ff                	push   $0xffffffff
415cea:	68 70 59 45 00       	push   $0x455970
415cef:	6a ff                	push   $0xffffffff
415cf1:	83 c0 02             	add    $0x2,%eax
415cf4:	50                   	push   %eax
415cf5:	6a 01                	push   $0x1
415cf7:	6a 7f                	push   $0x7f
415cf9:	ff 15 28 b1 44 00    	call   *0x44b128
415cff:	83 f8 02             	cmp    $0x2,%eax