4138db:	53                   	push   %ebx
4138dc:	6a 40                	push   $0x40
4138de:	68 b8 46 40 00       	push   $0x4046b8
4138e3:	53                   	push   %ebx
4138e4:	ff 75 fc             	push   -0x4(%ebp)
4138e7:	ff 15 28 c0 42 00    	call   *0x42c028
4138ed:	85 c0                	test   %eax,%eax
4138ef:	75 d9                	jne    0x4138ca
4138f1:	8b c3                	mov    %ebx,%eax
4138f3:	85 c0                	test   %eax,%eax
4138f5:	79 10                	jns    0x413907
4138f7:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4138fa:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4138fd:	85 f6                	test   %esi,%esi
4138ff:	74 06                	je     0x413907
413901:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
413907:	8b 45 fc             	mov    -0x4(%ebp),%eax
41390a:	85 c0                	test   %eax,%eax
41390c:	74 0b                	je     0x413919
41390e:	3b c7                	cmp    %edi,%eax
413910:	74 07                	je     0x413919
413912:	50                   	push   %eax
413913:	ff 15 44 c0 42 00    	call   *0x42c044
413919:	8b 45 f0             	mov    -0x10(%ebp),%eax
41391c:	8b 55 f4             	mov    -0xc(%ebp),%edx
41391f:	5f                   	pop    %edi
413920:	5e                   	pop    %esi
413921:	5b                   	pop    %ebx
413922:	c9                   	leave
413923:	c2 14 00             	ret    $0x14
413926:	8b ff                	mov    %edi,%edi
413928:	55                   	push   %ebp
413929:	8b ec                	mov    %esp,%ebp
41392b:	83 ec 0c             	sub    $0xc,%esp
41392e:	53                   	push   %ebx
41392f:	56                   	push   %esi
413930:	57                   	push   %edi
413931:	8d 45 fc             	lea    -0x4(%ebp),%eax
413934:	33 ff                	xor    %edi,%edi
413936:	50                   	push   %eax
413937:	68 01 01 00 00       	push   $0x101
41393c:	57                   	push   %edi
41393d:	8b d9                	mov    %ecx,%ebx
41393f:	89 7d f8             	mov    %edi,-0x8(%ebp)
413942:	52                   	push   %edx
413943:	53                   	push   %ebx
413944:	be 05 40 00 80       	mov    $0x80004005,%esi
413949:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41394c:	ff 15 48 c0 42 00    	call   *0x42c048
413952:	85 c0                	test   %eax,%eax
413954:	74 3e                	je     0x413994
413956:	8b c8                	mov    %eax,%ecx
413958:	e8 4d 7c ff ff       	call   0x40b5aa
41395d:	8b f0                	mov    %eax,%esi
41395f:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
413965:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
41396b:	0f 84 43 01 00 00    	je     0x413ab4
413971:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
413975:	0f 84 39 01 00 00    	je     0x413ab4
41397b:	56                   	push   %esi
41397c:	ff 71 14             	push   0x14(%ecx)
41397f:	ba 90 28 40 00       	mov    $0x402890,%edx
413984:	ff 71 10             	push   0x10(%ecx)
413987:	6a 67                	push   $0x67
413989:	59                   	pop    %ecx
41398a:	e8 3f 3a ff ff       	call   0x4073ce
41398f:	e9 20 01 00 00       	jmp    0x413ab4
413994:	8d 45 f8             	lea    -0x8(%ebp),%eax
413997:	50                   	push   %eax
413998:	57                   	push   %edi
413999:	57                   	push   %edi
41399a:	6a 02                	push   $0x2
41399c:	58                   	pop    %eax
41399d:	50                   	push   %eax
41399e:	ff 75 08             	push   0x8(%ebp)
4139a1:	57                   	push   %edi
4139a2:	ff 75 fc             	push   -0x4(%ebp)
4139a5:	ff 15 28 c0 42 00    	call   *0x42c028
4139ab:	85 c0                	test   %eax,%eax
4139ad:	74 2f                	je     0x4139de
4139af:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4139b2:	85 c9                	test   %ecx,%ecx
4139b4:	74 1f                	je     0x4139d5
4139b6:	39 7d 14             	cmp    %edi,0x14(%ebp)
4139b9:	74 0f                	je     0x4139ca
4139bb:	8b 55 10             	mov    0x10(%ebp),%edx
4139be:	e8 7e fc ff ff       	call   0x413641
4139c3:	8b f0                	mov    %eax,%esi
4139c5:	e9 ea 00 00 00       	jmp    0x413ab4
4139ca:	51                   	push   %ecx
4139cb:	8b 4d 10             	mov    0x10(%ebp),%ecx
4139ce:	e8 e5 86 ff ff       	call   0x40c0b8
4139d3:	eb ee                	jmp    0x4139c3
4139d5:	8b c8                	mov    %eax,%ecx
4139d7:	e8 ce 7b ff ff       	call   0x40b5aa
4139dc:	eb e5                	jmp    0x4139c3
4139de:	8b 45 f8             	mov    -0x8(%ebp),%eax
4139e1:	33 c9                	xor    %ecx,%ecx
4139e3:	d1 e8                	shr    $1,%eax
4139e5:	6a 02                	push   $0x2
4139e7:	40                   	inc    %eax
4139e8:	5a                   	pop    %edx
4139e9:	f7 e2                	mul    %edx
4139eb:	0f 90 c1             	seto   %cl
4139ee:	f7 d9                	neg    %ecx
4139f0:	0b c8                	or     %eax,%ecx
4139f2:	51                   	push   %ecx
4139f3:	e8 1a 43 01 00       	call   0x427d12
4139f8:	8b f8                	mov    %eax,%edi
4139fa:	59                   	pop    %ecx
4139fb:	85 ff                	test   %edi,%edi
4139fd:	75 32                	jne    0x413a31
4139ff:	a1 00 b0 42 00       	mov    0x42b000,%eax
413a04:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413a09:	0f 84 a5 00 00 00    	je     0x413ab4
413a0f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413a13:	0f 84 9b 00 00 00    	je     0x413ab4
413a19:	ff 70 14             	push   0x14(%eax)
413a1c:	ba 90 28 40 00       	mov    $0x402890,%edx
413a21:	ff 70 10             	push   0x10(%eax)
413a24:	6a 68                	push   $0x68
413a26:	59                   	pop    %ecx
413a27:	e8 84 39 ff ff       	call   0x4073b0
413a2c:	e9 83 00 00 00       	jmp    0x413ab4
413a31:	8d 45 f8             	lea    -0x8(%ebp),%eax
413a34:	50                   	push   %eax
413a35:	57                   	push   %edi
413a36:	6a 00                	push   $0x0
413a38:	6a 02                	push   $0x2
413a3a:	58                   	pop    %eax
413a3b:	50                   	push   %eax
413a3c:	ff 75 08             	push   0x8(%ebp)
413a3f:	6a 00                	push   $0x0
413a41:	ff 75 fc             	push   -0x4(%ebp)
413a44:	ff 15 28 c0 42 00    	call   *0x42c028
413a4a:	85 c0                	test   %eax,%eax
413a4c:	74 31                	je     0x413a7f
413a4e:	8b c8                	mov    %eax,%ecx
413a50:	e8 55 7b ff ff       	call   0x40b5aa
413a55:	8b f0                	mov    %eax,%esi
413a57:	a1 00 b0 42 00       	mov    0x42b000,%eax
413a5c:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413a61:	74 4a                	je     0x413aad
413a63:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413a67:	74 44                	je     0x413aad
413a69:	56                   	push   %esi
413a6a:	ff 70 14             	push   0x14(%eax)
413a6d:	ff 70 10             	push   0x10(%eax)
413a70:	6a 69                	push   $0x69
413a72:	ba 90 28 40 00       	mov    $0x402890,%edx
413a77:	59                   	pop    %ecx
413a78:	e8 51 39 ff ff       	call   0x4073ce
413a7d:	eb 2e                	jmp    0x413aad
413a7f:	8b 4d 10             	mov    0x10(%ebp),%ecx
413a82:	57                   	push   %edi
413a83:	e8 30 86 ff ff       	call   0x40c0b8
413a88:	8b f0                	mov    %eax,%esi
413a8a:	85 f6                	test   %esi,%esi
413a8c:	79 1d                	jns    0x413aab
413a8e:	a1 00 b0 42 00       	mov    0x42b000,%eax
413a93:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413a98:	74 13                	je     0x413aad
413a9a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413a9e:	74 0d                	je     0x413aad
413aa0:	56                   	push   %esi
413aa1:	ff 70 14             	push   0x14(%eax)
413aa4:	ff 70 10             	push   0x10(%eax)
413aa7:	6a 6a                	push   $0x6a
413aa9:	eb c7                	jmp    0x413a72
413aab:	33 f6                	xor    %esi,%esi
413aad:	57                   	push   %edi
413aae:	e8 88 42 01 00       	call   0x427d3b
413ab3:	59                   	pop    %ecx
413ab4:	8b 45 fc             	mov    -0x4(%ebp),%eax
413ab7:	85 c0                	test   %eax,%eax
413ab9:	74 0b                	je     0x413ac6
413abb:	3b c3                	cmp    %ebx,%eax
413abd:	74 07                	je     0x413ac6
413abf:	50                   	push   %eax
413ac0:	ff 15 44 c0 42 00    	call   *0x42c044
413ac6:	5f                   	pop    %edi
413ac7:	8b c6                	mov    %esi,%eax
413ac9:	5e                   	pop    %esi
413aca:	5b                   	pop    %ebx
413acb:	c9                   	leave
413acc:	c2 10 00             	ret    $0x10
413acf:	8b ff                	mov    %edi,%edi
413ad1:	55                   	push   %ebp
413ad2:	8b ec                	mov    %esp,%ebp
413ad4:	56                   	push   %esi
413ad5:	33 f6                	xor    %esi,%esi
413ad7:	8b c6                	mov    %esi,%eax
413ad9:	85 c9                	test   %ecx,%ecx
413adb:	74 30                	je     0x413b0d
413add:	ba 00 08 00 00       	mov    $0x800,%edx
413ae2:	8b c2                	mov    %edx,%eax
413ae4:	66 39 31             	cmp    %si,(%ecx)
413ae7:	74 08                	je     0x413af1
413ae9:	83 c1 02             	add    $0x2,%ecx
413aec:	83 e8 01             	sub    $0x1,%eax
413aef:	75 f3                	jne    0x413ae4
413af1:	8b c8                	mov    %eax,%ecx
413af3:	f7 d9                	neg    %ecx
413af5:	1b c9                	sbb    %ecx,%ecx
413af7:	2b d0                	sub    %eax,%edx
413af9:	81 e1 a9 ff f8 7f    	and    $0x7ff8ffa9,%ecx
413aff:	81 c1 57 00 07 80    	add    $0x80070057,%ecx
413b05:	f7 d8                	neg    %eax
413b07:	1b c0                	sbb    %eax,%eax
413b09:	23 c2                	and    %edx,%eax
413b0b:	eb 05                	jmp    0x413b12
413b0d:	b9 57 00 07 80       	mov    $0x80070057,%ecx
413b12:	8b 55 08             	mov    0x8(%ebp),%edx
413b15:	85 d2                	test   %edx,%edx
413b17:	74 0c                	je     0x413b25
413b19:	85 c9                	test   %ecx,%ecx
413b1b:	78 06                	js     0x413b23
413b1d:	03 c0                	add    %eax,%eax
413b1f:	89 02                	mov    %eax,(%edx)
413b21:	eb 02                	jmp    0x413b25
413b23:	89 32                	mov    %esi,(%edx)
413b25:	8b c1                	mov    %ecx,%eax
413b27:	5e                   	pop    %esi
413b28:	5d                   	pop    %ebp
413b29:	c2 04 00             	ret    $0x4
413b2c:	8b ff                	mov    %edi,%edi
413b2e:	55                   	push   %ebp
413b2f:	8b ec                	mov    %esp,%ebp
413b31:	6a 00                	push   $0x0
413b33:	6a 04                	push   $0x4
413b35:	8d 45 10             	lea    0x10(%ebp),%eax
413b38:	50                   	push   %eax
413b39:	6a 6d                	push   $0x6d
413b3b:	68 10 2b 40 00       	push   $0x402b10
413b40:	6a 2b                	push   $0x2b
413b42:	ff 75 0c             	push   0xc(%ebp)
413b45:	ff 75 08             	push   0x8(%ebp)
413b48:	ff 15 68 c4 42 00    	call   *0x42c468
413b4e:	83 c4 20             	add    $0x20,%esp
413b51:	5d                   	pop    %ebp
413b52:	c2 0c 00             	ret    $0xc
413b55:	8b ff                	mov    %edi,%edi
413b57:	55                   	push   %ebp
413b58:	8b ec                	mov    %esp,%ebp
413b5a:	83 ec 44             	sub    $0x44,%esp
413b5d:	53                   	push   %ebx
413b5e:	56                   	push   %esi
413b5f:	57                   	push   %edi
413b60:	33 ff                	xor    %edi,%edi
413b62:	8d 45 fc             	lea    -0x4(%ebp),%eax
413b65:	50                   	push   %eax
413b66:	8d 45 f0             	lea    -0x10(%ebp),%eax
413b69:	89 7d dc             	mov    %edi,-0x24(%ebp)
413b6c:	50                   	push   %eax
413b6d:	8b f1                	mov    %ecx,%esi
413b6f:	89 7d e0             	mov    %edi,-0x20(%ebp)
413b72:	57                   	push   %edi
413b73:	56                   	push   %esi
413b74:	89 7d d4             	mov    %edi,-0x2c(%ebp)
413b77:	89 7d d8             	mov    %edi,-0x28(%ebp)
413b7a:	89 7d e4             	mov    %edi,-0x1c(%ebp)
413b7d:	89 7d e8             	mov    %edi,-0x18(%ebp)
413b80:	89 7d f4             	mov    %edi,-0xc(%ebp)
413b83:	89 7d fc             	mov    %edi,-0x4(%ebp)
413b86:	89 7d f0             	mov    %edi,-0x10(%ebp)
413b89:	ff 15 f4 c0 42 00    	call   *0x42c0f4
413b8f:	85 c0                	test   %eax,%eax
413b91:	78 0d                	js     0x413ba0
413b93:	f7 45 fc 00 00 00 80 	testl  $0x80000000,-0x4(%ebp)
413b9a:	0f 85 78 01 00 00    	jne    0x413d18
413ba0:	8d 45 cc             	lea    -0x34(%ebp),%eax
413ba3:	50                   	push   %eax
413ba4:	8d 45 c4             	lea    -0x3c(%ebp),%eax
413ba7:	50                   	push   %eax
413ba8:	8d 45 bc             	lea    -0x44(%ebp),%eax
413bab:	50                   	push   %eax
413bac:	8d 45 dc             	lea    -0x24(%ebp),%eax
413baf:	50                   	push   %eax
413bb0:	56                   	push   %esi
413bb1:	ff 15 f0 c0 42 00    	call   *0x42c0f0
413bb7:	85 c0                	test   %eax,%eax
413bb9:	75 42                	jne    0x413bfd
413bbb:	ff 15 18 c2 42 00    	call   *0x42c218
413bc1:	8b c8                	mov    %eax,%ecx
413bc3:	e8 e2 79 ff ff       	call   0x40b5aa
413bc8:	8b c8                	mov    %eax,%ecx
413bca:	a1 00 b0 42 00       	mov    0x42b000,%eax
413bcf:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413bd4:	0f 84 67 01 00 00    	je     0x413d41
413bda:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413bde:	0f 84 3c 01 00 00    	je     0x413d20
413be4:	51                   	push   %ecx
413be5:	ff 70 14             	push   0x14(%eax)
413be8:	ff 70 10             	push   0x10(%eax)
413beb:	6a 20                	push   $0x20
413bed:	ba 10 2b 40 00       	mov    $0x402b10,%edx
413bf2:	59                   	pop    %ecx
413bf3:	e8 d6 37 ff ff       	call   0x4073ce
413bf8:	e9 1e 01 00 00       	jmp    0x413d1b
413bfd:	8d 45 cc             	lea    -0x34(%ebp),%eax
413c00:	50                   	push   %eax
413c01:	8d 45 c4             	lea    -0x3c(%ebp),%eax
413c04:	50                   	push   %eax
413c05:	8d 45 bc             	lea    -0x44(%ebp),%eax
413c08:	50                   	push   %eax
413c09:	8d 45 d4             	lea    -0x2c(%ebp),%eax
413c0c:	50                   	push   %eax
413c0d:	ff 15 70 c2 42 00    	call   *0x42c270
413c13:	50                   	push   %eax
413c14:	ff 15 f0 c0 42 00    	call   *0x42c0f0
413c1a:	85 c0                	test   %eax,%eax
413c1c:	75 34                	jne    0x413c52
413c1e:	ff 15 18 c2 42 00    	call   *0x42c218
413c24:	8b c8                	mov    %eax,%ecx
413c26:	e8 7f 79 ff ff       	call   0x40b5aa
413c2b:	8b c8                	mov    %eax,%ecx
413c2d:	a1 00 b0 42 00       	mov    0x42b000,%eax
413c32:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413c37:	0f 84 04 01 00 00    	je     0x413d41
413c3d:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413c41:	0f 84 d9 00 00 00    	je     0x413d20
413c47:	51                   	push   %ecx
413c48:	ff 70 14             	push   0x14(%eax)
413c4b:	ff 70 10             	push   0x10(%eax)
413c4e:	6a 21                	push   $0x21
413c50:	eb 9b                	jmp    0x413bed
413c52:	8b 45 dc             	mov    -0x24(%ebp),%eax
413c55:	8b 75 e0             	mov    -0x20(%ebp),%esi
413c58:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
413c5b:	89 45 f8             	mov    %eax,-0x8(%ebp)
413c5e:	8b 45 d8             	mov    -0x28(%ebp),%eax
413c61:	89 45 ec             	mov    %eax,-0x14(%ebp)
413c64:	8d 45 e4             	lea    -0x1c(%ebp),%eax
413c67:	50                   	push   %eax
413c68:	ff 15 d8 c2 42 00    	call   *0x42c2d8
413c6e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
413c71:	2b 45 f8             	sub    -0x8(%ebp),%eax
413c74:	8b 4d e8             	mov    -0x18(%ebp),%ecx
413c77:	8b 55 ec             	mov    -0x14(%ebp),%edx
413c7a:	1b ce                	sbb    %esi,%ecx
413c7c:	3b d6                	cmp    %esi,%edx
413c7e:	72 11                	jb     0x413c91
413c80:	77 05                	ja     0x413c87
413c82:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
413c85:	76 0a                	jbe    0x413c91
413c87:	2b 5d e4             	sub    -0x1c(%ebp),%ebx
413c8a:	1b 55 e8             	sbb    -0x18(%ebp),%edx
413c8d:	03 c3                	add    %ebx,%eax
413c8f:	13 ca                	adc    %edx,%ecx
413c91:	57                   	push   %edi