41fcb7:	6b 45 0c 0c          	imul   $0xc,0xc(%ebp),%eax
41fcbb:	50                   	push   %eax
41fcbc:	ff 75 08             	push   0x8(%ebp)
41fcbf:	e8 66 38 fe ff       	call   0x40352a
41fcc4:	59                   	pop    %ecx
41fcc5:	59                   	pop    %ecx
41fcc6:	5d                   	pop    %ebp
41fcc7:	c2 08 00             	ret    $0x8
41fcca:	55                   	push   %ebp
41fccb:	8b ec                	mov    %esp,%ebp
41fccd:	6b 45 0c 0c          	imul   $0xc,0xc(%ebp),%eax
41fcd1:	50                   	push   %eax
41fcd2:	ff 75 08             	push   0x8(%ebp)
41fcd5:	e8 50 38 fe ff       	call   0x40352a
41fcda:	59                   	pop    %ecx
41fcdb:	59                   	pop    %ecx
41fcdc:	5d                   	pop    %ebp
41fcdd:	c2 08 00             	ret    $0x8
41fce0:	55                   	push   %ebp
41fce1:	8b ec                	mov    %esp,%ebp
41fce3:	6b 45 0c 0c          	imul   $0xc,0xc(%ebp),%eax
41fce7:	50                   	push   %eax
41fce8:	ff 75 08             	push   0x8(%ebp)
41fceb:	e8 3a 38 fe ff       	call   0x40352a
41fcf0:	59                   	pop    %ecx
41fcf1:	59                   	pop    %ecx
41fcf2:	5d                   	pop    %ebp
41fcf3:	c2 08 00             	ret    $0x8
41fcf6:	55                   	push   %ebp
41fcf7:	8b ec                	mov    %esp,%ebp
41fcf9:	8b 45 0c             	mov    0xc(%ebp),%eax
41fcfc:	c1 e0 03             	shl    $0x3,%eax
41fcff:	50                   	push   %eax
41fd00:	ff 75 08             	push   0x8(%ebp)
41fd03:	e8 22 38 fe ff       	call   0x40352a
41fd08:	59                   	pop    %ecx
41fd09:	59                   	pop    %ecx
41fd0a:	5d                   	pop    %ebp
41fd0b:	c2 08 00             	ret    $0x8
41fd0e:	55                   	push   %ebp
41fd0f:	8b ec                	mov    %esp,%ebp
41fd11:	8b 45 08             	mov    0x8(%ebp),%eax
41fd14:	8b 55 0c             	mov    0xc(%ebp),%edx
41fd17:	89 10                	mov    %edx,(%eax)
41fd19:	89 48 04             	mov    %ecx,0x4(%eax)
41fd1c:	5d                   	pop    %ebp
41fd1d:	c2 08 00             	ret    $0x8
41fd20:	55                   	push   %ebp
41fd21:	8b ec                	mov    %esp,%ebp
41fd23:	8d 41 08             	lea    0x8(%ecx),%eax
41fd26:	50                   	push   %eax
41fd27:	ff 75 14             	push   0x14(%ebp)
41fd2a:	ff 75 10             	push   0x10(%ebp)
41fd2d:	ff 75 0c             	push   0xc(%ebp)
41fd30:	ff 75 08             	push   0x8(%ebp)
41fd33:	e8 6f 60 00 00       	call   0x425da7
41fd38:	33 c9                	xor    %ecx,%ecx
41fd3a:	83 c4 14             	add    $0x14,%esp
41fd3d:	85 c0                	test   %eax,%eax
41fd3f:	0f 95 c1             	setne  %cl
41fd42:	83 ca ff             	or     $0xffffffff,%edx
41fd45:	85 c0                	test   %eax,%eax
41fd47:	0f 48 ca             	cmovs  %edx,%ecx
41fd4a:	8b c1                	mov    %ecx,%eax
41fd4c:	5d                   	pop    %ebp
41fd4d:	c2 10 00             	ret    $0x10
41fd50:	55                   	push   %ebp
41fd51:	8b ec                	mov    %esp,%ebp
41fd53:	8d 41 08             	lea    0x8(%ecx),%eax
41fd56:	50                   	push   %eax
41fd57:	ff 75 14             	push   0x14(%ebp)
41fd5a:	ff 75 10             	push   0x10(%ebp)
41fd5d:	ff 75 0c             	push   0xc(%ebp)
41fd60:	ff 75 08             	push   0x8(%ebp)
41fd63:	e8 6a 66 00 00       	call   0x4263d2
41fd68:	33 c9                	xor    %ecx,%ecx
41fd6a:	83 c4 14             	add    $0x14,%esp
41fd6d:	85 c0                	test   %eax,%eax
41fd6f:	0f 95 c1             	setne  %cl
41fd72:	83 ca ff             	or     $0xffffffff,%edx
41fd75:	85 c0                	test   %eax,%eax
41fd77:	0f 48 ca             	cmovs  %edx,%ecx
41fd7a:	8b c1                	mov    %ecx,%eax
41fd7c:	5d                   	pop    %ebp
41fd7d:	c2 10 00             	ret    $0x10
41fd80:	66 8b 41 0c          	mov    0xc(%ecx),%ax
41fd84:	c3                   	ret
41fd85:	6a 04                	push   $0x4
41fd87:	b8 02 fa 48 00       	mov    $0x48fa02,%eax
41fd8c:	e8 b9 fc 01 00       	call   0x43fa4a
41fd91:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41fd95:	ff 71 10             	push   0x10(%ecx)
41fd98:	8b 4d 08             	mov    0x8(%ebp),%ecx
41fd9b:	e8 be b5 fe ff       	call   0x40b35e
41fda0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41fda4:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
41fdab:	8b 45 08             	mov    0x8(%ebp),%eax
41fdae:	e8 60 fc 01 00       	call   0x43fa13
41fdb3:	c2 04 00             	ret    $0x4
41fdb6:	6a 3c                	push   $0x3c
41fdb8:	b8 25 fa 48 00       	mov    $0x48fa25,%eax
41fdbd:	e8 bc fc 01 00       	call   0x43fa7e
41fdc2:	8b f9                	mov    %ecx,%edi
41fdc4:	8b 45 08             	mov    0x8(%ebp),%eax
41fdc7:	8b 75 1c             	mov    0x1c(%ebp),%esi
41fdca:	8b ce                	mov    %esi,%ecx
41fdcc:	8b 5d 20             	mov    0x20(%ebp),%ebx
41fdcf:	89 45 b8             	mov    %eax,-0x48(%ebp)
41fdd2:	8b 45 24             	mov    0x24(%ebp),%eax
41fdd5:	89 45 c8             	mov    %eax,-0x38(%ebp)
41fdd8:	8d 45 bc             	lea    -0x44(%ebp),%eax
41fddb:	50                   	push   %eax
41fddc:	e8 35 1f 00 00       	call   0x421d16
41fde1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41fde5:	50                   	push   %eax
41fde6:	ff 76 14             	push   0x14(%esi)
41fde9:	8d 45 14             	lea    0x14(%ebp),%eax
41fdec:	50                   	push   %eax
41fded:	8d 45 0c             	lea    0xc(%ebp),%eax
41fdf0:	50                   	push   %eax
41fdf1:	8d 45 d0             	lea    -0x30(%ebp),%eax
41fdf4:	50                   	push   %eax
41fdf5:	57                   	push   %edi
41fdf6:	e8 38 ab ff ff       	call   0x41a933
41fdfb:	83 c4 18             	add    $0x18,%esp
41fdfe:	8b f8                	mov    %eax,%edi
41fe00:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41fe04:	8d 4d bc             	lea    -0x44(%ebp),%ecx
41fe07:	e8 db f5 fe ff       	call   0x40f3e7
41fe0c:	8a 4d d0             	mov    -0x30(%ebp),%cl
41fe0f:	84 c9                	test   %cl,%cl
41fe11:	75 10                	jne    0x41fe23
41fe13:	8b 45 c8             	mov    -0x38(%ebp),%eax
41fe16:	33 c9                	xor    %ecx,%ecx
41fe18:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41fe1e:	66 89 08             	mov    %cx,(%eax)
41fe21:	eb 54                	jmp    0x41fe77
41fe23:	80 f9 2d             	cmp    $0x2d,%cl
41fe26:	8d 45 d0             	lea    -0x30(%ebp),%eax
41fe29:	8d 75 d1             	lea    -0x2f(%ebp),%esi
41fe2c:	0f 45 f0             	cmovne %eax,%esi
41fe2f:	0f 94 45 cf          	sete   -0x31(%ebp)
41fe33:	8d 45 c0             	lea    -0x40(%ebp),%eax
41fe36:	50                   	push   %eax
41fe37:	57                   	push   %edi
41fe38:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41fe3b:	50                   	push   %eax
41fe3c:	56                   	push   %esi
41fe3d:	e8 5b 7a 00 00       	call   0x42789d
41fe42:	8b d0                	mov    %eax,%edx
41fe44:	83 c4 10             	add    $0x10,%esp
41fe47:	bf ff ff 00 00       	mov    $0xffff,%edi
41fe4c:	8b 45 c8             	mov    -0x38(%ebp),%eax
41fe4f:	0f b7 ca             	movzwl %dx,%ecx
41fe52:	66 89 08             	mov    %cx,(%eax)
41fe55:	39 75 c4             	cmp    %esi,-0x3c(%ebp)
41fe58:	74 14                	je     0x41fe6e
41fe5a:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
41fe5e:	75 0e                	jne    0x41fe6e
41fe60:	3b d7                	cmp    %edi,%edx
41fe62:	77 0a                	ja     0x41fe6e
41fe64:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
41fe68:	74 0d                	je     0x41fe77
41fe6a:	f7 d9                	neg    %ecx
41fe6c:	eb b0                	jmp    0x41fe1e
41fe6e:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41fe74:	66 89 38             	mov    %di,(%eax)
41fe77:	8d 45 14             	lea    0x14(%ebp),%eax
41fe7a:	50                   	push   %eax
41fe7b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41fe7e:	e8 71 0d 00 00       	call   0x420bf4
41fe83:	84 c0                	test   %al,%al
41fe85:	74 03                	je     0x41fe8a
41fe87:	83 0b 01             	orl    $0x1,(%ebx)
41fe8a:	8b 45 b8             	mov    -0x48(%ebp),%eax
41fe8d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41fe90:	89 08                	mov    %ecx,(%eax)
41fe92:	8b 4d 10             	mov    0x10(%ebp),%ecx
41fe95:	89 48 04             	mov    %ecx,0x4(%eax)
41fe98:	e8 8b fb 01 00       	call   0x43fa28
41fe9d:	c2 20 00             	ret    $0x20
41fea0:	55                   	push   %ebp
41fea1:	8b ec                	mov    %esp,%ebp
41fea3:	83 ec 0c             	sub    $0xc,%esp
41fea6:	56                   	push   %esi
41fea7:	8d 45 fc             	lea    -0x4(%ebp),%eax
41feaa:	50                   	push   %eax
41feab:	ff 75 20             	push   0x20(%ebp)
41feae:	8d 45 f4             	lea    -0xc(%ebp),%eax
41feb1:	ff 75 1c             	push   0x1c(%ebp)
41feb4:	ff 75 18             	push   0x18(%ebp)
41feb7:	ff 75 14             	push   0x14(%ebp)
41feba:	ff 75 10             	push   0x10(%ebp)
41febd:	ff 75 0c             	push   0xc(%ebp)
41fec0:	50                   	push   %eax
41fec1:	e8 de 00 00 00       	call   0x41ffa4
41fec6:	8b 4d 24             	mov    0x24(%ebp),%ecx
41fec9:	8b 30                	mov    (%eax),%esi
41fecb:	89 75 0c             	mov    %esi,0xc(%ebp)
41fece:	8b 50 04             	mov    0x4(%eax),%edx
41fed1:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fed4:	89 01                	mov    %eax,(%ecx)
41fed6:	8b 45 08             	mov    0x8(%ebp),%eax
41fed9:	89 30                	mov    %esi,(%eax)
41fedb:	89 50 04             	mov    %edx,0x4(%eax)
41fede:	5e                   	pop    %esi
41fedf:	c9                   	leave
41fee0:	c2 20 00             	ret    $0x20
41fee3:	6a 38                	push   $0x38
41fee5:	b8 52 fa 48 00       	mov    $0x48fa52,%eax
41feea:	e8 8f fb 01 00       	call   0x43fa7e
41feef:	8b f9                	mov    %ecx,%edi
41fef1:	8b 45 08             	mov    0x8(%ebp),%eax
41fef4:	8b 75 1c             	mov    0x1c(%ebp),%esi
41fef7:	8b ce                	mov    %esi,%ecx
41fef9:	8b 5d 20             	mov    0x20(%ebp),%ebx
41fefc:	89 45 bc             	mov    %eax,-0x44(%ebp)
41feff:	8b 45 24             	mov    0x24(%ebp),%eax
41ff02:	89 45 cc             	mov    %eax,-0x34(%ebp)
41ff05:	8d 45 c0             	lea    -0x40(%ebp),%eax
41ff08:	50                   	push   %eax
41ff09:	e8 08 1e 00 00       	call   0x421d16
41ff0e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ff12:	50                   	push   %eax
41ff13:	ff 76 14             	push   0x14(%esi)
41ff16:	8d 45 14             	lea    0x14(%ebp),%eax
41ff19:	50                   	push   %eax
41ff1a:	8d 45 0c             	lea    0xc(%ebp),%eax
41ff1d:	50                   	push   %eax
41ff1e:	8d 45 d0             	lea    -0x30(%ebp),%eax
41ff21:	50                   	push   %eax
41ff22:	57                   	push   %edi
41ff23:	e8 0b aa ff ff       	call   0x41a933
41ff28:	83 c4 18             	add    $0x18,%esp
41ff2b:	8b f0                	mov    %eax,%esi
41ff2d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41ff31:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41ff34:	e8 ae f4 fe ff       	call   0x40f3e7
41ff39:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
41ff3d:	75 0e                	jne    0x41ff4d
41ff3f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
41ff42:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41ff48:	83 21 00             	andl   $0x0,(%ecx)
41ff4b:	eb 2e                	jmp    0x41ff7b
41ff4d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41ff50:	50                   	push   %eax
41ff51:	56                   	push   %esi
41ff52:	8d 45 c8             	lea    -0x38(%ebp),%eax
41ff55:	50                   	push   %eax
41ff56:	8d 45 d0             	lea    -0x30(%ebp),%eax
41ff59:	50                   	push   %eax
41ff5a:	e8 81 78 00 00       	call   0x4277e0
41ff5f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
41ff62:	83 c4 10             	add    $0x10,%esp
41ff65:	89 01                	mov    %eax,(%ecx)
41ff67:	8d 45 d0             	lea    -0x30(%ebp),%eax
41ff6a:	39 45 c8             	cmp    %eax,-0x38(%ebp)
41ff6d:	74 06                	je     0x41ff75
41ff6f:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
41ff73:	74 06                	je     0x41ff7b
41ff75:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41ff7b:	8d 45 14             	lea    0x14(%ebp),%eax
41ff7e:	50                   	push   %eax
41ff7f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41ff82:	e8 6d 0c 00 00       	call   0x420bf4
41ff87:	84 c0                	test   %al,%al
41ff89:	74 03                	je     0x41ff8e
41ff8b:	83 0b 01             	orl    $0x1,(%ebx)
41ff8e:	8b 45 bc             	mov    -0x44(%ebp),%eax
41ff91:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41ff94:	89 08                	mov    %ecx,(%eax)
41ff96:	8b 4d 10             	mov    0x10(%ebp),%ecx
41ff99:	89 48 04             	mov    %ecx,0x4(%eax)
41ff9c:	e8 87 fa 01 00       	call   0x43fa28
41ffa1:	c2 20 00             	ret    $0x20
41ffa4:	6a 38                	push   $0x38
41ffa6:	b8 7f fa 48 00       	mov    $0x48fa7f,%eax
41ffab:	e8 ce fa 01 00       	call   0x43fa7e
41ffb0:	8b f9                	mov    %ecx,%edi
41ffb2:	8b 45 08             	mov    0x8(%ebp),%eax
41ffb5:	8b 75 1c             	mov    0x1c(%ebp),%esi
41ffb8:	8b ce                	mov    %esi,%ecx
41ffba:	8b 5d 20             	mov    0x20(%ebp),%ebx
41ffbd:	89 45 bc             	mov    %eax,-0x44(%ebp)
41ffc0:	8b 45 24             	mov    0x24(%ebp),%eax
41ffc3:	89 45 cc             	mov    %eax,-0x34(%ebp)
41ffc6:	8d 45 c0             	lea    -0x40(%ebp),%eax
41ffc9:	50                   	push   %eax
41ffca:	e8 47 1d 00 00       	call   0x421d16
41ffcf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ffd3:	50                   	push   %eax
41ffd4:	ff 76 14             	push   0x14(%esi)
41ffd7:	8d 45 14             	lea    0x14(%ebp),%eax
41ffda:	50                   	push   %eax
41ffdb:	8d 45 0c             	lea    0xc(%ebp),%eax
41ffde:	50                   	push   %eax
41ffdf:	8d 45 d0             	lea    -0x30(%ebp),%eax
41ffe2:	50                   	push   %eax
41ffe3:	57                   	push   %edi
41ffe4:	e8 4a a9 ff ff       	call   0x41a933
41ffe9:	83 c4 18             	add    $0x18,%esp
41ffec:	8b f0                	mov    %eax,%esi
41ffee:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41fff2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41fff5:	e8 ed f3 fe ff       	call   0x40f3e7
41fffa:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
41fffe:	75 0e                	jne    0x42000e
420000:	8b 4d cc             	mov    -0x34(%ebp),%ecx
420003:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
420009:	83 21 00             	andl   $0x0,(%ecx)
42000c:	eb 2e                	jmp    0x42003c
42000e:	8d 45 c4             	lea    -0x3c(%ebp),%eax
420011:	50                   	push   %eax
420012:	56                   	push   %esi
420013:	8d 45 c8             	lea    -0x38(%ebp),%eax
420016:	50                   	push   %eax
420017:	8d 45 d0             	lea    -0x30(%ebp),%eax
42001a:	50                   	push   %eax
42001b:	e8 7d 78 00 00       	call   0x42789d
420020:	8b 4d cc             	mov    -0x34(%ebp),%ecx
420023:	83 c4 10             	add    $0x10,%esp
420026:	89 01                	mov    %eax,(%ecx)
420028:	8d 45 d0             	lea    -0x30(%ebp),%eax
42002b:	39 45 c8             	cmp    %eax,-0x38(%ebp)
42002e:	74 06                	je     0x420036
420030:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
420034:	74 06                	je     0x42003c
420036:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
42003c:	8d 45 14             	lea    0x14(%ebp),%eax
42003f:	50                   	push   %eax
420040:	8d 4d 0c             	lea    0xc(%ebp),%ecx
420043:	e8 ac 0b 00 00       	call   0x420bf4
420048:	84 c0                	test   %al,%al
42004a:	74 03                	je     0x42004f
42004c:	83 0b 01             	orl    $0x1,(%ebx)
42004f:	8b 45 bc             	mov    -0x44(%ebp),%eax
420052:	8b 4d 0c             	mov    0xc(%ebp),%ecx
420055:	89 08                	mov    %ecx,(%eax)
420057:	8b 4d 10             	mov    0x10(%ebp),%ecx
42005a:	89 48 04             	mov    %ecx,0x4(%eax)
42005d:	e8 c6 f9 01 00       	call   0x43fa28
420062:	c2 20 00             	ret    $0x20
420065:	55                   	push   %ebp
420066:	8b ec                	mov    %esp,%ebp
420068:	81 ec 2c 03 00 00    	sub    $0x32c,%esp
42006e:	a1 94 80 4b 00       	mov    0x4b8094,%eax
420073:	33 c5                	xor    %ebp,%eax
420075:	89 45 fc             	mov    %eax,-0x4(%ebp)
420078:	8b 45 1c             	mov    0x1c(%ebp),%eax
42007b:	8d 95 e0 fc ff ff    	lea    -0x320(%ebp),%edx