43da40:	74 17                	je     0x43da59
43da42:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
43da48:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
43da4c:	50                   	push   %eax
43da4d:	e8 34 e3 ff ff       	call   0x43bd86
43da52:	8b d8                	mov    %eax,%ebx
43da54:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
43da57:	eb 15                	jmp    0x43da6e
43da59:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
43da5f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
43da63:	50                   	push   %eax
43da64:	e8 c3 e3 ff ff       	call   0x43be2c
43da69:	8b d8                	mov    %eax,%ebx
43da6b:	89 45 8c             	mov    %eax,-0x74(%ebp)
43da6e:	59                   	pop    %ecx
43da6f:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
43da75:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
43da79:	e8 69 19 fd ff       	call   0x40f3e7
43da7e:	8b 03                	mov    (%ebx),%eax
43da80:	8b 70 14             	mov    0x14(%eax),%esi
43da83:	8d 45 c0             	lea    -0x40(%ebp),%eax
43da86:	50                   	push   %eax
43da87:	8b ce                	mov    %esi,%ecx
43da89:	ff 15 54 43 49 00    	call   *0x494354
43da8f:	8b cb                	mov    %ebx,%ecx
43da91:	ff d6                	call   *%esi
43da93:	8b cb                	mov    %ebx,%ecx
43da95:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
43da99:	e8 bc 15 00 00       	call   0x43f05a
43da9e:	99                   	cltd
43da9f:	8b d8                	mov    %eax,%ebx
43daa1:	33 da                	xor    %edx,%ebx
43daa3:	2b da                	sub    %edx,%ebx
43daa5:	39 5d 34             	cmp    %ebx,0x34(%ebp)
43daa8:	77 19                	ja     0x43dac3
43daaa:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
43dab0:	8b c3                	mov    %ebx,%eax
43dab2:	8d 4d 24             	lea    0x24(%ebp),%ecx
43dab5:	2b 45 34             	sub    0x34(%ebp),%eax
43dab8:	40                   	inc    %eax
43dab9:	50                   	push   %eax
43daba:	6a 00                	push   $0x0
43dabc:	e8 f1 e8 fe ff       	call   0x42c3b2
43dac1:	eb 74                	jmp    0x43db37
43dac3:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
43dac7:	8d 45 c0             	lea    -0x40(%ebp),%eax
43daca:	72 03                	jb     0x43dacf
43dacc:	8b 45 c0             	mov    -0x40(%ebp),%eax
43dacf:	80 38 7f             	cmpb   $0x7f,(%eax)
43dad2:	74 63                	je     0x43db37
43dad4:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
43dad8:	8d 45 c0             	lea    -0x40(%ebp),%eax
43dadb:	72 03                	jb     0x43dae0
43dadd:	8b 45 c0             	mov    -0x40(%ebp),%eax
43dae0:	80 38 00             	cmpb   $0x0,(%eax)
43dae3:	7e 52                	jle    0x43db37
43dae5:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43dae8:	e8 1e 17 00 00       	call   0x43f20b
43daed:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
43daf1:	8d 7d c0             	lea    -0x40(%ebp),%edi
43daf4:	88 85 7c ff ff ff    	mov    %al,-0x84(%ebp)
43dafa:	72 03                	jb     0x43daff
43dafc:	8b 7d c0             	mov    -0x40(%ebp),%edi
43daff:	8b 75 34             	mov    0x34(%ebp),%esi
43db02:	2b f3                	sub    %ebx,%esi
43db04:	8a 07                	mov    (%edi),%al
43db06:	3c 7f                	cmp    $0x7f,%al
43db08:	74 2a                	je     0x43db34
43db0a:	84 c0                	test   %al,%al
43db0c:	7e 26                	jle    0x43db34
43db0e:	0f be c0             	movsbl %al,%eax
43db11:	3b c6                	cmp    %esi,%eax
43db13:	73 1f                	jae    0x43db34
43db15:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
43db1b:	2b f0                	sub    %eax,%esi
43db1d:	8d 4d 24             	lea    0x24(%ebp),%ecx
43db20:	6a 01                	push   $0x1
43db22:	56                   	push   %esi
43db23:	e8 8a e8 fe ff       	call   0x42c3b2
43db28:	8d 47 01             	lea    0x1(%edi),%eax
43db2b:	80 38 00             	cmpb   $0x0,(%eax)
43db2e:	7e d4                	jle    0x43db04
43db30:	8b f8                	mov    %eax,%edi
43db32:	eb d0                	jmp    0x43db04
43db34:	8b 7d 84             	mov    -0x7c(%ebp),%edi
43db37:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
43db3b:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
43db42:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
43db46:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
43db4a:	8b 45 8c             	mov    -0x74(%ebp),%eax
43db4d:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
43db51:	8b 00                	mov    (%eax),%eax
43db53:	74 2d                	je     0x43db82
43db55:	8b 70 2c             	mov    0x2c(%eax),%esi
43db58:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
43db5e:	50                   	push   %eax
43db5f:	8b ce                	mov    %esi,%ecx
43db61:	ff 15 54 43 49 00    	call   *0x494354
43db67:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43db6a:	ff d6                	call   *%esi
43db6c:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
43db72:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
43db78:	8b 45 8c             	mov    -0x74(%ebp),%eax
43db7b:	8b 00                	mov    (%eax),%eax
43db7d:	8b 70 20             	mov    0x20(%eax),%esi
43db80:	eb 2b                	jmp    0x43dbad
43db82:	8b 70 28             	mov    0x28(%eax),%esi
43db85:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
43db8b:	50                   	push   %eax
43db8c:	8b ce                	mov    %esi,%ecx
43db8e:	ff 15 54 43 49 00    	call   *0x494354
43db94:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43db97:	ff d6                	call   *%esi
43db99:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
43db9f:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
43dba5:	8b 45 8c             	mov    -0x74(%ebp),%eax
43dba8:	8b 00                	mov    (%eax),%eax
43dbaa:	8b 70 1c             	mov    0x1c(%eax),%esi
43dbad:	8d 45 90             	lea    -0x70(%ebp),%eax
43dbb0:	8b ce                	mov    %esi,%ecx
43dbb2:	50                   	push   %eax
43dbb3:	ff 15 54 43 49 00    	call   *0x494354
43dbb9:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43dbbc:	ff d6                	call   *%esi
43dbbe:	8d 45 90             	lea    -0x70(%ebp),%eax
43dbc1:	50                   	push   %eax
43dbc2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43dbc5:	e8 03 1b fd ff       	call   0x40f6cd
43dbca:	8d 4d 90             	lea    -0x70(%ebp),%ecx
43dbcd:	e8 02 f7 fd ff       	call   0x41d2d4
43dbd2:	83 65 b8 00          	andl   $0x0,-0x48(%ebp)
43dbd6:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
43dbdd:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
43dbe1:	f6 47 14 08          	testb  $0x8,0x14(%edi)
43dbe5:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
43dbe9:	74 2d                	je     0x43dc18
43dbeb:	8b 45 8c             	mov    -0x74(%ebp),%eax
43dbee:	8d 4d 90             	lea    -0x70(%ebp),%ecx
43dbf1:	51                   	push   %ecx
43dbf2:	8b 00                	mov    (%eax),%eax
43dbf4:	8b 70 18             	mov    0x18(%eax),%esi
43dbf7:	8b ce                	mov    %esi,%ecx
43dbf9:	ff 15 54 43 49 00    	call   *0x494354
43dbff:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43dc02:	ff d6                	call   *%esi
43dc04:	8d 45 90             	lea    -0x70(%ebp),%eax
43dc07:	50                   	push   %eax
43dc08:	8d 4d a8             	lea    -0x58(%ebp),%ecx
43dc0b:	e8 bd 1a fd ff       	call   0x40f6cd
43dc10:	8d 4d 90             	lea    -0x70(%ebp),%ecx
43dc13:	e8 bc f6 fd ff       	call   0x41d2d4
43dc18:	32 d2                	xor    %dl,%dl
43dc1a:	33 c9                	xor    %ecx,%ecx
43dc1c:	88 55 8b             	mov    %dl,-0x75(%ebp)
43dc1f:	33 f6                	xor    %esi,%esi
43dc21:	0f be 84 35 74 ff ff 	movsbl -0x8c(%ebp,%esi,1),%eax
43dc28:	ff
43dc29:	83 e8 20             	sub    $0x20,%eax
43dc2c:	74 44                	je     0x43dc72
43dc2e:	83 e8 04             	sub    $0x4,%eax
43dc31:	74 3a                	je     0x43dc6d
43dc33:	83 e8 07             	sub    $0x7,%eax
43dc36:	74 30                	je     0x43dc68
43dc38:	83 e8 4b             	sub    $0x4b,%eax
43dc3b:	74 08                	je     0x43dc45
43dc3d:	48                   	dec    %eax
43dc3e:	83 e8 01             	sub    $0x1,%eax
43dc41:	74 30                	je     0x43dc73
43dc43:	eb 38                	jmp    0x43dc7d
43dc45:	39 5d 34             	cmp    %ebx,0x34(%ebp)
43dc48:	77 08                	ja     0x43dc52
43dc4a:	8b d3                	mov    %ebx,%edx
43dc4c:	2b 55 34             	sub    0x34(%ebp),%edx
43dc4f:	42                   	inc    %edx
43dc50:	eb 02                	jmp    0x43dc54
43dc52:	33 d2                	xor    %edx,%edx
43dc54:	33 c0                	xor    %eax,%eax
43dc56:	3b c3                	cmp    %ebx,%eax
43dc58:	1b c0                	sbb    %eax,%eax
43dc5a:	f7 d8                	neg    %eax
43dc5c:	03 45 34             	add    0x34(%ebp),%eax
43dc5f:	03 c2                	add    %edx,%eax
43dc61:	8a 55 8b             	mov    -0x75(%ebp),%dl
43dc64:	03 c8                	add    %eax,%ecx
43dc66:	eb 15                	jmp    0x43dc7d
43dc68:	03 4d e8             	add    -0x18(%ebp),%ecx
43dc6b:	eb 10                	jmp    0x43dc7d
43dc6d:	03 4d b8             	add    -0x48(%ebp),%ecx
43dc70:	eb 0b                	jmp    0x43dc7d
43dc72:	41                   	inc    %ecx
43dc73:	83 fe 03             	cmp    $0x3,%esi
43dc76:	74 05                	je     0x43dc7d
43dc78:	b2 01                	mov    $0x1,%dl
43dc7a:	88 55 8b             	mov    %dl,-0x75(%ebp)
43dc7d:	46                   	inc    %esi
43dc7e:	83 fe 04             	cmp    $0x4,%esi
43dc81:	72 9e                	jb     0x43dc21
43dc83:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
43dc87:	7c 13                	jl     0x43dc9c
43dc89:	7f 06                	jg     0x43dc91
43dc8b:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
43dc8f:	76 0b                	jbe    0x43dc9c
43dc91:	8b 7f 20             	mov    0x20(%edi),%edi
43dc94:	3b f9                	cmp    %ecx,%edi
43dc96:	76 04                	jbe    0x43dc9c
43dc98:	2b f9                	sub    %ecx,%edi
43dc9a:	eb 02                	jmp    0x43dc9e
43dc9c:	33 ff                	xor    %edi,%edi
43dc9e:	8b 45 84             	mov    -0x7c(%ebp),%eax
43dca1:	8b 40 14             	mov    0x14(%eax),%eax
43dca4:	25 c0 01 00 00       	and    $0x1c0,%eax
43dca9:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
43dcaf:	83 f8 40             	cmp    $0x40,%eax
43dcb2:	74 33                	je     0x43dce7
43dcb4:	3d 00 01 00 00       	cmp    $0x100,%eax
43dcb9:	75 04                	jne    0x43dcbf
43dcbb:	84 d2                	test   %dl,%dl
43dcbd:	75 28                	jne    0x43dce7
43dcbf:	57                   	push   %edi
43dcc0:	ff 75 80             	push   -0x80(%ebp)
43dcc3:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
43dcc9:	ff 75 10             	push   0x10(%ebp)
43dccc:	ff 75 0c             	push   0xc(%ebp)
43dccf:	50                   	push   %eax
43dcd0:	e8 7b 02 00 00       	call   0x43df50
43dcd5:	83 c4 14             	add    $0x14,%esp
43dcd8:	33 ff                	xor    %edi,%edi
43dcda:	8b 10                	mov    (%eax),%edx
43dcdc:	89 55 0c             	mov    %edx,0xc(%ebp)
43dcdf:	8b 70 04             	mov    0x4(%eax),%esi
43dce2:	89 75 10             	mov    %esi,0x10(%ebp)
43dce5:	eb 06                	jmp    0x43dced
43dce7:	8b 75 10             	mov    0x10(%ebp),%esi
43dcea:	8b 55 0c             	mov    0xc(%ebp),%edx
43dced:	33 c0                	xor    %eax,%eax
43dcef:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
43dcf5:	0f be 84 05 74 ff ff 	movsbl -0x8c(%ebp,%eax,1),%eax
43dcfc:	ff
43dcfd:	83 e8 20             	sub    $0x20,%eax
43dd00:	0f 84 66 01 00 00    	je     0x43de6c
43dd06:	83 e8 04             	sub    $0x4,%eax
43dd09:	0f 84 42 01 00 00    	je     0x43de51
43dd0f:	83 e8 07             	sub    $0x7,%eax
43dd12:	0f 84 15 01 00 00    	je     0x43de2d
43dd18:	83 e8 4b             	sub    $0x4b,%eax
43dd1b:	74 0f                	je     0x43dd2c
43dd1d:	48                   	dec    %eax
43dd1e:	83 e8 01             	sub    $0x1,%eax
43dd21:	0f 84 66 01 00 00    	je     0x43de8d
43dd27:	e9 8f 01 00 00       	jmp    0x43debb
43dd2c:	85 db                	test   %ebx,%ebx
43dd2e:	75 26                	jne    0x43dd56
43dd30:	83 7d 38 10          	cmpl   $0x10,0x38(%ebp)
43dd34:	8d 45 24             	lea    0x24(%ebp),%eax
43dd37:	72 03                	jb     0x43dd3c
43dd39:	8b 45 24             	mov    0x24(%ebp),%eax
43dd3c:	ff 75 34             	push   0x34(%ebp)
43dd3f:	50                   	push   %eax
43dd40:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
43dd46:	56                   	push   %esi
43dd47:	52                   	push   %edx
43dd48:	50                   	push   %eax
43dd49:	e8 78 fc ff ff       	call   0x43d9c6
43dd4e:	83 c4 14             	add    $0x14,%esp
43dd51:	e9 5a 01 00 00       	jmp    0x43deb0
43dd56:	39 5d 34             	cmp    %ebx,0x34(%ebp)
43dd59:	77 6a                	ja     0x43ddc5
43dd5b:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
43dd61:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43dd64:	e8 9a b1 fe ff       	call   0x428f03
43dd69:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43dd6c:	e8 a3 02 00 00       	call   0x43e014
43dd71:	50                   	push   %eax
43dd72:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43dd75:	e8 89 b1 fe ff       	call   0x428f03
43dd7a:	8b c3                	mov    %ebx,%eax
43dd7c:	2b 45 34             	sub    0x34(%ebp),%eax
43dd7f:	50                   	push   %eax
43dd80:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
43dd86:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
43dd8c:	ff 75 10             	push   0x10(%ebp)
43dd8f:	ff 75 0c             	push   0xc(%ebp)
43dd92:	50                   	push   %eax
43dd93:	e8 b8 01 00 00       	call   0x43df50
43dd98:	8b c8                	mov    %eax,%ecx
43dd9a:	83 c4 14             	add    $0x14,%esp
43dd9d:	83 7d 38 10          	cmpl   $0x10,0x38(%ebp)
43dda1:	8b 01                	mov    (%ecx),%eax
43dda3:	89 45 0c             	mov    %eax,0xc(%ebp)
43dda6:	8b 41 04             	mov    0x4(%ecx),%eax
43dda9:	89 45 10             	mov    %eax,0x10(%ebp)
43ddac:	8d 45 24             	lea    0x24(%ebp),%eax
43ddaf:	72 03                	jb     0x43ddb4
43ddb1:	8b 45 24             	mov    0x24(%ebp),%eax
43ddb4:	ff 75 34             	push   0x34(%ebp)
43ddb7:	50                   	push   %eax
43ddb8:	ff 71 04             	push   0x4(%ecx)
43ddbb:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
43ddc1:	ff 31                	push   (%ecx)
43ddc3:	eb 83                	jmp    0x43dd48
43ddc5:	83 7d 38 10          	cmpl   $0x10,0x38(%ebp)
43ddc9:	8d 4d 24             	lea    0x24(%ebp),%ecx
43ddcc:	72 03                	jb     0x43ddd1
43ddce:	8b 4d 24             	mov    0x24(%ebp),%ecx
43ddd1:	8b 45 34             	mov    0x34(%ebp),%eax
43ddd4:	2b c3                	sub    %ebx,%eax
43ddd6:	50                   	push   %eax
43ddd7:	51                   	push   %ecx
43ddd8:	56                   	push   %esi
43ddd9:	52                   	push   %edx
43ddda:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
43dde0:	50                   	push   %eax
43dde1:	e8 e0 fb ff ff       	call   0x43d9c6
43dde6:	8b c8                	mov    %eax,%ecx
43dde8:	83 c4 14             	add    $0x14,%esp
43ddeb:	8b 01                	mov    (%ecx),%eax
43dded:	89 45 0c             	mov    %eax,0xc(%ebp)
43ddf0:	8b 41 04             	mov    0x4(%ecx),%eax
43ddf3:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43ddf6:	89 45 10             	mov    %eax,0x10(%ebp)
43ddf9:	e8 16 02 00 00       	call   0x43e014
43ddfe:	50                   	push   %eax
43ddff:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43de02:	e8 fc b0 fe ff       	call   0x428f03
43de07:	83 7d 38 10          	cmpl   $0x10,0x38(%ebp)
43de0b:	8d 4d 24             	lea    0x24(%ebp),%ecx
43de0e:	72 03                	jb     0x43de13
43de10:	8b 4d 24             	mov    0x24(%ebp),%ecx
43de13:	8b 45 34             	mov    0x34(%ebp),%eax
43de16:	03 c1                	add    %ecx,%eax
43de18:	53                   	push   %ebx
43de19:	2b c3                	sub    %ebx,%eax
43de1b:	50                   	push   %eax
43de1c:	ff 75 10             	push   0x10(%ebp)
43de1f:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
43de25:	ff 75 0c             	push   0xc(%ebp)
43de28:	e9 1b ff ff ff       	jmp    0x43dd48
43de2d:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
43de31:	0f 86 84 00 00 00    	jbe    0x43debb
43de37:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
43de3b:	8d 45 d8             	lea    -0x28(%ebp),%eax
43de3e:	72 03                	jb     0x43de43
43de40:	8b 45 d8             	mov    -0x28(%ebp),%eax
43de43:	6a 01                	push   $0x1
43de45:	50                   	push   %eax
43de46:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
43de4c:	e9 f5 fe ff ff       	jmp    0x43dd46
43de51:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
43de55:	8d 45 a8             	lea    -0x58(%ebp),%eax
43de58:	72 03                	jb     0x43de5d